以下のコマンドを実行しようとすると、マスターサーバーでこのcheck_nrpesslがハンドシェイクエラーを完了できませんでした。
/usr/local/nagios/libexec/check_nrpe -H 10.192.122.234
10.192.122.234 --> nagios client machine
しかし、私が使用するとき
/usr/local/nagios/libexec/check_nrpe -H localhost
マスターサーバーのIPを使用すると、ローカルホストではなくnrpeバージョンである適切な結果が得られ、結果としてnrpeバージョンが得られます。
Nagiosクライアントマシンから同じコマンドを実行すると、再びnrpeバージョンが表示されます。マスターサーバーのIPはnrpe.cfgファイルにあります。詳細については、マスターIPとクライアントIPの両方がeth1で構成されています。
では、問題はどこにあり、マスターサーバーがクライアントマシンでこのコマンドを実行できなかったのはなぜですか?
基本的に、Nagiosクライアントからcheck_nrpeを実行する必要はありません。これは、そもそもNagiosクライアントマシンにインストールする理由がないためです。
Check_nrpeプラグインは、常にNagiosサーバーから実行する必要があります。
Khaledの回答に加えて、NRPEがスタンドアロンデーモンとして構成されているか、Xinetdによって起動されるように構成されているかどうかも確認します。
Xinetdを介して実行するように構成されている場合(/etc/xientd.d
の下にnrpeというファイルがあるかどうかを確認できます)、次のようになります。
service nrpe
{
flags = REUSE
type = UNLISTED
port = 5666
socket_type = stream
wait = no
user = nagios
group = nagios
server = /usr/sbin/nrpe
server_args = -c /etc/nagios/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 nagios01.company.com 10.X.X.30
}
NagiosサーバーのIPまたはホスト名を「only_from」行に含め、値が/etc/nrpe/nrpe.cfg
ファイルのようにコンマではなくスペースで区切られていることを確認してください。
私がチェックするもう1つのことは、NagiosサーバーがNRPEポートでNagiosクライアントにtelnetできることです。
デフォルトのポートは5666であるため、Nagiosサーバーから次のコマンドを実行する必要があります。
telnet nagios_server 5666
出力は次のようになります。
[root@nagios01 ~]# telnet do01.company.com 5666
Trying 10.X.X.30...
Connected to do01.company.com.
Escape character is '^]'.
NagiosサーバーからNagiosクライアントにtelnetできない場合は、そこで探し始めます。
NRPE関連の問題をトラブルシューティングするときにいつも使用する公式ドキュメントがあります。チェックしてください: Nagios公式ドキュメント