
Telegraf从入门到生产指标监控代理完整上手【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegrafTelegraf 是一款开源监控代理装到每台服务器上自动采集 CPU、内存、磁盘、网络等指标把数据清洗、聚合后写入任意数据库。无论运维、开发还是测试同学5 分钟就能跑通第一份数据。它解决什么问题一条完整的指标流水线传统监控方案里采集、清洗、存储往往要拼好几套工具配置散落在各处。Telegraf 把它们收敛到一个进程里你在一份 TOML 配置中就能声明完整链路采集plugins/inputs/下内置了 cpu、mem、disk、net、procstat、docker、mysql 等海量输入插件每加一个[[inputs.xxx]]段对应指标就会自动按interval周期上报不用写任何采集代码。清洗plugins/processors/提供 rename、filter、converter、override 等处理器可以在数据离开机器前重命名标签、丢弃无用字段——写进数据库的就是干净的。聚合plugins/aggregators/支持在源头做求和、均值、分位数等聚合把高频细粒度指标压成低频汇总指标直接降低存储压力。写入plugins/outputs/内置 file、influxdb_v2、Kafka 等输出插件换存储只改输出段采集配置一行不动。对新手最直接的收益是一份配置描述全链路--test一条命令就能看到数据长什么样。源码安装3 条命令得到二进制推荐用源码构建一条命令即可编译出完整功能版本备选生产环境也可以直接拉官方 Docker 镜像或用 apt/yum 安装 deb/rpm 包配置与命令行完全相同。git clone https://gitcode.com/GitHub_Trending/te/telegraf cd telegraf make build构建完成后当前目录会生成telegraf可执行文件后续所有命令都围绕它展开。3 步跑通第一份数据第 1 步写一份 10 行最小配置下面的配置只做一件事每 10 秒采一次总 CPU 和内存直接打印到终端方便你肉眼验证。[agent] interval 10s [[inputs.cpu]] percpu false totalcpu true [[inputs.mem]] fieldpass [used_percent] [[outputs.file]] files [stdout] data_format influx保存为telegraf.conf。percpu false表示只报总量不按核心拆分fieldpass让内存指标只保留使用率省掉一堆用不到的字段。第 2 步用 --test 跑一个验证周期./telegraf --test --config telegraf.conf--test会只采集一轮然后退出终端里会看到cpu,host... usage_user... 169...这样的 InfluxDB 行协议数据。看到这种行就说明采集到写入整条链路已经通了数据没出来时也不用瞎猜先从这里看。第 3 步正式启动./telegraf --config telegraf.conf启动后终端持续滚动输出指标CtrlC退出。想改成后台运行或指定 pid 文件加上--pidfile /var/run/telegraf.pid即可。场景 A服务器监控只留关键指标真实服务器上插件一多数据量很快失控。用过滤配置把无关字段挡在门外[[inputs.disk]] ignore_fs [tmpfs, devtmpfs, devfs, overlay] [[inputs.diskio]] devices [sda, nvme0n1] [[inputs.net]] interfaces [eth0, bond0] fieldpass [bytes_sent, bytes_recv]加上ignore_fs后disk插件不会再为临时文件系统生成一堆永远为 0 的指标devices和interfaces白名单则保证只监控真正在用的块设备和网卡指标基数立刻收敛。每个输入插件都支持fieldpass/fielddrop/tagpass这类过滤字段写法见 docs/CONFIGURATION.md。场景 B写入前统一标签再送进 InfluxDB不同来源的数据常带不一致的标签名直接入库会让查询条件变复杂。用rename处理器在输出前统一[[processors.rename]] [[processors.rename.replace]] tag hostname dest host这一段把hostname标签统一改名为host之后所有查询只认一个名字。再配合 InfluxDB 2.x 输出段令牌用环境变量占位符注入避免明文写进配置文件[[outputs.influxdb_v2]] urls [http://influxdb.example.com:8086] token $INFLUXDB_TOKEN organization my-org bucket telegraf content_encoding gzip运行前执行export INFLUXDB_TOKEN你的令牌即可content_encoding gzip打开后大批量写入时网络带宽能明显下降。常见坑先校验配置再怀疑没数据配置写错却启动不报错启动前先跑一次官方校验命令它会精确指出哪一段哪个字段有问题telegraf --config telegraf.conf config check老版本配置字段过时仓库内置了迁移器一条命令把旧格式自动改写成新格式telegraf --config telegraf.conf config migrate具体迁移项可参考 migrations/ 目录。想看详细日志定位问题在[agent]段打开调试[agent] debug true quiet false打开后启动日志会列出每个插件的加载、采集与写入状态配合--test单轮模式基本能定位 90% 的数据没出来问题。指标量暴涨撑爆数据库两个最常见的元凶是percpu true指标数 × 核心数和没配ignore_fs每块临时文件系统都算一个挂载点。回到场景 A 的过滤配置收一下即可。进阶方向从插件到聚合器想加新数据源直接看 plugins/inputs/每个插件目录里的sample.conf就是该插件的完整参数说明照抄改值即可。需要更复杂的数据变换浏览 plugins/processors/ 和聚合器 plugins/aggregators/处理器与聚合器的执行顺序规则写在 docs/AGGREGATORS_AND_PROCESSORS.md。遇到怪问题先翻 docs/FAQ.md再查 docs/ 下的部署与输出文档。把本文第 3 节的最小配置复制一份用--test跑通一轮确认数据无误然后按你机器的实际情况加上第一个输入插件——完整配置参考就放在 docs/CONFIGURATION.md。【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegraf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考