process-exporter 监控linux机器进程使用情况

发布时间 2023-11-09 22:16:17作者: 济南小老虎

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 可以选择显示多个进程.进行显示

效果

image