Prometheus Node Exporter Systemd采集器如何收集服务别名指标?
Prometheus Node Exporter 如何让systemd采集器同时收集别名服务指标
现在Node Exporter的systemd采集器并没有现成的配置项能直接开启别名服务的指标采集,但可以通过两种方法实现你的需求:
用自定义脚本补全指标:
写个简单的shell脚本,去遍历systemd服务的符号链接(一般在/etc/systemd/system/或者/usr/lib/systemd/system/目录里),找出别名和原服务的对应关系,然后照着原服务的指标生成一套别名服务的指标。把这个脚本的输出写到/var/lib/node_exporter/下的.prom文件里,再给Node Exporter加个启动参数--collector.textfile.directory=/var/lib/node_exporter,让它加载这个自定义指标文件就行。简单实现思路:
- 找出所有指向
.service文件的符号链接 - 对每个别名服务,复制原服务的
node_systemd_unit_state这类指标,把标签里的name换成别名 - 把生成的指标写入指定目录的
.prom文件 - 确保Node Exporter启动时加载这个textfile目录
- 找出所有指向
修改Node Exporter源码:
要是你有开发能力,可以改改systemd采集器的代码,让它遍历systemd单元的时候,顺便处理符号链接对应的别名,给每个别名生成一套和原服务完全一样的指标。改完重新编译Node Exporter就能用了。
不过要注意,改源码的方式需要你自己维护定制版的Node Exporter,后续官方更新的时候得同步修改,适合有定制需求且能承担维护成本的场景。
内容的提问来源于stack exchange,提问作者ram
相关产品推荐
相关产品推荐

