首页 » 运维 » 监控工具 » 正文

zabbix 自定义shell脚本进行监控

zabbix可以监控很多东西,内置了很多监控项,但是,我们如果想监控一个比较特殊的东西,而zabbix自身又没带,这个时候我们就可以通过zabbix_sender来实现某个特殊项的监控:

比如,我们要检测 tomcat 是否正常,若果不正常,就重启

#!/bin/bash
#检测tomcat状态并做相应的操作,启动tomcat
# maple 20121113

zabbix_sender=”/usr/bin/zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k tomcat_id -o”
TOMCATPATH=/program/tomcat7-3/
#tomcat 路径
TOMCATPORT=8083
#tomcat 端口
cd $TOMCATPATH
pIDa=/usr/sbin/lsof -i :$TOMCATPORT|grep -v "PID" | awk '{print $2}'
if [ “$pIDa” != “” ];
#判断该端口是否被占用
then
#如果被占用,说明启动着
$zabbix_sender 1 >/dev/null
else
#如果不被占用,说明出问题了
$zabbix_sender 0 >/dev/null
bin/startup.sh
#直接重启
fi

我们需要注意的地方有如下几个地方:

1:tomcat_id ,这个是一个key,也就是说,必须是我们先在zabbix中创建key,然后我们才能给这个key发送值,创建的方法是在zabbix中template创建item

2: 我们定义了两个值 0 1 ,0 是tomcat有问题,1 是正常

然后我们就可以发送值了

3:我们需要定义一个trigger来绑定我们的item,比如trigger就是我们这个item的值是是1的时候就报警

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)