ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Telegraf 入门指南:从安装到采集到第一条指标

Telegraf 入门指南:从安装到采集到第一条指标 Telegraf 入门指南从安装到采集到第一条指标【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegrafTelegraf 是一个用来收集、处理并写出指标、日志等数据的服务器代理功能全部由插件承载。本文用 Docker 把它装起来写一份最小配置跑通第一次 CPU 与内存指标采集并讲清输出怎么读、哪些参数搭配值得记、哪几个坑容易踩。Telegraf 是什么Telegraf 是介于数据源与写入目标之间的插件式采集代理在 InfluxData 生态里通常位于 InfluxDB 之前负责采集但也可以独立使用把数据写进任何它支持的目的地。编译为单一静态二进制没有运行时依赖下载即可跑输入、输出、处理器、聚合器四层插件体系200 插件覆盖常见系统与中间件数据源配置就是一个 TOML 文件同一种插件可重复定义一个进程就能从多个源采集资源占用低适合常驻在被监控机器上最快跑通方式拉取官方镜像不想装二进制的话Docker 是验证环境最快的路径共三步。拉取镜像。Telegraf 是 Docker 官方镜像可以省略组织名前缀docker pull telegraf验证镜像可用并查看版本确认拉取的东西能执行docker run --rm telegraf version看到版本号输出即环境就绪跑它需要的配置在下一节写。若不用 Docker包管理器、二进制等完整安装方式见 docs/INSTALL_GUIDE.md。典型场景采集本机 CPU 和内存第一步写一份三行配置Telegraf 启动的硬性要求是配置里至少有一个输入和一个输出。最小配置只有三行[[inputs.cpu]] [[inputs.mem]] [[outputs.file]]前两行启用 CPU 和内存输入插件第三行启用文件输出默认写到 stdout格式为 Influx 行协议。双中括号是 TOML 的表数组语法意味着同一种插件可以重复写多份各配各的参数。第二步挂载配置并运行容器把本地配置挂进镜像的默认配置路径再启动docker run --rm --volume $PWD/telegraf.conf:/etc/telegraf/telegraf.conf telegraf--volume这一步不能省镜像默认读 /etc/telegraf/telegraf.conf缺配置文件会直接启动失败。--rm让容器退出后自动清理。第三步读懂一行指标输出启动后先打印加载的插件与版本信息几秒后开始持续输出真实输出字段更多、小数更长下面为便于阅读做了精简cpu,cpucpu-total,host8f2c1a3b5d6e usage_user11.4,usage_system4.1,usage_idle82.4 1568760922000000000 mem available16818249728i,total20913917952i,used3335778304i,used_percent15.9 1574712869000000000一行行协议分四段第一段是测量名cpu 或 mem标签 keyvaluecpucpu-total 表示全部核心的汇总值按核拆分时是 cpucpu0host 是主机名容器里会变成容器 ID字段 keyvalue 是实际数据usage_user 是用户态 CPU 占比带 i 后缀表示整数字段如 total20913917952i最后一段是纳秒级 Unix 时间戳CtrlC 即可停止输出退出。实用小技巧输出字段太多时在输入端就砍掉cpu 插件同时输出 usage_* 占比和 time_* 累计原始值看板一般只用占比。在 [[inputs.cpu]] 里加fieldexclude [time_*]数据量立刻变小。凭据别硬编码用环境变量并带缺省语义写token ${TOKEN:?missing token}变量缺失时启动直接失败并给出提示比下游报连接错误好排查得多。集群里批量部署时错开采集节奏在 [agent] 设collection_jitter让每个插件的采集随机延迟避免整个集群同一瞬间去查同一批系统接口。避坑指南 现象启动没有报错但迟迟没有指标。 可能原因配置缺输入或缺输出二者必须至少各有一个。 解决办法确认配置同时存在[[inputs.xxx]]与[[outputs.xxx]]且输出的目标可连通。现象Windows 上用telegraf config生成的配置打不开启动报无法解析。 可能原因PowerShell 5 默认输出编码是 UTF-16LETelegraf 只认 UTF-8。 解决办法改用telegraf.exe config | Out-File -Encoding utf8 telegraf.conf或换 PowerShell 6。现象给插件加了 tagpass/tagdrop 后同一插件的其他选项像失效了。 可能原因TOML 解析顺序问题[inputs.x.tagpass]表头之后的选项会被并入该表。 解决办法把 tagpass/tagdrop 放在插件定义的最后或改用内联写法tagpass {cpu [cpu0]}。现象写入目标宕机一段时间后最早的数据丢了。 可能原因每个输出有内存缓冲上限 metric_buffer_limit缓冲写满时最旧的指标被覆盖。 解决办法调大metric_buffer_limit换取更长容错窗口对丢数据零容忍的场景可关注实验性的buffer_strategy disk磁盘缓冲。深入资源docs/CONFIGURATION.md讲透配置三段结构、namepass/tagpass/fieldinclude 等指标过滤参数与环境变量语法能解决怎么只采我想要的字段这类问题。docs/AGGREGATORS_AND_PROCESSORS.md讲采集与输出之间的处理器和聚合器怎么配能解决数据进库前先改名、算均值这类需求。plugins/inputs/全部输入插件的源码目录每个插件的 README 都有字段清单、示例输出与排障说明是新加采集目标时的第一查询处。docs/COMMANDS_AND_FLAGS.md所有命令行参数包括用--input-filter只生成指定插件的配置文件。跑通之后下一步可以把 outputs.file 换成 outputs.influxdb 接入真实时序库或者先执行telegraf config --input-filter cpu:mem:net --output-filter influxdb生成一份只含所需插件的干净配置再逐个添加采集目标。【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegraf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表