参考http://chenx1242.blog.51cto.com/10430133/1837990
1 前期说明
zabbix_server查看“文件在后台运行数量”所对应的key就是:proc.num[<name>,<user>,<state>,<cmdline>],具体意思如下:
<name>:进程名称,默认为“all processes”;
<user>:用户名,默认 “all users”;
<state>:可用值,默认是 all,可以进一步设定比如run,sleep等等;
<cmdline>:ps -ef命令行过滤,这里可以写正则表达式或者关键字
2 比如监控nginx进程
Ps ef | grep nginx
root 15032 1 0 Nov17 ? 00:00:00 nginx: master process/usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 1522215032 0 Nov17 ? 00:04:36 nginx: worker process
root 2336520018 0 14:56 pts/0 00:00:00 grep --color=auto nginx
里面一共3个关于nginx的进程,其中一个是root启动的,另一个是grep的,所以只有一个nginx进程
3 在zabbix-server查看
[[email protected]~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.10 -p 10050 -k "proc.num[,root,all,nginx]"
1
发现显示结果是1 ,正常
4添加item
在zabbix的web界面里---configuration---Templates/Hosts里添加一个item,如图
5 设置trigger 如图:
这个expression意思是最近一次的mrs程序数为0就会触发high级别的报警,
如果你还想设置图像也可以添加,看个人喜好。
6 总结
通过上面的一个例子,其实你可以发现可以监控各种各样的进程,只是把key做一些改变就可以了,"proc.num[,root,all,进程名字]"