ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Telegraf 监控代理实战:一次跑通服务器指标采集

Telegraf 监控代理实战:一次跑通服务器指标采集 Telegraf 监控代理实战一次跑通服务器指标采集【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegraf凌晨两点线上某台机器 CPU 突然飙高你只能逐台 SSH 登录、敲top查看效率低且容易遗漏。如果每台机器上预先跑着一个指标采集代理把 CPU、内存、磁盘的数据按固定周期自动汇总输出这类排查就会变成查一下时序库的事。Telegraf 就是这样一个插件驱动的系统指标采集代理它支持 200 多种输入插件能采集 CPU、内存、网络以及各类中间件指标并把结果写入 InfluxDB、Kafka、文件等目标。一句话定位Telegraf 是一个静态二进制文件、无运行时依赖的指标采集 Agent官方口径下资源占用通常低于 5% CPU 和约 10MB 内存适合作为监控体系中的采集端长期部署。用 Docker 最快安装 Telegraf最快的启动方式是 Docker 一条命令拉起官方镜像docker pull telegraf然后准备一份最小配置文件config.toml内容只有 3 行插件声明[[inputs.cpu]] [[inputs.mem]] [[outputs.file]]这 3 行即启用了 CPU、内存两个采集插件并把结果输出到标准输出。启动容器docker run --rm --volume $PWD/config.toml:/etc/telegraf/telegraf.conf telegraf启动几秒后终端开始滚动打印 InfluxDB Line Protocol 格式的指标cpu,cpucpu0,hostabc123 usage_idle97.2,usage_user2.1 1717000000123 mem,hostabc123 used4234567890i,available3423456768i,used_percent55.3 1717000000123只要看到持续刷新的cpu,和mem,行说明采集链路已经在工作。走通 CPU 与内存采集全链路以监控本机 CPU 和内存这个最高频场景为例完整走一遍配置采集 → 数据输出 → 验证结果。第一步扩展配置把采集粒度调细、采集间隔设为 10 秒[agent] interval 10s # 全局采集周期 [[inputs.cpu]] percpu true # 按每个逻辑核采集 totalcpu true # 同时输出整机汇总值 [[inputs.mem]] [[outputs.file]] files [stdout] # 输出到标准输出方便观察第二步启动 Telegraf。若你用的是二进制安装而非 Dockertelegraf --config config.toml第三步验证结果。启动后日志会先打印加载的配置和插件列表随后每 10 秒出现一批指标。你应当同时看到两种粒度的 CPU 数据带cpucpu0、cpucpu1标签的分核行以及cputotal的汇总行内存行则包含used、available、used_percent等字段。到这里采集 → 处理 → 输出的完整链路已验证通过。把[[outputs.file]]换成[[outputs.influxdb]]或[[outputs.kafka]]数据即可以写入真实的存储与消息系统插件的完整清单见 plugins/ 目录。Telegraf 常用配置选项详解日常配置基本只围绕[agent]段的几个选项展开记住下面 4 个就够用选项作用说明interval全局采集周期如10s每个输入插件可单独覆盖round_interval对齐采集时间点设为true时10s周期会在 :00、:10、:20 秒整采集多台机器的数据时间戳一致便于对齐分析metric_batch_size单次批量发送的指标条数控制每个 output 一次写出的数据量默认 1000flush_interval输出刷新间隔指标至少多久强制写出一批默认10s另外两个实用技巧环境变量配置中任何位置都可用${VAR}引用环境变量密码、Token 等敏感信息不要硬编码例如password ${REDIS_PASSWORD}。生成带注释的完整配置telegraf config telegraf.conf可导出全部插件的注释版配置--input-filter cpu:mem还能只导出指定插件避免在千行大配置里翻找。Telegraf 适用场景与使用边界适合的场景主机与系统指标采集CPU、内存、磁盘、网络、进程等开箱即用中间件与应用指标采集InfluxDB 下 200 输入插件覆盖 MySQL、Redis、Kafka、Docker、Kubernetes 等常见组件多数据源汇聚一个 Telegraf 实例可以同时采集多种数据源写入不同输出目标。不太擅长的边界实时秒级告警判断Telegraf 定位是采集代理不做告警评估需搭配 InfluxDB 的告警能力或独立告警组件复杂流式计算需要窗口函数、多跳聚合时应把 Telegraf 的聚合/处理器能力之外的逻辑放到下游时序库或流计算引擎里。Telegraf 常见坑速答配置改了但不生效检查两点一是插件段落是否写成了[inputs.cpu]输入输出插件必须用双括号的表数组语法[[inputs.cpu]]二是若配置放在/etc/telegraf/telegraf.d/目录下文件扩展名必须是.conf才会被加载。改完配置需要重启或重新加载 Telegraf 才生效。数据没有输出先用官方自检模式验证输入侧是否正常telegraf --config config.toml --test该模式只运行输入插件、把数据打到标准输出后退出。若能打印指标说明问题在输出插件侧重点核对输出目标地址、凭据和网络连通性。找不到合适的插件输入插件与输出插件分别集中在 plugins/inputs/ 和 plugins/outputs/ 目录每个插件目录下的 README.md 都包含完整配置说明与示例。也可以运行telegraf plugins命令直接列出当前构建包含的所有插件避免翻阅目录。进一步深入阅读安装方式全集docs/INSTALL_GUIDE.md配置文件完整参考docs/CONFIGURATION.md数据输入/输出格式说明docs/DATA_FORMATS_INPUT.md、docs/DATA_FORMATS_OUTPUT.md聚合器与处理器写法docs/AGGREGATORS_AND_PROCESSORS.md所有输入插件目录plugins/inputs/下一步先把上面这份 3 行配置在测试机上跑起来确认--test输出符合预期后再把输出目标切换为 InfluxDB 并接入你的告警与看板。【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegraf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表