使用process-exporter监控主机进程

奋斗吧
奋斗吧
擅长邻域:未填写

标签: 使用process-exporter监控主机进程 博客 51CTO博客

2023-05-22 18:24:12 268浏览

使用process-exporter监控主机进程,process-exporter介绍在prometheus中,可以借助process-exporter用来检测所选进程的状态信息,官网地址https://github.com/ncabatoff/process-exporter运行方法:process-exporter[options]-config.pathfilename.yml若选择监控的进城并对其进行分组,可以使用命令行参数或者y

process-exporter介绍

在prometheus中,可以借助process-exporter用来检测所选进程的状态信息,官网地址https://github.com/ncabatoff/process-exporter

运行方法:

 process-exporter [options] -config.path filename.yml

若选择监控的进城并对其进行分组,可以使用命令行参数或者yaml配置文件,推荐使用-confg.path指定配置文件路径。

详细的yml配置文件格式以及规则参考官方说明,以下是常用的监控规则

#监控主机上所有的进程
process_names:
  - name: "{{.Comm}}"
  	cmdline:
    - '.+'
    


#监控主机上指定进程
process_names:
  - name: "{{.Matches}}"
  	cmdline:
    - 'sshd'

常用的模板变量如下:

#配置文件根据变量名匹配到配置文件
{{.Comm}}           包含原始可执行文件的基本名称,即 /proc/<pid>/stat
 
{{.ExeBase}}        包含可执行文件的基本名称
 
{{.ExeFull}}        包含可执行文件的标准路径
 
{{.Username}}       包含有效用户的用户名
 
{{.Matches}}        包含所有由于应用cmdline正则表达式而产生的匹配项
 
{{.PID}}            包含过程的PID。请注意,使用PID意味着该组将仅包含一个进程
 
{{.StartTime}}      包含过程的开始时间。与PID结合使用时,这很有用,因为PID会随着时间的推移而被重用

日常工作,不建议使用PID或者StartTime

配置安装

安装并注册到系统服务

#下载
wget https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter-0.7.10.linux-amd64.tar.gz

#解压
tar -xf process-exporter-0.7.10.linux-amd64.tar.gz -C /usr/local/
#重命令
mv process-exporter-0.7.10.linux-amd64 process_exporter

#注册到系统服务
cat > /etc/systemd/system/process_exporter.service << EOF
[Unit]
Description=process_exporter
Documentation=https://github.com/ncabatoff/process-exporter
After=network.target
 
[Service]
ExecStart=/usr/local/process_exporter/process-exporter \
-config.path=/usr/local/process_exporter/process-conf.yaml
Restart=always
 
[Install]
WantedBy=multi-user.target
EOF

#加载并开机启动
systemctl daemon-reload && systemctl enable process_exporter

配置监控进程举例

process-exporter可以对进程名字进行匹配,获取进程信息,匹配的规则由name 对应的模板变量决定。

编写配置文件process-conf.yaml,监控所有进程。

# vim process-conf.yaml

#process_names:
#  - name: "{{.Matches}}"
#    cmdline:
#    - 'sshd'
#    - 'docker'

process_names:
 - name: "{{.Comm}}"
   cmdline:
   - '.+'


#启动process-exporter
systemctl start process_exporter

配置完成后,查看metric信息: http://ip:9256

使用process-exporter监控主机进程_github

promethues sever上添加监控

在promethues配置文件prometheus.yml中,添加process exporter信息

- job_name: Process Monitor
  static_configs:
  - targets: ['192.168.33.130:9256']

检查配置文件并重启

./promtool check config prometheus.yml

使用process-exporter监控主机进程_linux_02

systemctl restart prometheus

检查prometheus中tagerts是否存在

使用process-exporter监控主机进程_linux_03


在prometheus中的console页面,就能查询到相关数据

使用process-exporter监控主机进程_配置文件_04



配置granafa监控

使用模板id为249:

使用process-exporter监控主机进程_linux_05


常用process查询

#统计由多少进程数
sum(namedprocess_namegroup_states)
#统计有多少僵尸进程
sum(namedprocess_namegroup_states{state=“Zombie”}



好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695