2009年7月10日金曜日

MySQLレプリケーションの確認を行うnagiosプラグイン

check_mysql_repchk


#!/bin/sh

while test -n "$1"; do
case "$1" in
-H)
HOST=$2
;;
-u)
USER=$2
;;
-p)
PASS=$2
;;
esac
shift
done

MYSQL="/usr/bin/mysql"
QUERY="show slave status\G"
DIR="/usr/lib/nagios/plugins"
. $DIR/utils.sh

IO_CHECK=`echo $QUERY | $MYSQL -u$USER -p$PASS -h $HOST | grep Slave_IO_Running | awk '{print $2}' `
SQL_CHECK=`echo $QUERY | $MYSQL -u$USER -p$PASS -h $HOST | grep Slave_SQL_Running | awk '{print $2}' `
#echo $IO_CHECK
#echo $SQL_CHECK

if test $IO_CHECK = "Yes" -a $SQL_CHECK = "Yes"; then
exitstatus=$STATE_OK
#exitstatus=$STATE_CRITICAL
else
exitstatus=$STATE_CRITICAL
#exitstatus=$STATE_OK
fi

$ECHO "IO_STATUS: $IO_CHECK, SQL_STATUS: $SQL_CHECK"
exit $exitstatus

nagiosからレプリケーションのスレーブにshow slave status\Gを実行して
Slave_IO_RunningとSlave_SQL_Runningを見る。
どちらもYesならSTATE_OKを返す
どちらかが、またはどちらもNoならSTATE_CRITICALを返す

0 件のコメント: