zabbix监控java进程
编辑zabbix_agentd配置文件,增加键值vi /etc/zabbix/zabbix_agentd.conf
UserParameter=java,ps -ef|grep bootstrap.jar|grep -v grep|awk '{print $2}'
ps -ef|grep bootstrap.jar|grep -v grep|awk '{print $2}'这个就是取得jar包所运行的pid作为一个键值返回给zabbix server
修改完成之后一定要重启zabbix agentd
ps -ef|grep zabbix|grep -v grep|awk '{print $2}'|xargs kill -s 9
/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
配置触发器,添加上刚才的键值
java2017-08-01 14:31:0724833图形
就能在最新数据里面获得java进程的pid了
有了数值之后就可以配置触发器进行告警了
这个方法只是在这台主机上创建键值和触发器,目前还没有模板化。
当改变键值的时候
UserParameter=java,ps -ef|grep bootstrap123.jar|grep -v grep|awk '{print $2}'
ps -ef|grep bootstrap123.jar|grep -v grep|awk '{print $2}' 返回的为空值,但是这个时候在zabbix server上显示最新数据那一项为灰色,看来空值zabbix
是无法识别的。必须再重新写一个脚本对进程返回值进行判断
# cat get_javaproess.sh
#!/bin/bash
javapid=`ps -ef|grep bootstrap123.jar|grep -v grep|awk '{print $2}'`
if [ "$javapid" = "" ];then
echo 0
else
echo $javapid
fi
修改键值
UserParameter=java,bash /etc/zabbix/scripts/get_javaproess.sh
重启zabbix
当javapid为空,echo 0 返回给zabbix server的数值不被识别,该监控项无效
重新修改了下脚本
#!/bin/bash
javapid=`ps -ef|grep bootstrap123.jar|grep -v grep|awk '{print $2}'`
if [ "$javapid" = "" ];then
javapid=0
fi
echo $javapid
页:
[1]