NagiosでMySQL レプリケーション監視のプランニング
(お断り:この記事はほとんど「ひとり言」なので参考にならないと思います。。)
前回NagiosでMySQL監視をするための設定をざっくり書いてみたが、その一歩先に進んでみる。
前回の繰り返しになるが、Nagiosではエージェントに何か特定の監視内容を追加する場合は、
以下の定型的な流れがあるようだ。
1.監視定義ファイル(/usr/local/nagios/etc/objects/hostname.cfg)
に追加するサービスの定義とコマンドの引数を記述
2.コマンド定義ファイル(/usr/local/nagios/etc/objects/commands.cfg)
にマクロを利用したコマンドの内容を記述
Nagiosでのレプリケーション監視の参考サイトとしては以下のようなのがあるのだが・・・
NagiosでのMySQL Slave状態のチェックでは、以下よりツールをダウンロードする。
↓ ↓ ↓
Nagios Plugin: Check MySQL Replication Slave Status
確認できるのは、スレーブマシンのレプリケーションが稼働しているかどうか、
seconds behind masterの値。
これだけなら標準でプラグインに含まれるcheck_mysql_queryでどうにかなりそうな
気もするが、どうだろう・・・
しかしこちらをみると、check_mysql_queryのメインの使用方法はクエリ発行による
死活監視みたいだ。うーむ。。
↓ ↓ ↓
http://satospo.sakura.ne.jp/blog_archives/tech/network/nagios2_plugin.html
こんなのもある。
↓ ↓ ↓
NagiosによるMySQLの監視
これは、dba.sql、schema.sqlのふたつのsqlファイルを利用して監視用のDBを作成し、
Perlのスクリプトで監視するようだ。
スクリプトがcheck_mysql_heartbeat.plというくらいだから、いわゆる「死活監視」をするんだろうな。。
(まだ実装していないのでよくわかりません)
とりあえずダウンロードしたsqlを以下のように流す。
sqlの中身は、DB/テーブル/ユーザ作成するだけのごく簡単なものである。
$ mysql -u root -pxxxxxx < dba.sql
$ mysql -u root -pxxxxxx < schema.sql
それからPerlのスクリプトをインストールして、Nagiosの設定ファイル編集。
ツールは以下よりダウンロード。
↓ ↓ ↓
http://sourceforge.jp/cvs/view/webframe/core/conf/nagios/check_mysql_heartbeat/
詳細はやってみてから。
追記
Nagios標準プラグインに含まれるcheck_mysqlでもレプリケーション監視が
できることが判明。書籍「サーバ/インフラを支える技術」(技術評論社)の
サポートサイトにも、レプリケーション監視用のサンプルスクリプトがある。
↓ ↓ ↓
http://gihyo.jp/book/2008/978-4-7741-3566-3/support/
思いのままに書き綴ったが、どのツールを使うにせよ、スレーブマシンが固定している
場合はよいが、フェイルオーバーが発生してマスタ/スレーブが入れ替わったときの
プランを練らなければいけない。
もうちょっとじっくり考えてみよう・・・