4.9 KiB
title | description | menu | weight | related | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Use Telegraf to write CSV data to InfluxDB | Use the Telegraf `file` input plugin to read and parse CSV data into [line protocol](/influxdb3/cloud-serverless/reference/syntax/line-protocol/) and write it to InfluxDB. |
|
203 |
|
Use the Telegraf file
input plugin to read and parse CSV data into
line protocol
and write it to InfluxDB.
Telegraf is a plugin-based agent that collects
metrics from different sources and writes them to specified destinations.
Configure Telegraf to read CSV files
- Add and enable the
inputs.file
plugin in your Telegraf configuration file. - Use the
files
option to specify the list of CSV files to read. CSV files must be accessible by the Telegraf agent. - Set the
data_format
option tocsv
. - Define all other
csv_
configuration options specific to the CSV data you want to write to InfluxDB. For detailed information about each of the CSV format configuration options, see CSV input data format.
[[inputs.file]]
files = ["/path/to/example.csv"]
data_format = "csv"
csv_header_row_count = 0
csv_column_names = []
csv_column_types = []
csv_skip_rows = 0
csv_metadata_rows = 0
csv_metadata_separators = [":", "="]
csv_metadata_trim_set = ""
csv_skip_columns = 0
csv_delimiter = ","
csv_comment = ""
csv_trim_space = false
csv_tag_columns = []
csv_measurement_column = ""
csv_timestamp_column = ""
csv_timestamp_format = ""
csv_timezone = ""
csv_skip_values = []
csv_skip_errors = false
csv_reset_mode = "none"
Configure Telegraf to write to InfluxDB
To send data to {{< product-name >}}, enable the
influxdb_v2
output plugin
in the telegraf.conf
.
{{% code-placeholders "BUCKET_NAME" %}}
[[outputs.influxdb_v2]]
urls = ["https://{{< influxdb/host >}}"]
# INFLUX_TOKEN is an environment variable you created for your API WRITE token
token = "${INFLUX_TOKEN}"
organization = ""
bucket = "BUCKET_NAME"
{{% /code-placeholders %}}
Replace the following:
BUCKET_NAME
: the name of the InfluxDB bucket to write data to
To learn more about configuration options, see Enable and configure the InfluxDB v2 output plugin.
{{< expand-wrapper >}} {{% expand "View full example Telegraf configuration file" %}}
{{% code-placeholders "BUCKET_NAME" %}}
[[inputs.file]]
files = ["/path/to/example.csv"]
data_format = "csv"
csv_header_row_count = 0
csv_column_names = []
csv_column_types = []
csv_skip_rows = 0
csv_metadata_rows = 0
csv_metadata_separators = [":", "="]
csv_metadata_trim_set = ""
csv_skip_columns = 0
csv_delimiter = ","
csv_comment = ""
csv_trim_space = false
csv_tag_columns = []
csv_measurement_column = ""
csv_timestamp_column = ""
csv_timestamp_format = ""
csv_timezone = ""
csv_skip_values = []
csv_skip_errors = false
csv_reset_mode = "none"
[[outputs.influxdb_v2]]
urls = ["https://{{< influxdb/host >}}"]
# INFLUX_TOKEN is an environment variable you created for your API WRITE token
token = "{$INFLUX_TOKEN}"
organization = ""
bucket = "BUCKET_NAME"
content_encoding = "gzip"
{{% /code-placeholders %}}
Replace the following:
BUCKET_NAME
: the name of the InfluxDB bucket to write data to
INFLUX_TOKEN
is an environment variable you created in the Setup instructions of the Get Started tutorial.
{{% /expand %}} {{< /expand-wrapper >}}
Restart the Telegraf agent to apply the configuration change and write the CSV data to InfluxDB.
Other Telegraf configuration options
The preceding examples describe Telegraf configurations necessary for writing to {{% product-name %}}. The output plugin provides several other options for configuring the Telegraf client:
influx_uint_support
: supported by the InfluxDB 3 storage engine.- See
influxdb_v2
plugin options on GitHub.