Nagiosのcheck_mysqlに.my.cnfを参照させる
MySQLの稼働やレプリケーション監視は柔軟性が欲しくて自前のスクリプトでやっているのですが、それとは別にNagiosでの監視もそれはそれで欲しいよね、という話。
check_mysqlに直接パスワード渡すとかないわー、と思って.my.cnfを渡す方法を探してみた。
$HOMEさえ設定してやれば、check_mysqlが.my.cnfを読み込んでくれるらしい。
で、こういう風に書くと実際のnagiosユーザのホームディレクトリ(/etc/passwdの設定)は関係ないので、好きなところに.my.cnfを配置出来ると。
define command{ command_name check_mysql command_line HOME=/home/nagios $USER1$/check_mysql -H $HOSTADDRESS$ }
この例では、/home/nagios/を手動で作って、そこに
[client] user = replication_user password = password
みたいな.my.cnfを置いた。
これでわりといい感じに監視出来るようになりました。