process-exporter 监控linux机器进程使用情况
背景
前期一直想进行 关于 IP地址的来源和目的地的监控
但是耗费了很多精力都没有搞定.
感觉应该去偷师一下安全监控软件的使用方式.
今天晚上再github上面漫无目的的进行 exporter的查找
依旧一无所获, 但是找到了 process-exporter的工具
想着至少能够不会浪费一晚上的时间, 至少能够总结一下.
所以今天的主题是监控进程的使用情况
学习网站
https://github.com/ncabatoff/process-exporter/releases/tag/v0.7.10
直接下载rpm包最好了
我这里下载的是 arm64的rpm包, 国产的银河麒麟+华为鲲鹏可以你直接安装
安装完后可以直接启动就可以
默认监控 9256端口
配置文件学习
--服务文件
[Unit]
Description=Process Exporter for Prometheus
[Service]
User=root
Type=simple
EnvironmentFile=-/etc/default/process-exporter
ExecStart=/usr/bin/process-exporter $OPTS
KillMode=process
Restart=always
[Install]
WantedBy=multi-user.target
--环境变量文件
cat /etc/default/process-exporter
# process-exporter startup flags
OPTS='--config.path /etc/process-exporter/all.yaml --web.listen-address=:9256'
# 可以修改这个文件来进行端口更改等.
--配置文件
cat /etc/process-exporter/all.yaml
process_names:
- name: "{{.Comm}}"
cmdline:
- '.+'
prometheus的配置
--其实配置非常简单
- job_name: "process"
static_configs:
- targets: ["192.168.255.119:9256"]
labels:
instance: process119
Grafana的设置
https://grafana.com/grafana/dashboards/8378-system-processes-metrics/
https://grafana.com/grafana/dashboards/715-named-processes-stacked/
https://grafana.com/grafana/dashboards/249-named-processes/
我这边只使用了 8378 的pid 进行相关的工作
配置修改
0.7.10 的版本里面CPU的使用率没有区分 sys和user 所以 8378 的配置文件是不对的
无法单独显示用户/系统的CPU使用
完整的CPU使用率也需要修改一下
我这里修改为:
topk(20,(rate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance=~"$host"}[$interval]))
or
(irate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance=~"$host"}[5m])))
注意 topk 可以选择显示多个进程.进行显示