2016年5月12日木曜日

MySQL HandlerSocketのレイテンシを監視するNagiosプラグイン

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

MySQL HandlerSocketのレイテンシを監視するプラグインを書きました。
簡単な使い方。
% check_handlersocket_latency -w [waring seconds] -c [critical seconds] -host [hostname]
% check_handlersocket_latency -w 0.70 -c 1.00 -host localhost
デフォルトでは、mysqlデータベースのuserテーブルから、Hostがlocalhostのレコードを取り出して、時間を測っています。
デフォルト値は以下のようにしています。
host: localhost
port: 9998
database: mysql
table: user
index: PRIMARY
columns: Host
value: localhost
これは、オプションで変更可能です。
たとえば、以下の様なテーブルを用意したときは、このようになります。
mysql> use sampledb;
mysql> CREATE TABLE personal(id int PRIMARY KEY, name varchar(20));
mysql> INSERT INTO personal (id,name) VALUES (100, "test");
$ ./check_handlersocket_latency -w 0.005 -c 0.020 -host localhost -database sampledb -table personal -columns id -value 100
OK: HandlerSocket read response in 0.001996 s|latency_seconds=0.001996