首页/数据/NoSQL 速查/Telegraf 采集配置要点

Telegraf 采集配置要点

Telegraf 是常用采集代理:配置由 inputs、processors、outputs 三部分组成;对接 2.x 用 outputs.influxdb_v2,配置 Token、org 与 bucket。

NoSQL 速查数据更新于 2026-10-13

Telegraf 采集配置是什么

Telegraf 是常用的指标采集代理,配置由 inputs、processors、outputs 三部分组成:inputs 定义采集对象(cpu、mem、disk、nginx、mysql、kafka、prometheus 抓取等),processors 做过滤与改写,outputs 决定写入目标。对接 InfluxDB 2.x 使用 outputs.influxdb_v2,需要 token、organization 与 bucket 三项。启动前用 --test 参数把采集结果打印一次,确认连得上、字段符合预期。

基本信息

最小结构[[inputs.xxx]] → [[processors.xxx]](可选)→ [[outputs.influxdb_v2]]
验证方式telegraf --config /etc/telegraf/telegraf.conf --test
关键配置urls、token、organization、bucket
常用输入cpu、mem、disk、net、nginx、mysql、kafka、prometheus 抓取
所属系统Telegraf(InfluxData 采集代理)

典型使用场景

  • 主机监控:采集 CPU、内存、磁盘与网络指标
  • 中间件采集:从 MySQL、Nginx、Kafka 等服务拉取指标
  • 复用已有端点:用 prometheus 输入插件接已有的指标接口
  • 字段改写:用 processors 统一标签命名,便于统一查询
  • 灰度验证:先用 --test 验证配置,再交给 systemd 常驻运行

最小配置

最小配置
[[inputs.cpu]]                  # 采集输入
  percpu = false
  totalcpu = true

[[outputs.influxdb_v2]]         # 写入 2.x 的输出配置
  urls = ["http://127.0.0.1:8086"]
  token = "${INFLUX_TOKEN}"     # 用环境变量注入令牌,不要直接写死
  organization = "my-org"
  bucket = "metrics"

配置段读法

配置段作用注意
[[inputs.*]]定义采集对象采集间隔与超时要显式设置
[[processors.*]]过滤与改写按出现先后顺序生效
[[outputs.influxdb_v2]]写入 InfluxDB 2.x需要 token、organization、bucket
token写入凭证用环境变量注入,别写进仓库
--test打印一次采集结果验证配置最直接的方式
启动前先用 --test 看是否连得上、字段是否符合预期;生产用 systemd 管理并限制日志大小,避免日志把磁盘写满。
outputs 配错时 Telegraf 会缓冲重试,指标看似在采集但数据没有落库,监控必须覆盖写入失败计数。
配置文件里出现重复的 section 时后出现的会生效,排查时用 --test 明确当前结果,不要只看文件内容。
采集间隔与 flush 间隔要一起看:采集密而 flush 稀会让指标看起来滞后,flush 密而批次小又增加服务端写入压力,通常让 flush 与采集间隔保持同一量级更容易理解。
同一台机器上运行多个 Telegraf 实例时要区分运行目录与日志路径,否则日志互相覆盖,排查时拿不到完整线索。

易错点

  • outputs 配置错误时 Telegraf 会缓冲重试,指标看似正常但数据没落库,监控要覆盖写入失败计数
  • 配置文件里出现重复 section 会导致后出现的生效,排查时用 --test 明确当前结果
  • 令牌直接写在配置里并提交进仓库,凭证泄漏后需要全量轮换
  • 采集间隔设得过密会放大服务端写入压力,应按指标变化速度设置间隔

数据来源与参考

  • InfluxData Docs: Telegraf configuration
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌