Telegraf:InfluxDB 出品的指标采集 Agent,可收集任何数据到任何地方
监控、可观测性、数据采集——这些是现代 IT 系统的基础能力。
Telegraf 是 InfluxDB 官方出品的指标采集 Agent,支持从几乎任何来源收集数据,输出到几乎任何目的地。是可观测性栈的核心组件。
Telegraf 是什么
GitHub: https://github.com/influxdata/telegraf
Telegraf 是一个 Go 语言编写的指标采集 Agent,来自时序数据库 InfluxDB 背后的公司 InfluxData。
核心模式:输入插件 → 处理 → 输出插件
数据源(输入) Telegraf(处理/转换) 存储(输出)
│ │ │
MySQL ──────────► 聚合计算 ──────────────► InfluxDB
Kafka ──────────► 数据清洗 ──────────────► Prometheus
API ────────────► 格式转换 ──────────────► Kafka
...
核心特点
1. 丰富的输入插件(200+)
系统指标:CPU、内存、磁盘、网络
数据库:MySQL、PostgreSQL、MongoDB、Redis
消息队列:Kafka、RabbitMQ、NSQ
API:HTTP、HTTPS、Prometheus、Telegraf
云服务:AWS、Azure、GCP
IoT:MQTT、Modbus、OPC-UA
...
2. 丰富的输出插件(100+)
时序数据库:InfluxDB、Prometheus、TimescaleDB
消息队列:Kafka、RabbitMQ、NATS
云服务:CloudWatch、Stackdriver、Azure Monitor
可视化:Grafana、Dashboard
存储:Elasticsearch、S3、本地文件
...
3. 可编程处理
不只是"搬运数据",还可以在 Telegraf 里做:
- 数据转换
- 计算衍生指标
- 过滤/采样
- 告警触发
适用场景
✅ 系统监控:采集服务器指标,输出到 Grafana ✅ 应用可观测性:采集应用日志和指标,统一管理 ✅ IoT 数据采集:从传感器收集数据,存入时序库 ✅ 数据管道:在各种数据源和目的地之间搭桥
和其他方案对比
| 工具 | 复杂度 | 插件数 | 适合场景 |
|---|---|---|---|
| Zabbix | 高 | 少 | 企业监控 |
| Prometheus | 中 | 少 | K8S 监控 |
| Telegraf | 低 | 200+ | 通用采集 |
| Vector | 低 | 100+ | 日志采集 |
结语
Telegraf 的价值在于它是一个"瑞士军刀"式的指标采集工具——无论是服务器监控、应用埋点、还是 IoT 数据采集,Telegraf 都能搞定。
如果你需要搭建可观测性系统,或者需要从各种来源收集数据到某个存储,Telegraf 值得考虑。
相关链接
- GitHub: https://github.com/influxdata/telegraf
- 标签: 监控, 可观测性, 数据采集, InfluxDB, Go, DevOps