node-exporter 扩展用法 – shell 自定义 exporter 监控

当 Prometheus 的 node_exporter 中没有我们需要的一些监控项时,就可以使用自定义 exporter 的扩展功能,但是对于那些开发能力稍微弱一些的朋友(特指我),如果你会 shell 脚本的编写,最基础的 awk 语法,那么你也可以进行自定义 exporter,这就需要借助 Node-exporter 实现了。

node_exporter 可在启动时指定路径,并将该路径下的 *.prom 识别为监控数据文件。
添加取值脚本

[root@one tmp]# cat /data/exporter/key/key_runner 
#! /bin/bash

echo Logical_CPU_core_total  `cat /proc/cpuinfo| grep "processor"| wc -l`
echo logined_users_total     `who | wc -l`;
echo procs_total `ps aux|wc -l`
echo procs_zombie       `ps axo pid=,stat=|grep Z|wc -l`

执行效果

[root@one key]# bash  key_runner
Logical_CPU_core_total 2
logined_users_total 1
procs_total 148
procs_zombie 0

设置定时任务

    每分钟执行一次 

* * * * * bash /usr/local/node_exporter/key/key_runner > /usr/local/node_exporter/key/key.prom

添加启动参数

启动 node_exporter,指定新加 key 值的 prom 路径

./node_exporter --collector.textfile.directory=/usr/local/node_exporter-0.16/key

如果你是 Docker 启动,请考虑使用下面这条命令.

docker run -d   --net="host"   --pid="host"   --name=node-exporter   -v "/:/host:ro"  quay.io/prometheus/node-exporter   --path.rootfs /host  --collector.textfile.directory=/host/data/exporter/key/

验证

查看 metrics 值是否新增了该监控项

[root@one key]# curl 127.0.0.1:9100/metrics|grep -E "Logical_CPU_core_total|logined_users_total|procs_total|procs_zombie"
# TYPE Logical_CPU_core_total untyped
Logical_CPU_core_total 2
# HELP logined_users_total Metric read from /usr/local/node_exporter/key/key.prom
# TYPE logined_users_total untyped
logined_users_total 1
# HELP procs_total Metric read from /usr/local/node_exporter/key/key.prom
# TYPE procs_total untyped
procs_total 151
# HELP procs_zombie Metric read from /usr/local/node_exporter/key/key.prom
# TYPE procs_zombie untyped
procs_zombie 0

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: