how to auto restart zabbix server
时间:2010-10-14 来源:liuxh6
We have a script which starts every 2 minutes: (root cronjob)
*/2 * * * * /scripts/zabbix_check_18.sh
#/bin/bash
TIMESTAMP=`date +%d-%m-%y_%H:%M:%S`
OUTPUT=`cat /var/log/zabbix/zabbix_server.log | grep -i 'buffer is full' | wc -l`
if [ $OUTPUT -gt 0 ] ; then
echo "$TIMESTAMP Zabbix restart check buffer restarted ($OUTPUT)" >> /var/log/zabbix/zabbix_restart.log
/usr/bin/killall -9 zabbix_server
sleep 5
mv -f /var/log/zabbix/zabbix_server.log /var/log/zabbix/zabbix_server.log.restarted
/etc/init.d/zabbix_server start
fi
OUTPUT=`ps -ef | grep /etc/zabbix/bin/zabbix_server | wc -l`
if [ $OUTPUT -lt 2 ] ; then
echo "$TIMESTAMP Zabbix restart crash restarted ($OUTPUT)" >> /var/log/zabbix/zabbix_restart.log
mv -f /var/log/zabbix/zabbix_server.log /var/log/zabbix/zabbix_server.log.restarted
/etc/init.d/zabbix_server start
fi
OUTPUT=`ps -ef | grep zabbix_server | grep defunct | wc -l`
if [ $OUTPUT -gt 0 ] ; then
echo "$TIMESTAMP Zabbix restart defunct restarted ($OUTPUT)" >> /var/log/zabbix/zabbix_restart.log
/usr/bin/killall -9 zabbix_server
sleep 5
mv -f /var/log/zabbix/zabbix_server.log /var/log/zabbix/zabbix_server.log.restarted
/etc/init.d/zabbix_server start
fi
*/2 * * * * /scripts/zabbix_check_18.sh
#/bin/bash
TIMESTAMP=`date +%d-%m-%y_%H:%M:%S`
OUTPUT=`cat /var/log/zabbix/zabbix_server.log | grep -i 'buffer is full' | wc -l`
if [ $OUTPUT -gt 0 ] ; then
echo "$TIMESTAMP Zabbix restart check buffer restarted ($OUTPUT)" >> /var/log/zabbix/zabbix_restart.log
/usr/bin/killall -9 zabbix_server
sleep 5
mv -f /var/log/zabbix/zabbix_server.log /var/log/zabbix/zabbix_server.log.restarted
/etc/init.d/zabbix_server start
fi
OUTPUT=`ps -ef | grep /etc/zabbix/bin/zabbix_server | wc -l`
if [ $OUTPUT -lt 2 ] ; then
echo "$TIMESTAMP Zabbix restart crash restarted ($OUTPUT)" >> /var/log/zabbix/zabbix_restart.log
mv -f /var/log/zabbix/zabbix_server.log /var/log/zabbix/zabbix_server.log.restarted
/etc/init.d/zabbix_server start
fi
OUTPUT=`ps -ef | grep zabbix_server | grep defunct | wc -l`
if [ $OUTPUT -gt 0 ] ; then
echo "$TIMESTAMP Zabbix restart defunct restarted ($OUTPUT)" >> /var/log/zabbix/zabbix_restart.log
/usr/bin/killall -9 zabbix_server
sleep 5
mv -f /var/log/zabbix/zabbix_server.log /var/log/zabbix/zabbix_server.log.restarted
/etc/init.d/zabbix_server start
fi
相关阅读 更多 +