Nagios+NRPE環境でサーバごとに監視の閾値変えたいなーと思ったんですが、nrpe.cfgをサーバごとに変えるのはちょっとダルい。
本体側の設定でなんとかできないかなと思って調べてると、こういうのがありました。
カスタム・オブジェクト変数
nagios.cfg内で自由に変数を定義できるみたいです。使ってみましょう!
サンプル設定
NRPE側の設定がこんな感じになってるとして、
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
サーバ側はこんな感じ
;テンプレート側でデフォルト値を定義する define host{ name linux-server ... _DISK_WARNING 20 _DISK_CRITICAL 10 } ;デフォルトでいいサーバはそのまま define host{ use linux-server host_name test01 hostgroups linux address 192.168.1.61 } ;デフォルトから変更したいサーバだけ変数を上書き define host{ use linux-server host_name test02 hostgroups linux address 192.168.1.62 _DISK_WARNING 99 _DISK_CRITICAL 98 } define command{ command_name check_nrpe_arg command_line $USER1$/check_nrpe -t 20 -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ } ;監視引数で定義したカスタムオブジェクト変数を使う define service{ use generic-service hostgroup_name linux service_description Disk Usage ; check_command check_nrpe_arg!check_disk!20% 10% / check_command check_nrpe_arg!check_disk!$_HOSTDISK_WARNING$% $_HOSTDISK_CRITICAL$% / }
デバッグログとか見てるととりあえずできてるっぽい。
まとめ
みんなこういう場合どうやってるのかな?もっとオシャレな方法あるんだろうか・・・