InfluxDB
GreptimeDB supports Influxdb's line protocol. You can use http post to insert metrics into GreptimeDB.
Currently in GreptimeDB, InfluxDB line protocol is handled only in Frontend. So you also have to start Frontend.
HTTP
GreptimeDB supports inserting InfluxDB metrics via HTTP endpoints. We use the request format described in InfluxDB line protocol.
The http endpoint in GreptimeDB for handling metrics is /influxdb/write.
Note: remember to prefix the path with GreptimeDB's http API version,
v1
Create a database
CREATE DATABASE influxdb;
Insert data
Use curl to insert metrics:
curl -i -XPOST "127.0.0.1:4000/v1/influxdb/write?db=influxdb" --data-binary 'monitor,host=host1 cpu=66.6,memory=1024 1663840496100023100
monitor,host=host2 cpu=66.7,memory=1025 1663840496200010300
monitor,host=host3 cpu=66.8,memory=1026 1663840496300003400
monitor,host=host4 cpu=66.9,memory=1027 1663840496400340000'
We can always query the metrics with SQL:
SELECT * FROM influxdb.monitor;
+-------+------+--------+---------------------+
| host | cpu | memory | ts |
+-------+------+--------+---------------------+
| host1 | 66.6 | 1024 | 2022-09-22 09:54:56 |
| host2 | 66.7 | 1025 | 2022-09-22 09:54:56 |
| host3 | 66.8 | 1026 | 2022-09-22 09:54:56 |
| host4 | 66.9 | 1027 | 2022-09-22 09:54:56 |
+-------+------+--------+---------------------+
4 rows in set (0.02 sec)
The /influxdb/write supports query params including:
dbspecify which db to write,publicby default.precision, precision of timestamps in the line protocol. Acceptsns(nanoseconds),us(microseconds),ms(milliseconds) ands(seconds), nanoseconds by default.
PING
Additionally, GreptimeDB also provides support for the ping and health APIs of InfluxDB.
Use curl to request ping API.
curl -i "127.0.0.1:4000/v1/influxdb/ping"
HTTP/1.1 204 No Content
date: Wed, 22 Feb 2023 02:29:44 GMT
Use curl to request health API.
curl -i "127.0.0.1:4000/v1/influxdb/health"
HTTP/1.1 200 OK
content-length: 0
date: Wed, 22 Feb 2023 02:30:46 GMT
For more information about the line protocol, please refer to the InfluxDB line protocol tutorial.
