Telegraf is a Go-based, MIT-licensed open-source agent that collects, processes, aggregates, and writes metrics, logs, and other arbitrary data, and it is aimed at engineers who run their own monitoring and observability pipelines.
What it is
Telegraf is a plugin-driven data collection agent maintained under the InfluxData organisation. It runs as a single process that reads data from configured inputs on an interval, passes that data through optional processors and aggregators, and writes the result to one or more configured outputs on a flush interval. More than 300 plugins ship with the project, spanning system monitoring, cloud services, message passing, industrial device protocols, and generic transports. Configuration lives in TOML, which keeps the setup explicit and readable rather than requiring code to wire a pipeline together.
The concrete problem it solves is the collection tier of a metrics pipeline. Instead of writing and maintaining a bespoke scraper or shipper for every source, a user declares which inputs and outputs they want in TOML and lets the agent handle scheduling, buffering, and delivery. It replaces hand-rolled collection scripts and per-source exporters in the monitoring ecosystem, and it also covers the log side through inputs such as File, Tail, and Directory Monitor. Where a user needs behaviour no plugin provides, the project supports user-defined code to collect, transform, and transmit data.
Key capabilities
- Ships over 300 plugins covering inputs, processors, aggregators, and outputs, including system monitoring for CPU, Memory, Disk, Network, SMART, Docker, and Nvidia SMI.
- Reads industrial and device data through OPC UA and Modbus plugins.
- Consumes messaging systems with AMQP, Kafka, and MQTT plugins, and exposes Prometheus and OpenTelemetry monitoring integrations.
- Collects networking telemetry via Cisco Telemetry MDT and gNMI.
- Covers universal transports and stores with Exec, HTTP, HTTP Listener, SNMP, and SQL plugins.
- Handles logs through File, Tail, and Directory Monitor inputs.
- Compiles into a standalone static binary with no external dependencies, and is configured entirely through TOML.
Who uses it and how
- Infrastructure teams that need one agent on every host to gather CPU, memory, disk, network, Docker, and SMART metrics without installing a separate collector per source.
- Platform and SRE groups running Kafka, MQTT, or AMQP pipelines that must bridge broker data into a time-series store or another sink.
- Industrial and operational technology teams pulling device data over OPC UA or Modbus into the same monitoring stack as their server metrics.
- Networking teams ingesting streaming telemetry from Cisco devices via Telemetry MDT or gNMI.
- Windows estates, using the Event Log, Management Instrumentation, and Performance Counters inputs alongside the same TOML configuration model used elsewhere.
Getting started
Install from the install guide, which covers binary builds, Docker images, RPM and DEB packages, and other builds, then follow the quick start to define a TOML configuration and pass it to the agent. A Docker image is published as library/telegraf on Docker Hub.
How it compares
The facts provided name no comparable tools and no list of paid products this project replaces, so Telegraf stands alone in this registry.
When to use it — and when not to
A self-hoster operates the agent itself, its TOML configuration, and the delivery path to whichever outputs are configured, so the operational burden is the pipeline rather than a database. Teams that want a hosted, configuration-free collection service, or that only need a narrow single-purpose exporter, should look elsewhere instead of adopting a general agent. The project is actively maintained with a recent push, but the documentation is spread across per-plugin READMEs under the plugins directory, so users should expect to read individual plugin documentation rather than one consolidated reference.
project readme (upstream, from github) — read inline
Telegraf

Telegraf is an agent for collecting, processing, aggregating, and writing
metrics, logs, and other arbitrary data.
- Offers a comprehensive suite of over 300 plugins, covering a wide range of
functionalities including system monitoring, cloud services, and message
passing
- Enables the integration of user-defined code to collect, transform, and
transmit data efficiently
- Compiles into a standalone static binary without any external dependencies,
ensuring a streamlined deployment process
- Utilizes TOML for configuration, providing a user-friendly and unambiguous
setup experience
- Developed with contributions from a diverse community of over 1,200
contributors
Users can choose plugins from a wide range of topics, including but not limited
to:
- Devices: OPC UA, Modbus
- Logs: File, Tail, Directory Monitor
- Messaging: AMQP, Kafka, MQTT
- Monitoring: OpenTelemetry, Prometheus
- Networking: Cisco TelemetryMDT, gNMI
- System monitoring: CPU, Memory, Disk, Network, SMART,
Docker, Nvidia SMI, etc.
- Universal: Exec, HTTP, HTTP Listener, SNMP, SQL
- Windows: Event Log, Management Instrumentation,
Performance Counters
🔨 Installation
For binary builds, Docker images, RPM & DEB packages, and other builds of
Telegraf, please see the install guide.
See the releases documentation for details on versioning
and when releases are made.
💻 Usage
Users define a TOML configuration with the plugins and settings they wish to
use, then pass that configuration to Telegraf. The Telegraf agent then
collects data from inputs at each interval and sends data to outputs at each
flush interval.
For a basic walkthrough see quick start.
📖 Documentation
For a full list of documentation including tutorials, reference and other
material, start with the /docs directory.
Additionally, each plugin has its own README that includes details about how to
configure, use, and sometimes debug or troubleshoot. Look under the
/plugins directory for specific plugins.
Here are some commonly used documents:
❤️ Contribute

We love our community of over 1,200 contributors! Many of the plugins included
in Telegraf were originally contributed by community members. Check out
our contributing guide if you are interested in helping out.
Also, join us on our Community Slack or
Community Forums if you have questions or
comments for our engineering teams.
If you are completely new to Telegraf and InfluxDB, you can also enroll for free
at InfluxDB university to take courses
to learn more.
ℹ️ Support

Please use the Community Slack or
Community Forums if you have questions or
comments for our engineering teams. GitHub issues are limited to actual issues
and feature requests only.
📜 License
