MySQL Replication 監視 その2
@benelux01 Seconds_Behind_Masterを見てMaster-Slaveの遅延がN秒以上だったらアラート。とかもあると嬉しいかもです
2011-09-02 22:56:25 via YoruFukurou to @benelux01
#!/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秒だと閾値として高すぎるのかどうか。
まったく分かってないです。