https://github.com/takeshiyako2/nagios-check_mysql_innodb_row_operations
MySQLのInnoDB Row Operationsを監視するNagiosプラグインを書きました。
SHOW /*!50000 ENGINE*/ INNODB STATUSの結果を保存しておき、差分を経過時間で除算してRow Operations/secを算出します。
この数値にしきい値をもうけてアラートをすることができます。
以下、設定方法です。
あらかじめ、Rubyを用意しておいてください。
プラグインをgit cloneして、mysql2ライブラリをインストール。
$ git clone git@github.com:takeshiyako2/nagios-check_mysql_innodb_row_operations.git $ cd nagios-check_mysql_innodb_row_operations $ bundle
スクリプトの動作チェック。
-o オプションを付けることによって、InnoDB Row Operationsの inserts, updates, deletes, reads からチェックしたい項目選びます。 デフォルトは、reads です。
$ ruby check_mysql_innodb_row_operations.rb -H localhost -u username -p xxxx -o reads -w 100000 -c 200000 OK - Current Status is saved. values:{:inserts=>"10000000", :updates=>"10000000", :deletes=>"10000000", :reads=>"10000000", :unixtime=>1424072459} $ ruby check_mysql_innodb_row_operations.rb -H localhost -u username -p xxxx -o reads -w 100000 -c 200000 OK - reads 12345 Operations per second|OPS=12345
テンポラリファイルを削除しておく。
$ rm /tmp/check_mysql_innodb_row_operations*あとは、Nagios/Nrpeに上記のような設定を仕込んでおけばOKです。 Enjoy!