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

时间: 2024-10-06 05:38:34

Zabbix监控特定程序的详细步骤的相关文章

zabbix 监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1. 在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是

mac下 Struts2 第一个程序的详细步骤(附带源码链接)

mac下 Struts2 第一个程序的详细步骤 1.新建web工程 (1) 打开MyEclipse 2015,选择File->New->Web Porject 菜单,新建一个web project. (2)配置Project信息 填写工程名字myFirstStrust2WebProject,选择默认项目存放路径,选在javaEE 6版本. 选择下一步,再下一步,选择默认创建默认首页index.jsp和web.xml(web.xml文件作用)文件,这两个文件也可以后来添加,然后选择完成. 2.下

zabbix监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1.在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是进

Zabbix监控指定端口的步骤

前文有讲过"Zabbix监控制定程序的步骤",但是有不少程序是依赖端口的,会有几率出现端口的故障,那么zabbix也会有对应的检测端口的key. 这个key就是net.tcp.listen[port],这个key如果检测对应的port是正常的,返回值是1,否则就是0. 如果你忘记了对应的端口,而只记得程序名怎么办? #netstat,至于后面的参数是ntpl还是ntp就是具体情况具体分析了. 假设我们现在要检测一下9202端口,就如图所示的配item呗: 配完item,配trigger

Nginx服务纳入到zabbix监控

工作中有用到Nginx做负载均衡,所以想尝试一下,把Nginx服务用zabbix监控起来 记录下操作步骤,以防下次忘记 涉及的实验环境: 服务器操作系统:CentOS 7.2 zabbix版本:zabbix-2.2.5 Nginx版本:nginx-1.10.1 要做监控步骤前,先查看下当前Nginx中是否加载了--with-http_stub_status_module的模块. # /data0/nginx/sbin/nginx -V nginx version: nginx/1.10.1 bu

zabbix监控平台部署详细文档

监控系统介绍 一:监控介绍 1.监控软件介绍:使用 SNMP 协议获取主机 CPU.内存.磁盘.网卡流量等数据.用脚本将获取到的 SNMP 数据存入数据库中,然后再使用一种名为 MRTG 的软件根据获取的数据绘制图表来分析数据的变化.MRTG(Multi Router Traffic Grapher),顾名思义,这款软件最初是设计用于监控网络链路流量负载的.它可以用过 SNMP 获取到设备的流量信息,并根据这些信息绘制成图表并保存为 PNG 格式的图片,再将这些 PNG 图片以HTML 页面的方

FEKO 6.0 电磁仿真软件在 Linux下安装以及破解详细步骤(附下载地址和注册程序)

FEKO6.0各版本下载地址(来源于寺院的研究僧): Intel/AMD (32-bit x86) Windows (XP, Vista, Windows 7, Server 2003) feko_distrib_6.0_win32.exe (320 MByte) Linux feko_distrib_6.0_LINUX.tar.gz (392 MByte) Intel/AMD (64-bit x86_64) Windows (XP, Vista, Windows 7, Server 2003,

zabbix监控supervisorctl status状态程序运行状态无法获取值的解决方法

前几天做zabbix监控supervisorctl status的程序运行状态,获取RUNNING的状态,如果配置是RUNNING,就返回结果为1,如果非RUNNING,就返回为0 测试过程中,不管怎么执行,本地执行都很正常,就是zabbix获取的时候,就是一个非正常值,排查了很久,认为zabbix获取的有问题,经排查,发现是zabbix执行supervisorctl status时没有权限,所以返回的值就不正常了,报错如下:error: <class 'socket.error'>, [Er

ZABBIX监控一台服务器上多实例memcache落地经验步骤

大家好!我是系统运维工程师: 李超  上一次给大家分享了工作中监控多实例tomcat的自发现zabbix做法,今天带给大家的就是一台服务器上监控多memcache的一个落地经验. 首先我带大家看一下多实例memcache做法,话不多说,咱们开工: 由于是多实例,所以就需要用到zabbix的自动发现功能(LLD)基本思路如下: 1.写自动发现脚本. 2.写状态取值脚本. 3.添加配置文件. 4.添加权限. 5.配置zabbix web. zabbix我采用yum安装所以路径是/etc/zabbix