NRPEプロファイルを確認するには?

NRPEプロファイルを確認するには?

Nagios自体には、少なくともエラーなしで構成をロードすることを確認するために構成ファイルを検証する方法があります。

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

NRPEデーモンで同じことを実行できますか? NRPEのマニュアルページにはこれをサポートしていないと記載されています。

Ansibleのlineinfileモジュールを使用してNRPE設定を更新する予定なので、少なくとも監視が完全に中断されないように検証したいと思います。

ベストアンサー1

私はあなたの研究結果に同意します。オンラインNRPE PDF構成ファイルを確認または確認する方法についての言及はありません。また、nrpe.c コード自体の process_arguments() 関数隠されたオプションが同じことを行うという意味ではありません。

次の通知を参照してNRPEホームページ:

注:このプロジェクトはNRPE 4.0.1以降は廃止されました。セキュリティの問題を解決する以外に、バグ修正や機能は提供されなくなりました。

…私もそのオプションが表示されたくありません。

一つ包んでいくのを見たけどtravis-test-1スクリプト目標は、NRPEが動作していることを確認するようです。スクリプトは、サンプルコマンドを使用して設定ファイルを生成し、コマンドのサポートスクリプトをインストールし、nagiosユーザーを追加し、デーモンモードでNRPEを起動し、localhostに対してcheck_nrpeを実行してサンプルコマンドを実行します。これにより、環境に必要なものよりも多くの変化が生じる可能性があります。

このアイデアに触発され、さまざまな方法でこの問題を解決できます。高レベルで:

  1. 構成ファイルを変更したら、NRPEがまだ実行されていることを確認してください。変更によってデーモンの実行が停止したと仮定できます。そうであれば、構成変更を元に戻します。デーモンが引き続き実行される場合は問題ありません!
  2. NRPEを停止し、構成ファイルを変更します。一時的にNRPEを起動し、実行が継続していることを確認してください。その場合は、NRPEを正常に再起動し、そうでない場合は変更を元に戻してNRPEを再起動してください。

オプション#1では、単純な外部ポートチェックまたは既知の良いcheck_nrpeロケーションを使用できます。リモートホストで check_nrpe を呼び出して、check_nrpe -H 127.0.0.1 -c known-good-commandNRPE デーモンがまだ実行中であることを確認することもできます。ご使用の環境で長期実行プロセスとして開始された場合は、nrpeプロセスのプロセステーブルを照会することもできます。

オプション#2の場合は、次のものを使用できます。GNUタイムアウトNRPE を一時的に起動するユーティリティです。たとえば、

timeout 3s /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -f
if [ $? -eq 124 ]
  echo all good
  exit 0
else
  echo not good, NRPE did not start successfully
  exit 1
fi 

上記のコードスニペットは、フォアグラウンドモードでNRPEを開始しようとします(すべてがデフォルトの場所にあると仮定)。 NRPEが指定された時間(ここでは3秒間)実行され続けると、timeoutこれによりNRPEがコード124で終了し、変更が成功したと見なすことができます。タイムアウトユーティリティが124以外の値で終了すると、NRPEの起動に問題がある可能性があり、設定の変更によって問題が発生したと想定できます。

おすすめ記事