1,编写取值脚本
~/sh# vim check_500_error.sh
#!/bin/bash
DIR=/var/www/creditReport/logs
DATE=`date +%Y-%m-%d`
TODAY1=`date +%d/%b`
START_TIME=`date +%Y:%H:%M -d '5 min ago'`
END_TIME=`date +%Y:%H:%M`
cat ${DIR}/localhost_access_log.${DATE}.txt | grep ${TODAY1} | sed -n '/'${START_TIME}'/,/'${END_TIME}'/p'| grep -E "status\":\"5[0-9][0-9]\"" |wc -l > /tmp/500_error.log
2,编写判断脚本
/usr/local/nagios/libexec# vim check_500_error
#!/bin/bash
E500=`cat /tmp/500_error.log`
if [ $E500 == 0 ]
then
echo "status ok"
exit 0
else
echo "5XX错误是是$E500"
exit 2
fi
3,添加nrpe配置文件
/usr/local/nagios/etc# vim nrpe.cfg
command[check_500_error]=/usr/local/nagios/libexec/check_500_error
4,添加计划任务并重启
crontab -e
*/5 * * * * bash /root/sh/check_500_error.sh
service cron restart
5,服务端编写监控项
/usr/local/nagios/etc/servers/prd# vim name.cfg
define service {
host_name name-01
service_description raptor_5xx_error
check_command check_nrpe!check_500_error
use generic-cpjk
}
6,服务端nagios reload
service nagios reload