web-dev-qa-db-ja.com

NRPEチェックパラメータが失われる

私は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

2

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でそれをする方法です。真剣も同じはずです。

2
Keith