SQLで取得した値を評価して、Nagiosさんに戻り値を返すスクリプト。
https://github.com/yoku0825/my_script/blob/master/nagios_for_mysql.pl
こんな風に使う。
$ ./nagios_for_mysql.pl --user root --password xxxx --host 127.0.0.1 --port 64056 --sql "SELECT COUNT(*) FROM information_schema.processlist WHERE state IN ('update', 'updating') AND time > 10" --warning 10 --critical 20 $ echo $? 3
走行中(というかgrn_io_lock待ちだ)のスレッドの数を数えてみたり。
$ perl ./nagios_for_mysql.pl --user root --host 127.0.0.1 --port 64056 --sql "SELECT table_rows FROM information_schema.tables WHERE table_schema = 'mysql' AND table_name = 'user'" $ echo $? 0
テーブルに格納されている件数を確認してみたり(i_sだから正確じゃないのはいいとして)、各パーティションに入ってる件数もi_sから引けるので色々どうとでもなるし、
(このへんのクエリーと組み合わせる感じ http://yoku0825.blogspot.jp/2014/03/informationschematips.html )
$ perl ./nagios_for_mysql.pl --user root --host 127.0.0.1 --port 64056 --sql "SELECT variable_value FROM information_schema.global_status WHERE variable_name = 'sort_merge_passes'" --warning 2 --critical 10 $ echo $? 0
累計だけど、ステータス変数の監視もできるっちゃできる。
絶対どこかにあるんだけど、探すより書いちゃう方が早かった。。
【2014/07/30 17:01】
早速教えていただいた :)
@yoku0825 機能見てないけど、クエリ書けるpluginありますね https://t.co/Mb14xJqqyf
— masahiro nagano (@kazeburo) 2014, 7月 30
ありがとうございます(*-人-)
0 件のコメント :
コメントを投稿