---
title: Use Telegraf to write data
description: Use Telegraf to collect and write data to InfluxDB 3 Core.
url: https://docs.influxdata.com/influxdb3/core/write-data/use-telegraf/
estimated_tokens: 753
product: InfluxDB 3 Core
version: core
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb3/core/write-data/use-telegraf/
date: '2025-01-30T12:37:12-07:00'
lastmod: '2025-01-30T12:37:12-07:00'
---

[Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) is a data
collection agent for collecting and reporting metrics.
Its vast library of input plugins and “plug-and-play” architecture lets you
quickly and easily collect metrics from many different sources.

For a list of available plugins, see [Telegraf plugins](/telegraf/v1/plugins/).

#### Requirements

* **Telegraf 1.38 or greater** to use the `influxdb_v3` output plugin.
  Earlier versions of Telegraf (1.9.2 or greater) can use the[`influxdb_v2`](/telegraf/v1/output-plugins/influxdb_v2/) or[`influxdb`](/telegraf/v1/output-plugins/influxdb/) (v1) output plugins to
  write to InfluxDB 3 Core[compatibility APIs](/influxdb3/core/write-data/http-api/compatibility-apis/).*For information about installing Telegraf, see the[Telegraf Installation instructions](/telegraf/v1/install/).*

## Basic Telegraf usage

Telegraf is a plugin-based agent with plugins that are enabled and configured in
your Telegraf configuration file (`telegraf.conf`).
Each Telegraf configuration must **have at least one input plugin and one output plugin**.

Telegraf input plugins retrieve metrics from different sources.
Telegraf output plugins write those metrics to a destination.

Use the [`outputs.influxdb_v3`](/telegraf/v1/plugins/#output-influxdb_v3) plugin
to connect to the InfluxDB 3 Core native write API and write metrics
collected by Telegraf to InfluxDB 3 Core.

```toml
# ...

[[outputs.influxdb_v3]]
  urls = ["http://localhost:8181"]
  token = "AUTH_TOKEN"
  database = "DATABASE_NAME"

# ...
```

Replace the following:

* `AUTH_TOKEN`:
  your InfluxDB 3 Core [token](/influxdb3/core/admin/tokens/).*Store this in a secret store or environment variable to avoid exposing the raw token string.*
* `DATABASE_NAME`:
  the name of the database to write data to

*See how to [Configure Telegraf to write to InfluxDB 3 Core](/influxdb3/core/write-data/use-telegraf/configure/).*

## Use Telegraf with InfluxDB

### [Configure Telegraf to write to InfluxDB 3 Core](/influxdb3/core/write-data/use-telegraf/configure/)

Update existing or create new Telegraf configurations to use the `influxdb_v3` output plugin to write to InfluxDB 3 Core. Start Telegraf using the custom configuration.

### [Use Telegraf to dual write to InfluxDB](/influxdb3/core/write-data/use-telegraf/dual-write/)

Configure Telegraf to write data to multiple InfluxDB instances or clusters simultaneously.

### [Use Telegraf to write CSV data](/influxdb3/core/write-data/use-telegraf/csv/)

Use the Telegraf `file` input plugin to read and parse CSV data into [line protocol](/influxdb3/core/reference/syntax/line-protocol/) and write it to InfluxDB 3 Core.

![InfluxDB University](/svgs/influxdbu-full-white.svg)

#### Data Collection with Telegraf

Learn how to use Telegraf to make data time series data collection easy in this **free** InfluxDB University course.

[Take the course](https://university.influxdata.com/courses/data-collection-with-telegraf-tutorial/)
