拓冰建站拓冰建站
首页 / 资讯中心 / 正文

如何用 Docker 首次运行 Telegraf 并确认指标开始输出?

如何用 Docker 首次运行 Telegraf 并确认指标开始输出【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegraf这篇文章面向第一次使用 Telegraf 的读者拉取官方 Docker 镜像写一个最小的 TOML 配置文件挂载进容器启动 Telegraf然后确认 CPU 和内存指标确实开始输出。完成后的结果是容器启动几秒后终端stdout持续打印 CPU、内存指标的 influx 行。整个过程只需要一个已安装 Docker 的环境不需要在宿主机上安装 Telegraf 本体。官方镜像由 InfluxData 维护DockerHub 上有 Debian 和 Alpine 两个基础版本文档同时维护最近三个 minor release 的镜像见 docs/DOCKER.md。拉取 Telegraf 镜像docker pull telegraf这条命令拉取最新的 Debian 基础镜像。如果需要 Alpine 基础镜像文档给出的对应命令是docker pull telegraf:alpine具体可用的 tag 以文档指向的 Telegraf DockerHub 页面为准本文主路径使用默认 tag。编写最小配置文件Telegraf 启动前必须提供一份配置文件且配置中至少要有一个输入插件和一个输出插件文件格式为 TOML。快速上手文档给出的最小示例只启用三个插件[[inputs.cpu]] [[inputs.mem]] [[outputs.file]][[inputs.cpu]]、[[inputs.mem]]采集本机 CPU 和内存指标[[outputs.file]]file 输出插件stdout是一个被特殊处理的目标文件名指标会打印到标准输出而不是写到某个磁盘文件。注意插件定义是 TOML 的 array of tables同一个插件可以定义多次例如需要连接不同端点时。把这段内容保存为当前目录下的config.toml。如果你希望指标同时落到文件里可以把 file 输出插件的 sample.conf 中的配置加进配置例如[[outputs.file]] files [stdout, /tmp/metrics.out] data_format influx此时指标除了打印到 stdout也会写入容器内的/tmp/metrics.out。挂载配置并启动容器在config.toml所在目录执行docker run --rm --volume $PWD/config.toml:/etc/telegraf/telegraf.conf telegraf各参数含义--volume $PWD/config.toml:/etc/telegraf/telegraf.conf把宿主机的配置文件挂载为容器内 Telegraf 的默认配置路径$PWD指你当前执行命令的目录即 config.toml 所在目录--rm容器退出后自动删除容器telegraf上一步拉取的镜像。启动后终端会先打印一些初始信息加载了哪个配置文件、版本信息、加载了哪些插件。再过几秒指标开始持续打印出来。确认指标开始输出成功判据就是终端输出本身初始信息之后stdout 上按周期出现 influx 格式的指标行。文档中 cpu、mem 插件 README 给出的示例输出文档示例实际数值会不同长这样cpu,cpucpu0,hostloaner usage_active31.249999981810106,usage_guest2.083333333080696,usage_guest_nice0,usage_idle68.7500000181899,usage_iowait0,usage_irq0,usage_nice0,usage_softirq0,usage_steal0,usage_system4.166666666161392,usage_user25.000000002273737 1568760922000000000mem active9299595264i,available16818249728i,available_percent80.41654254645131,buffered2383761408i,cached13316689920i,...,total20913917952i,used3335778304i,used_percent15.95004011996231,... 1574712869000000000看到这类带时间戳的cpu、mem行就说明采集和输出链路已经通了。采集频率由 agent 的interval决定见 docs/CONFIGURATION.md如果不想等默认间隔可以在配置里加[agent]表并设置interval 10s。如果配置了/tmp/metrics.out输出也可以在容器运行期间进入容器查看该文件确认文件在增长。遇到 lockable memory 报错怎么办docs/DOCKER.md 明确说明 Telegraf 默认需要使用可锁定内存lockable memory。部分 Docker 部署中容器的 memlock 限额不够会出现如下警告W! Insufficient lockable memory 64kb when 72kb is required. Please increase the limit for Telegraf in your Operating System!或者直接报错panic: could not acquire lock on 0x7f7a8890f000, limit reached? [Err: cannot allocate memory]文档给出两个处理方式任选其一提高容器的 ulimit。用ulimit -l查看和设置该值在 Docker 中可以用--ulimit参数例如docker run --rm --ulimit memlock8192:8192 \ --volume $PWD/config.toml:/etc/telegraf/telegraf.conf telegraf在启动参数中加--unprotected改用非锁定内存存放 secrets。文档强调这不如锁定内存安全secrets 可能被换页到磁盘、以明文写盘所以是显式选择的降级项。Docker 场景下需要修改镜像启动时使用的CMD来带上这个参数。边界与下一步本文的最小配置只有 cpu/mem 输入和 file 输出用于验证指标开始输出这一件事换成其他采集源或目标系统不属于本场景。完成验证后官方 Quick Start 给出的后续方向是确定要采集的数据源并浏览 输入插件、确定指标发送目标并浏览 输出插件、按 安装指南 选择正式的部署方式。镜像的具体 tag、版本明细请以 docs/DOCKER.md 中指向的 DockerHub 页面为准本文不罗列具体版本号。【免费下载链接】telegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.项目地址: https://gitcode.com/GitHub_Trending/te/telegraf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门