process-exporter是一个进程监控软件,可以把数据传输给prometheus进行管理
安装运行
地址:https://github.com/ncabatoff/process-exporter/releases
代码语言:javascript复制wget https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter-0.7.10.linux-amd64.tar.gz
tar -zvxf process-exporter-0.7.10.linux-amd64.tar.gz
cd process-exporter-0.7.10.linux-amd64/
./process-exporter
可通过 process-exporter --help
查看命令帮助,默认监听:9256端口
process-exporter配置项
通过yml方式配置
代码语言:javascript复制# 若监控主机上所有进程
process_names:
- name: "{{.Comm}}"
cmdline:
- '. '
# 若监控主机上某个进程
process_names:
- name: "{{.Matches}}"
cmdline:
- 'hadoop'
模板变量说明:
代码语言:javascript复制{{.Comm}} 包含原始可执行文件的基本名称,即 /proc/<pid>/stat
{{.ExeBase}} 包含可执行文件的基本名称
{{.ExeFull}} 包含可执行文件的标准路径
{{.Username}} 包含有效用户的用户名
{{.Matches}} 包含所有由于应用cmdline正则表达式而产生的匹配项
{{.PID}} 包含过程的PID。请注意,使用PID意味着该组将仅包含一个进程
{{.StartTime}} 包含过程的开始时间。与PID结合使用时,这很有用,因为PID会随着时间的推移而被重用
启动时附带配置文件:
代码语言:javascript复制./process-exporter -config.path process-exporter.yml
配置prometheus动态配置文件
代码语言:javascript复制 - job_name: "process"
file_sd_configs:
- files: [/usr/local/prometheus-2.42.0.linux-amd64/sd_config/process.yml]
refresh_interval: 5s
新增加一个process.yml到sd_config
代码语言:javascript复制- targets:
- 127.0.0.1:9256
成功
导入到grafana
id 249,直接导入: