Telegraf 是一款用 Go 编写的高性能、可插拔的数据采集代理(Agent),专为现代运维和可观测性场景设计。它不依赖外部运行时,开箱即用,能自动从服务器、网络设备、IoT 终端、云服务甚至 Windows 事件日志中抓取指标、日志和自定义数据,并统一转换、聚合后发送到 InfluxDB、Prometheus、Kafka、Elasticsearch 等数十种目标系统。对于被“多套监控工具拼凑使用”折磨已久的工程师来说,Telegraf 就是那个真正意义上“一个 Agent 走天下”的可靠答案。
核心功能
- 300+ 开箱即用插件:覆盖系统资源(CPU/内存/磁盘)、数据库(MySQL/PostgreSQL/Redis)、消息队列(Kafka/MQTT/AMQP)、工业协议(Modbus/OPC UA)、日志文件(Tail/File/Directory Monitor)、云平台(AWS/Azure/GCP)等,无需开发即可接入绝大多数数据源
- 零依赖静态二进制:编译后仅一个可执行文件,无 Python/Java 运行时要求,极简部署——拷贝即用,Docker 镜像体积仅约 50MB,适合边缘设备和容器化环境
- 灵活的数据流水线:支持输入 → 处理(过滤、重命名、字段提取、JSON/XPath 解析)→ 聚合(如每 10 秒统计平均值)→ 输出的完整链路,所有逻辑通过 TOML 配置声明式定义,告别脚本胶水代码
- 原生支持现代可观测标准:内置 OpenTelemetry Collector 兼容接口、Prometheus Exporter 模式、StatsD 协议接收器,轻松融入现有 SRE 工具链
- 跨平台深度适配:完美支持 Linux/macOS/Windows,特别强化对 Windows 事件日志(EventLog)、WMI 性能计数器、IIS 日志等企业级场景的支持
- 社区驱动持续进化:由 InfluxData 主导、超 1200 名开发者共同维护,Hacktoberfest 常驻热门项目,插件生态活跃更新,中文文档与社区讨论日益完善
适合哪些人用
运维工程师、SRE、DevOps 工程师、IoT 解决方案架构师、云平台管理员,以及任何需要统一采集异构系统数据但又不想重复造轮子、不愿维护一堆 Python Shell 脚本的实践者。尤其推荐给正在搭建 Prometheus + Grafana 监控体系、或计划迁移到 InfluxDB Cloud / TimescaleDB 的团队——Telegraf 是最平滑的“数据搬运工”。
快速上手
以主流 Linux 系统为例(其他平台同理):
- 安装:执行
curl -O https://dl.influxdata.com/telegraf/releases/telegraf-1.32.0-1.amd64.deb && sudo dpkg -i telegraf-1.32.0-1.amd64.deb(Debian/Ubuntu);或直接下载静态二进制:wget https://dl.influxdata.com/telegraf/releases/telegraf-1.32.0_linux_amd64.tar.gz - 生成默认配置:
telegraf config > telegraf.conf,然后用文本编辑器打开,启用所需插件(如[[inputs.cpu]]、[[outputs.influxdb_v2]]) - 启动验证:
telegraf --config telegraf.conf --test查看是否成功采集示例数据;确认无误后执行telegraf --config telegraf.conf &后台运行 - 进阶提示:官方提供一键生成 Web UI 配置向导(telegraf-plugins-http),也支持通过 Ansible/Terraform 自动化批量部署
项目信息
Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.
16.9k
今日 +6 stars today
Stars
5.8k
Forks
Go
MIT
编程语言:Go|GitHub Star 数:16,886|开源协议:MIT|GitHub 项目地址
如果你厌倦了为每种新数据源单独写采集脚本,Telegraf 就是你值得信赖的“数据采集瑞士军刀”——强大却不臃肿,专业却极易上手,开源且久经生产考验。



