influxdata/telegraf
运维与部署通过 300 多个插件采集、处理并输出指标与日志的轻量代理。
项目介绍
Telegraf 是一个编译为单个静态二进制的采集代理:按配置从各类 input 拉取指标、日志和其他数据,在管道中做处理或聚合,再按刷新周期写入 output。它面向需要从异构系统(主机、容器、网络设备、工业设备、消息队列)统一收集遥测数据的运维人员,部署时无需额外运行时,也不必自己写连接代码。
插件是项目的核心:300 多个 input、processor、aggregator 和 output 插件覆盖系统指标(CPU、内存、磁盘、Docker、NVIDIA SMI)、日志(file、tail、目录监控)、消息中间件(Kafka、MQTT、AMQP)、工业与网络协议(OPC UA、Modbus、SNMP、gNMI、Cisco MDT)、SQL 数据源以及 Windows 事件日志、WMI、性能计数器。自定义采集和转换可以通过 Exec、HTTP 插件完成,也可以直接编写 Go 代码接入。
配置使用 TOML。代理在每个 interval 读取 input,在每个 flush_interval 向 output 写出,因此一次部署的行为基本由配置文件决定。
快速使用
- 安装二进制、Docker 镜像或 RPM/DEB 包,可用的分发方式见安装指南,版本与发版节奏见发布说明。
- 生成包含所需插件的初始配置,或手写 TOML 文件;各插件的具体选项位于 plugins 目录下对应插件的 README。
- 用该配置启动代理,确认数据已到达目标 output。快速开始提供第一次端到端运行的完整流程,配置参考说明 interval、批处理、标签和 processor 的用法。
- 使用容器时,从 Docker Hub 拉取官方镜像,并把配置文件挂载进去。
使用约束
- 项目用 Go 编写并发布为独立二进制,被监控主机无需安装运行时;但自定义插件需要 Go 构建环境。
- 所有 input 和 output 都必须在 TOML 中显式启用和配置,不会自动发现目标。
- 部分插件依赖平台能力(Windows 事件日志、WMI、性能计数器、SMART 数据)或要求目标设备/API 从主机可达。
- 项目采用 MIT 许可证。
HotRepo 点评
Telegraf 是一个长期运行、被大量 fork 的项目:日榜快照显示其 Star 从 2026-05-13 的 16,920 增长到 2026-05-16 的 17,486,这三天每天新增约 211–213 个,随后在 2026-11-04 的 Go 日榜上排到第 7 位。插件生态也由外部开发者持续扩展——2025-05-16 的 Show HN 帖子介绍了一个社区维护的 MavLink input 插件,用于把 ArduPilot 飞控的遥测数据接入标准管道 作者在讨论中描述了该插件。对已经在使用 InfluxDB、Prometheus 等后端的团队来说,这种插件覆盖广度是它值得考虑的实际理由。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。