私はShinkenを実行していて、NRPEを介して監視対象のホストでbashスクリプトを実行するいくつかのコマンドを含むパックを持っています。 4つのパラメーターを受け取るbashスクリプトを実行するホストをチェックしています。コマンドで渡した4つのパラメーターのうち1つだけを実行すると、スクリプトで使用するためにホストに送られます。
私はこの問題についてたくさん検索しましたが、解決策を見つけることができませんでした。私が読んだほとんどの問題から、パラメータをNRPEに渡すことで人々が報告するのは、「dont_blame_nrpe」が適切に設定されていないか、パラメータをサポートしてnrpeがコンパイルされていないことが原因です。これは私の状況には当てはまりません。 dont_blame_nrpeは1に設定され、モジュールはパラメーターサポートを使用してコンパイルされました。さらに、単一のパラメーターを取り、正常に機能する同じホスト(同じパック内にセットアップされている)をチェックしています。
パックに入っている私のcommands.cfgは次のとおりです。
define command {
command_name check_nrpe
command_line $PLUGINSDIR$/check_nrpe -u -H $HOSTADDRESS$ -c $ARG1$ -a '$ARG2$ $ARG3$ $ARG4$ $ARG5$'
}
また、引数のセット全体を二重引用符で囲み、個々の引数を二重引用符で囲んで、上記を試しました。何があっても同じ結果が得られます。
そしてサービスの定義:
define service{
service_description check-worker-count
use generic-service
register 0
Host_name nrpe-pack
check_command check_nrpe!check-worker-count!worker-name!12!90!80
}
そして、ホスト上の/etc/nrpe.d/check-worker-count.cfg:
command[check-worker-count]=/usr/lib64/nagios/plugins/check_worker_count.sh -n $ARG1$ -p $ARG2$ -w $ARG3$ -c $ARG4$
私は最初に$ *を出力するホスト上のスクリプトを持っています、そしてこれはそれが得ているものです:
-nワーカー名-p-w -c
コマンドラインで渡されたパラメーターを使用して、ローカルでスクリプトを実行した場合と比較してください。
-nワーカー名-p12 -w 90 -c 80
Nagiosconfですべての-aARGを別々のARGに分離することを気にしないでください。あなたは引用符で自分を夢中にさせるでしょう。簡単にするために、command_line
を次のようにします。
$PLUGINSDIR$/check_nrpe -u -t 30 -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
そして、次のように使用します。
check_command check_nrpe!check-worker-count!worker-name 12 90 80
少なくとも、それはあなたがNagios/Icingaでそれをする方法です。真剣も同じはずです。