qqruser 发表于 2018-1-1 11:33:20

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]
查看完整版本: zabbix监控java进程