2015年2月13日金曜日

MySQLのQPSを監視するNagiosプラグイン

http://www.flickr.com/photos/khouri/8586944387/in/photostream/

https://github.com/takeshiyako2/nagios-check_mysql_qps

MySQLのQPSを監視するNagiosプラグインを書きました。
SHOW STATUS LIKE "Queries"の結果を保存しておき、差分を経過時間で除算してQPSを算出します。
QPSにしきい値をもうけてアラートをすることができます。



以下、設定方法です。
あらかじめ、Rubyを用意しておいてください。

プラグインをgit cloneして、mysql2ライブラリをインストール。
$ git clone git@github.com:takeshiyako2/nagios-check_mysql_qps.git
$ cd nagios-check_mysql_qps
$ bundle

スクリプトの動作チェック。
$ ruby check_mysql_qps.rb -H localhost -u username -p xxxx -w 500 -c 900
OK - Current Status is saved. queries:10000, unixtime:1423816070

$ ruby check_mysql_qps.rb -H localhost -u username -p xxxx -w 500 -c 900
OK - 123 Queries per second|QPS=123

テンポラリファイルを削除しておく。
$ rm /tmp/check_mysql_qps.dat

あとは、Nagios/Nrpeに上記のような設定を仕込んでおけばOKです。
Enjoy!