Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

influxdata/telegraf

DevOps & Self-hosting

A lightweight agent that collects, processes and ships metrics and logs using 300+ plugins.

17,895
5,849
Go
MIT
11 years old

What Telegraf does

Telegraf is a single static binary that gathers metrics, logs and other data from inputs, transforms or aggregates them in the pipeline, and writes the result to outputs on a schedule. It is aimed at operators who need to pull telemetry out of heterogeneous systems — hosts, containers, network gear, industrial devices and message brokers — without installing a runtime or writing glue code.

The plugin catalogue is the core of the project: over 300 input, processor, aggregator and output plugins cover system metrics (CPU, memory, disk, Docker, NVIDIA SMI), logs (file, tail, directory monitor), messaging (Kafka, MQTT, AMQP), industrial and network protocols (OPC UA, Modbus, SNMP, gNMI, Cisco MDT), SQL sources and Windows event/WMI/perf-counter data. Custom collection and transformation logic can be added through the Exec and HTTP plugins or by writing Go code.

Configuration is TOML-based. The agent reads inputs at every interval and flushes to outputs at every flush_interval, so the behavior of a deployment is defined almost entirely by its config file.

Quick start

  1. Install the binary, Docker image, or RPM/DEB package. The available build channels are listed in the install guide; releases and versioning are described in the release documentation.
  2. Generate a starter configuration containing the plugins you want, or write a TOML file manually. Plugin-specific options are documented in each plugin's own README under the plugins directory.
  3. Run the agent with that configuration and confirm data reaches your output. The quick start walks through a first end-to-end run, and the configuration reference covers intervals, batching, tags and processors.
  4. For a container-based workflow, pull the official image from Docker Hub and mount the config file into it.

Usage constraints

  • The agent is written in Go and distributed as a standalone binary, so no runtime is required on the monitored host; custom plugins do require a Go build toolchain.
  • Inputs and outputs must be enabled and configured explicitly in TOML; there is no auto-discovery of targets.
  • Some plugins depend on platform facilities (Windows event log, WMI, performance counters, SMART data) or on the device/API being reachable from the host.
  • The project is licensed under MIT.

HotRepo's take

Telegraf is a long-running, widely forked project: the daily snapshots show it growing from 16,920 stars on 2026-05-13 to 17,486 on 2026-05-16, with roughly 211–213 stars added per day across those three days, and it later appears on the Go daily list at position 7 on 2026-11-04. The plugin ecosystem is also extended by outside contributors — a Show HN post from 2025-05-16 introduced a community MavLink input plugin for pulling telemetry from ArduPilot flight controllers into standard pipelines described by its contributor. For teams already running InfluxDB, Prometheus or similar backends, that breadth of plugin coverage is the practical reason to consider it.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

Show HN: MavLink Input Plugin for Telegraf
▲ 2 · 1 comment · May 16, 2025
Telegraph 1.0.0 has been released
▲ 1 · 0 comments · September 2, 2016