As shown in the "InfluxDB Line Protocol + GreptimeDB + Web UI" demo, GreptimeDB can be used as a server acceptings InfluxDB line protocol write calls. This allows us to use GreptimeDB as a Telegraf output destination with its InfluxDB output plugin.
GreptimeDB supports both InfluxDB V1 and V2 ingestion APIs. To simplify the configure, since GreptimeDB doesn't use the "organization" concept that is required in V2, this demo uses the InfluxDB v1.x output plugin.
- Obtain a free Greptime service from GreptimeCloud.
- Click the "Connection Information" button and find the connection string.
- Export the necessary environment variables:
export GREPTIME_HOST="<host>"
export GREPTIME_DATABASE="<dbname>"
export GREPTIME_USERNAME="<username>"
export GREPTIME_PASSWORD="<password>"
If you don't have Telegraf installed, head to its Install page for a guidance. For example, you can install Telegraf with Homebrew by:
brew install telegraf
You can generate a config file by:
telegraf --sample-config > telegraf.conf
Then, you should modify the [[outputs.influxdb]]
section to configure GreptimeDB's connection info:
[[outputs.influxdb]]
urls = ["https://${GREPTIME_HOST}/v1/influxdb/"]
database = "${GREPTIME_DATABASE}"
username = "${GREPTIME_USERNAME}"
password = "${GREPTIME_PASSWORD}"
skip_database_creation = true
Now you're configured. Choose any input plugin to start collecting statistics.
A sample completed config can be found at telegraf.conf. It configures the GreptimeDB service as if it's an InfluxDB V1 server, and configures default host input statistics (CPUs, processes, memories, disks, etc.).
Let's start the telegraf instance with this config:
# cd /path/to/telegraf-ingestion/
telegraf --config telegraf.conf
You can make sample queries from the Web Dashboard:
You can also build charts from the statstics for visualization: