Telegraf是什么?
Telegraf 是 InfluxData 公司开源的一款十分流行的指标采集软件,可以从数据库、系统和物联网传感器收集和发送度量和事件,它用Go编写,编译成一个没有外部依赖的二进制文件–需要非常少的内存,相当于监控指标采集Agent。在 GiHub 已有上万 Star,其借助社区的力量,拥有了多达 200 余种采集插件以及 40 余种导出插件,几乎覆盖了所有的监控项,例如机器监控、服务监控甚至是硬件监控。
Telegraf 中的实现
Telegraf 采用了这种编程模式,其主要有 4 个 stage,分别为 Inputs、Processors、Aggregators 和 Outputs。
- Inputs:负责采集原始监控指标,包括主动采集和被动采集。
- Processors:负责处理 Inputs 收集的数据,包括去重、重命名、格式转换等。
- Aggregators:负责聚合 Processors 处理后的数据,并对聚合后的数据计算。
- Outputs:负责接收处理 Processors 或 Aggregators 输出的数据,并导出到其他媒介,例如文件、数据库等。
为什么要使用 Telegraf?
收集和发送各种数据:
- 数据库:连接到 MongoDB、MySQL、Redis 等数据源以收集和发送指标。
- 系统:从现代云平台、容器和协调器堆栈中收集指标。
- IoT 传感器:从 IoT 传感器和设备收集关键状态数据(压力水平、温度水平等)。
覆盖范围:主题专家已经针对社区中的数据编写了 200 多个插件,因此可以轻松开始从端点收集指标。更好的是,插件开发的简易性意味着您可以构建自己的插件来满足您的监控需求。您甚至可以使用 Telegraf 将输入数据格式解析为指标。其中包括:InfluxDB Line Protocol、JSON、Graphite、Value、Nagios 和 Collectd。
灵活:Telegraf 插件架构支持您的流程,不会强迫您更改工作流程以使用该技术。无论您需要将它置于边缘还是集中式,它都适合您的架构,而不是相反。 Telegraf 的灵活性使其成为一个易于实施的决定。
搭建一个Telegraf+Influxdb+Grafana 监控系统
在所有现有的现代监控工具中,TIG(Telegraf、InfluxDB和Grafana)可能是最受欢迎的工具之一。
该堆栈可用于监视大量不同的数据源:从操作系统(如Linux或Windows性能指标)到数据库(如MongoDB或MySQL),Telegraf是一个负责收集和聚合数据的代理,例如当前的CPU使用情况。InfluxDB将存储数据,并将其公开给Grafana,这是一种现代的仪表板解决方案。
教你搭建一个Telegraf+Influxdb+Grafana 监控系统 - 知乎