やりたいこと
例えば10台のサーバでHTTPチェックをして「hostgroupに定義しているホストのうち、n台までNGはアラートはWARN、n台を超えたらCRIT」みたいな事をやりたい時に、監視プラグイン側にチェックする為のIPアドレスを引数に渡したいけど、service定義する箇所でコマンドの引数に全部のIPを書くとかはイケていないのでチラッと本を読んだら書いてあった。
方法
簡単に言うと
$HOSTADDRESS:<hostgroup名>:<デリミタ>$
というオンデマンドグループマクロという物を使えば実現出来る。
check_command check_nagios_value_test!$HOSTADDRESS:linux_servers: $
こんな感じで定義すると、仮にlinux_serversにhost1,host2が設定されていれば、監視プラグイン側には
host1のIPアドレス host2のIPアドレス
という形で引数に入る。
以上です。