InfluxDB Docs

Write data to InfluxDB

Collect and write time series data to InfluxDB using line protocol, Telegraf, data scrapers, the InfluxDB v2 API, influx command line interface (CLI), the InfluxDB user interface (UI), and client libraries.

Requirements to write data

To write data to InfluxDB, you must have an organization, bucket, authentication token, and data formatted in line protocol.

Organization

The organization in which to write data. Use your organization name or ID.

Bucket

The bucket in which to write data. Use the bucket name or ID. The bucket must belong to the specified organization.

Precision

The precision of timestamps provided in the line protocol. Default timestamp precision is in nanoseconds.

If the precision of the timestamps is anything other than nanoseconds (ns), you must specify the precision in your write request. InfluxDB accepts the following precisions:

  • ns - Nanoseconds
  • us - Microseconds
  • ms - Milliseconds
  • s - Seconds

Authentication token

All InfluxDB write interactions require an authentication token.

Line protocol

Use line protocol to write data points to InfluxDB. Each line represents a data point. Each point requires a measurement and field set but can also include a tag set and a timestamp.

If a data point does not include a timestamp, InfluxDB uses the system time (UTC) of its host machine when it receives the data point.

Example line protocol
mem,host=host1 used_percent=23.43234543 1556892576842902000
cpu,host=host1 usage_user=3.8234,usage_system=4.23874 1556892726597397000
mem,host=host1 used_percent=21.83599203 1556892777007291000

For details about line protocol, see the Line protocol reference .

Write data using the InfluxDB v2 API

Use the InfluxDB API /write endpoint to write data to InfluxDB. Include the following in your request:

RequirementInclude by
OrganizationUse the org query parameter in your request URL.
BucketUse the bucket query parameter in your request URL.
PrecisionUse the precision query parameter in your request URL.
Authentication tokenUse the Authorization: Token header.
Line protocolPass as plain text in your request body.
Example API write request
curl "http://localhost:9999/api/v2/write?org=YOUR_ORG&bucket=YOUR_BUCKET&precision=s" \
  --header "Authorization: Token YOURAUTHTOKEN" \
  --data-raw "mem,host=host1 used_percent=23.43234543 1556896326"

Write data using the influx CLI

Use the influx write command to write data to InfluxDB. Include the following in your command:

RequirementInclude by
OrganizationUse the -o,--org, or --org-id flags.
BucketUse the -b, --bucket, or --bucket-id flags.
PrecisionUse the the -p, --precision flag.
Authentication tokenSet the INFLUX_TOKEN environment variable or use the t, --token flag.
Line protocolWrite a single line as a string or pass a file path prefixed with @.
Example influx write commands
# Write a single data point
influx write -b bucketName -o orgName -p s 'myMeasurement,host=myHost testField="testData" 1556896326'

# Write line protocol from a file
influx write -b bucketName -o orgName -p s @/path/to/line-protocol.txt

Write data in the InfluxDB UI

  1. Click Load Data in the left navigation menu.

  2. Select Buckets.

  3. Under the bucket you want to write data to, click Add Data.

  4. Select from the following options:


    Configure Telegraf Agent

    1. To configure a Telegraf agent, see Automatically create a Telegraf configuration.

    Line Protocol

    1. Select Upload File or Enter Manually.
      • Upload File: Select the time precision of your data. Drag and drop the line protocol file into the UI or click to select the file from your file manager.
      • Enter Manually: Select the time precision of your data. Manually enter line protocol.
    2. Click Continue. A message indicates whether data is successfully written to InfluxDB.
    3. To add more data or correct line protocol, click Previous.
    4. Click Finish.

    Scrape Metrics

    1. To scrape metrics, see Create a scraper.

      InfluxDB Cloud 2.0 does not support scrapers.

Other ways to write data to InfluxDB

InfluxDB client libraries

Use language-specific client libraries to integrate with the InfluxDB v2 API. See Client libraries reference for more information.