2

私はローカルの Nagios サーバーを持っていて、check_jvm を使用して tomcat8 サーバーを監視するように構成しようとしています。これにより、Java で使用されるメモリとクラスを制御できます。

そうするために、クライアントに check_nrpe プラグインをインストールして構成しましたが、「奇妙な」エラーが発生しました。

サーバーからクライアントのプラグインを呼び出そうとすると、check_jvm コマンドをパラメーターとして使用しても正しく応答します。

しかし、nagios が自分でチェックを行うように設定すると、Web ブラウザはそのサービスに対して「CHECK_NRPE: エラー - SSL ハンドシェイクを完了できませんでした」を返します。

これは私が持っているものです:

私のnagiosサーバーから

# /usr/local/nagios/libexec/check_nrpe -H <client.ip>
NRPE v2.12
# /usr/local/nagios/libexec/check_nrpe -H <client.ip> -c tomcat_heap
OK 799998504 |max=2101870592;;; commited=2101870592;;; used=799998504;;;

は、プラグインを使用するためにクライアントでtomcat_heap定義されたコマンドの名前です。nrpe.cfgcheck_jvm

command[tomcat_heap]=sudo /usr/local/nagios/libexec/check_jvm -n org.apache.catalina.startup.Bootstrap -p heap -w 1700000000 -c 2000000000

さて、Nagios サーバーに戻ります。これがサービス定義です。

define service{
          use                   generic-service
          host_name             lin-des
          service_description   Tomcat heap
          check_command         check_nrpe!tomcat_heap
          }

現在、これは Web アプリで「CHECK_NRPE: エラー - SSL ハンドシェイクを完了できませんでした」を返します。

ファイルの と をチェックしたallowed_hostsので、nagios サーバーの IP が含まれています。nrpe.cfg/etc/xinetd.d/nrpe

Selinux と iptables の設定も確認しました。

また、Nagios サーバーとクライアントの両方が同じバージョンの ssl ライブラリを共有していることも確認しました。

/usr/local/nagios/libexec最後に、サーバーとクライアントの両方ですべての権限を確認したので、ユーザー nagios がそれらの所有権を持っています。

この時点で、私はアイデアを使い果たしました。そのため、あなたに尋ねています。問題がどこにあるのかについてのアイデアはありますか?

4

1 に答える 1

0

それを見つけた。

command.cfg に check_nrpe コマンドを定義する際に、コマンド ラインを間違えたようです。

define command{
      command_name check_nrpe
      command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5656 -t 30 -c $ARG1$
}

ご覧のとおり、ポート 5656 で動作するようにコマンドを定義しましたが、これは nrpe サービスによって使用されるポートではありません (実際には 5666 です)。

このエラーを修正した後、すべてが正常に実行されます。

これが同様の問題を抱えている人の助けになることを願っています。

于 2015-05-21T10:20:28.103 に答える