MySQL Replication 監視 その2

神の声が聞こえたので 修正しました。

#!/bin/sh

PASSWORD="PASSWORD"
THRESHOLD="30"
MAIL="送信先メールアドレス"

eval "`/usr/bin/mysql -u root -p${PASSWORD} -e 'show slave status \G' | sed -ne 's/: \(.*\)/="\1"/p' `"
if [ "$?${Slave_IO_Running}${Slave_SQL_Running}" != "0YesYes" ]; then
/usr/bin/mysql -u root -p"${PASSWORD}" -e 'show slave status \G' |/bin/mail -s "REPLICATION DOWN "`hostname` ${MAIL}
elif [ "${Seconds_Behind_Master}" -gt ${THRESHOLD} ]; then
/usr/bin/mysql -u root -p"${PASSWORD}" -e 'show slave status \G' |/bin/mail -s "REPLICATION IS DELAYED "`hostname` ${MAIL}
exit 1
fi

SHOW SLAVE STATUSでSeconds_Behind_Masterという項目があるのですが、
Masterとの同期にどれくらい遅れが生じているかという目安になるようです。

これを取得して30秒以上遅れていたら、
レプリケーションが遅延しているとメールを送信するように修正しました。

30秒も遅れることがあるのかどうか、30秒だと閾値として高すぎるのかどうか。
まったく分かってないです。