码迷,mamicode.com
首页 > 其他好文 > 详细

Zabbix监控特定程序的详细步骤

时间:2016-08-15 14:45:58      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:监控   运维   zabbix   后台程序   

zabbix除了自带的模板提供监控cpu、磁盘容量、内存这样的“老三篇”功能之外,还可以自己选择监控服务器里指定的程序,一般来说公司内部都会有自己的开发人员用java或者c++写一些程序放在各自对应的服务器上奔跑,而zabbix就可以实现“监控这些程序以及这些程序端口是否正常运行”。


其实zabbix监控相关程序是否正常运行的原理很简单,其实就是看一下这个文件在后台运行的数量,如果数量与运维设定的数量一样,那么zabbix就基本认为这个程序是在后台运行,也就不会触发报警。反之就会有对应的报警。


zabbix_server查看“文件在后台运行数量”所对应的key就是:proc.num[<name>,<user>,<state>,<cmdline>],具体意思如下:

<name>:进程名称,默认为“all processes”;

<user>:用户名,默认 “all users”;

<state>:可用值,默认是 all,可以进一步设定比如run,sleep等等;

<cmdline>:ps -ef命令行过滤,这里可以写正则表达式或者关键字,推荐用这个而不要用上面的name,因为这个更准确。


千说万说不如一个例子,现在我要监控一个叫MRS的一个模块,这是我们公司的一个内部模块,至于里面的内容鬼知道,这个不是我们care的地方,我们care的是它是否在后台运行。首先,我们先登陆这个MRS模块所在的服务器里,检查一下它现在运行着几个后台程序,既然它是我们的PL用java写的程序,那自然要用#ps -ef | grep java了。

技术分享

可以看到,虽然这台mrs-012出现了三行java相关进程,但是只有一个是mrs程序,另一个是zookeeper,还有一个是gerp,这两个不是我们想要的,所以后台mrs进程数是1。


那么我们再返回到zabbix-server使用zabbix_get命令,查看一下zabbix_server是否能得到这个“1”。

技术分享看,mrs进程数量是1,java进程数量是2,与真实结果相同,这样我们心里就有底了,这个key是可以用的,可以直接添加到item里。


于是乎,在zabbix的web界面里---configuration---Templates/Hosts里添加一个item,如图:

技术分享


有了item之后还要有trigger,我们都有了key还担心啥trigger,如图直接搞!

技术分享

这个expression意思是最近一次的mrs程序数为0就会触发high级别的报警,如果各位觉得这样的判别语句比较容易误报的话,可以把expression语句改一下,改成:{templates名/hosts名:proc.num[,root,all,java].max(#2)}=0},即最近的两次值为0会触发报警,这样可能正确率会更高一点吧。


至于action神马的,就是看个人喜好了。这里不多赘述。



参考资料:http://blog.csdn.net/apache0554/article/details/45821591



本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1837990

Zabbix监控特定程序的详细步骤

标签:监控   运维   zabbix   后台程序   

原文地址:http://chenx1242.blog.51cto.com/10430133/1837990

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!