Amazon ec2インスタンスのxinetdおよびローカルマシンのnagiosサーバーでNRPEデーモンプロセスを実行しています。
check_nrpe -H [Amazon public IP]
このエラーが発生します。
CHECK_NRPE: Error - Could not complete SSL handshake.
両方のNrpeは同じバージョンです。両方ともこのオプションでコンパイルされます:
./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/i386-linux-gnu/
「許可されたホスト」エントリにはローカルIPアドレスが含まれています。
このエラーの考えられる理由は何でしょうか?
アクセスできるかどうかを確認するには、address:port、pingまたはtracerouteで単純なtelnetを試行して、ブロックされている場所を確認します。
telnet IP port
ping IP
traceroute -p $port IP
また、nrpeデーモンが正常に動作していることをターゲットサーバーで確認します。
netstat -at | grep nrpe
また、SSLハンドシェイクでこのブレークチェックが発生することがあるため、両方のサーバーにインストールされているOpenSSLのバージョンも確認する必要があります。
Nrpeをサービスとして実行している場合、クライアント側のnrpe.cfgに次の行があることを確認してください。
# example 192. IP, yours will probably differ
allowed_hosts=127.0.0.1,192.168.1.100
ただし、xinetdでnrpeを実行している場合は、ファイルonly_from
の/etc/xinetd.d/nrpe
ディレクティブを必ず編集してください。
Xinetdサービスを再起動することを忘れないでください:
service xinetd restart
@jgrittyは正しかった。編集する必要がありますnrpe.cfg
およびnrpe
設定ファイルは、マスターnagiosサーバーのアクセスを許可します。
vim /usr/local/nagios/etc/nrpe.cf
allowed_hosts=127.0.0.1,172.16.16.150
そして
vim /etc/xinetd.d/nrpe
only_from= 127.0.0.1 172.16.16.150
これは、NRPEのキャッチオールエラーメッセージです。ファイアウォールルールを確認し、ポートが開いていることを確認します。また、SELinuxを無効にして、接続が許可されるかどうかを確認してください。 SSLの問題ではない可能性がありますが、拒否される接続の問題だけです。
/var/sys/system.log
。私の場合、監視対象のIPがnrpe.cfgファイルで設定したものとは異なるものに設定されていました。ただし、この変更の原因はわかりません。
ホストオンリーネットワーク上の仮想マシンでNagiosサーバーを実行しているようです。その場合、これにより外部アクセスが停止します。 NATまたはブリッジネットワークが利用可能であることを確認してください。
非常に多くの回答がありましたが、私がこの問題にぶつかった理由に当てはまる人はいません。
Nagiosにはひどいクロスバージョンサポートがあり、これはバージョン2の「クライアント」(監視対象のマシン)とバージョン3の「サーバー」(監視マシン)を持っていることが原因です。
クライアントをバージョン3にアップグレードすると、問題はなくなり、check_nrpe -H [client IP]
問題なし。
NRPEコールの場合のように、クライアント/サーバーがnagiosの正しい用語であるかどうかはわかりませんが、サーバーは実際に呼び出されるマシンですが、私は逃げます。
一部のEdgeケースが再起動nagios-nrpe-server
は、プロセスが強制終了されなかったか、適切に再起動されなかったという事実のため、助けにはなりません。
それから手動でそれを殺し、そして始めなさい。
/etc/xinetd.d/nrpeの構成を確認し、サーバーIPを確認します。 only_from = 127.0.0.1と表示されている場合は、サーバーIPで変更します。
Nagios Client Pluginも再起動したことを確認してください。
私の場合、クライアントの/etc/nagios/nrpe.cfgで以下を設定しました:
dont_blame_nrpe=1
それはubuntu 16.04マシンです。その他の考えられる問題については、nrpeログを確認することをお勧めします。ログを設定するための良い記事がここにあります。
Debian 9を実行している場合、この問題に関して 既知の問題 があります。これは、OpenSSLがNRPEが匿名SSL接続を開始するために使用するメソッドのサポートを削除したためです。
問題 修正されているようです しかし、修正はまだ公式パッケージには含まれていません。
現在、安全な回避策はないようです。
Xinetdサービスを使用してnrpeを実行しています。
(上記の基本手順に加えて)nagiosユーザーが適切に認証していることも確認してください。私の場合:
Jun 6 15:05:52 gse2 xinetd[33237]: **Unknown user: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=9]
Jun 6 15:05:52 gse2 xinetd[33237]: Error parsing attribute user - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=9]
Jun 6 15:05:52 gse2 xinetd[33237]: **Unknown group: nagios**<br>[file=/etc/xinetd.d/nrpe] [line=10]
Jun 6 15:05:52 gse2 xinetd[33237]: Error parsing attribute group - DISABLING
SERVICE [file=/etc/xinetd.d/nrpe] [line=10]
Jun 6 15:05:52 gse2 xinetd[33237]: Service nrpe missing attribute user - DISABLING
/ var/logメッセージに表示されていました。
最初は私を逃れましたが、その後ypbindサービスをチェックしたところ、開始されていないことがわかりました。
ypbindの起動後、nagiosユーザーとグループが適切に認証されていたため、エラーはなくなりました。
SSLハンドシェイクエラーメッセージ。allow_Host以外に割り当てる必要があります。
nagiosサーバーは、192.168.xxxxなどのCタイプのIPアドレスを持つローカルLANにあります
ターゲットの監視対象サーバーがローカルのnagiosサーバーにssl msgをフィードバックすると、メッセージは最初に回線のパブリックIPに送信されます。メッセージはパブリックIPを介してnagiosサーバーに送信できません。
ターゲットサーバーから内部nagiosサーバーにSSLメッセージを誘導するには、NATが必要です。
または、Linuxサーバーのローカルリソースのリモートモニターを実行するSNMPなど、nagiosクライアント側からモニターメッセージを取得する「GET」メソッドを使用することをお勧めします。
SSLは二重のフィードバックが必要です。
宜しくお願いします