NagiosでMySQL レプリケーション監視のプランニング

5月 6, 2010

(お断り:この記事はほとんど「ひとり言」なので参考にならないと思います。。)

前回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/

思いのままに書き綴ったが、どのツールを使うにせよ、スレーブマシンが固定している
場合はよいが、フェイルオーバーが発生してマスタ/スレーブが入れ替わったときの
プランを練らなければいけない。

もうちょっとじっくり考えてみよう・・・

Categories: MySQL

No Responses so far | Have Your Say!

Comments are closed.