首页 > 系统相关 >使用process-exporter监控主机进程

使用process-exporter监控主机进程

时间:2023-05-22 15:37:44浏览次数:55  
标签:exporter name 配置文件 process 主机 PID 进程

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监控主机进程_linux

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监控主机进程_github_02

systemctl restart prometheus

检查prometheus中tagerts是否存在

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


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

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



配置granafa监控

使用模板id为249:

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


常用process查询

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



标签:exporter,name,配置文件,process,主机,PID,进程
From: https://blog.51cto.com/u_11555417/6324642

相关文章

  • python 进程池multiprocessing.Pool
    转载:python进程池multiprocessing.Pool(44)-知乎(zhihu.com)python进程池Pool和前面讲解的python线程池类似,虽然使用多进程能提高效率,但是进程的创建会消耗大量的计算机资源(进程Process的创建远远大于线程Thread创建占用的资源),线程是计算机最小的运行单位,连线程都需要使用线程......
  • python基础-进程池、submit同异步调用、shutdown参数、ProcessPoolExecutor进程池、进
    转载:(14条消息)python基础-进程池、submit同异步调用、shutdown参数、ProcessPoolExecutor进程池、进程池ftp_pythonsubmit_易辰_的博客-CSDN博客引入进程池在学习线程池之前,我们先看一个例子frommultiprocessingimportProcessimporttimedeftask(name):print(......
  • python进程池ProcessPoolExecutor的用法与实现分析
    转载:(14条消息)【Python随笔】python进程池ProcessPoolExecutor的用法与实现分析_utmhikari的博客-CSDN博客concurrent.futures—Launchingparalleltasks—Python3.11.3documentation在python开发期间,由于GIL的原因,不能直接采用并行的方式处理代码逻辑。在multiprocess......
  • matlab如何通过命令查看主机相关信息
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • Zabbix搭建与主机监控(docker-compose方式安装)
    Zabbix搭建与主机监控Cloud研习社 Cloud研习社 2023-05-1907:31 发表于山东收录于合集#计算机211个#linux238个#云计算226个Cloud研习社为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以......
  • 使用Ansible OpenStack SDK创建OpenStack云主机
    安装OpenStackSDKpipinstallopenstacksdk安装Ansiblepipinstallansible创建一个Ansibleplaybook文件,例如create_instance.yml,并添加以下内容:----hosts:localhostgather_facts:notasks:-name:Createaninstanceos_server:state:p......
  • 使用Ansible OpenStack SDK获取OpenStack的云主机列表
    1、使用Ansible的os_server_info模块可以获取OpenStack中所有云主机的列表。在使用该模块之前,需要确保已经安装了OpenStackSDK。以下是使用os_server_info模块获取所有云主机列表的示例AnsiblePlaybook:-name:Getlistofallservershosts:localhostgather......
  • chatGP问答 - elasticsearch ,这个报错memory locking requested for elasticsearch p
    问:elasticsearch,这个报错memorylockingrequestedforelasticsearchprocessbutmemoryisnotlocked答:是的,我理解你的问题。当你在配置Elasticsearch时,如果遇到"memorylockingrequestedforelasticsearchprocessbutmemoryisnotlocked"错误,这通常表示El......
  • How to accelerate the process of preclinical studies of new medicines
    Accordingtothedrugdevelopmentprocess,newdrugdevelopmentcanbedividedintopreclinicalandclinicalstudies.Theformeristhesumofalltheresearchworkdoneonadrugbeforeitentersclinicaltrials,andthelatteristheresearchworkdone......
  • docker 安装nginx 主机可以访问,但是外网访问不了--set:nu
    在外网确实访问不了:第一步:查看端口是否打开ss  -auput|grep":80"第二:查看防火墙是否打开firewall -cmd --state第三:是否缺少内核的转发vim/etc/sysctl.conf添加 net.ipv4.ip_forward=1查看配置是否生效 ......