web-dev-qa-db-ja.com

Nagios NRPE:コマンドが定義されていません

私のnrpe_local.cfg次のコマンドを追加しました:

command[check_mycommand]=/usr/lib/nagios/plugins/check_command 30 35

その後、nrpeデーモンを再起動しました。

nrpeを使用してこのコマンドを実行すると、次のエラーが発生します。

NRPE: Command 'check_mycommand' not defined

次のコマンドを使用して実行しました。

/usr/lib/nagios/plugins/check_nrpe -H hostname -c check_mycommand

手がかりがつかない。

私のnrpe_local.cfgさらに10個のコマンドが追加され、正しく機能しています。

6
Sandeep

nrpe.cfgのコマンドは次のようになります。

command[check_mycommand]=/usr/lib/nagios/plugins/check_command -w $ARG1$ -c $ARG2$

次に、services.cfgファイル(またはその名前)チェックのサービスは次のようになります。

define service{
   servicegroups        Basic Functionality
   Host_name            localhost
   service_description  Mycommand
   check_command        check_nrpe!check_mycommand -a '-w 30 -c 35'
   use                  generic-service
}

問題が解決したかどうか教えてください。

3
Itai Ganot

私のnrpe_local.cfgに次のコマンドを追加しました:> command[check_mycommand]=/usr/lib/nagios/plugins/check_command 30 35

試してみてください:

command[check_mycommand]=/usr/lib/nagios/plugins/check_command -w (warningTreshold) -c (criticalTreshold)
/etc/init.d/nagios-nrpe-server restart

そして実際に、すでに実行されているnrpeの他のすべてのデーモンを強制終了します。原因は、競合を引き起こす可能性のある別のユーザーによってすでに実行されている可能性があります。例えば。 nagios-nrpe-serverはユーザーrootおよびユーザーnagiosで実行されています

また、NagiosサーバーのIPアドレスを/etc/nagios/nrpe.cfgのallowed_hostsに追加したことを確認してください。

allowed_hosts=<ip address of nagios server>

そうしないと、NagiosのNRPEで外部コマンドを実行できなくなります。

3
Horaasje

こんにちは私は設定ファイルにローカルアドレスを追加することでこの問題を解決しましたのでnrpe.cfgallowed_Host = 127.0.0.1xxxxここで、xxxxはのIPです私のnagiosサーバー。コマンド[check_disk]=/usr/lib/nagios/plugins/check_disk-w 20%-c 10%-p /varも定義する必要があります

コマンド名[check_disk]がルートに示されているものと同じであることが非常に重要です

これにより、問題が解決し、優れたモニタリングが可能になりました。

YilmarHernández

3
  1. フォークを含むすべての古いデーモンを強制終了したことを確認してください。
  2. NRPEをクリーンに再起動した後、/ var/log/messagesにエラーがないか確認してください。特に「NRPE:ERROR-すでに使用中のポート/ポートにバインドできません」など。
  3. Inetdで制御されたNRPEが使用されていないことを確信していますか?
  4. 上記が役に立たない場合は、手順1を再度実行し、NRPEを開始するときに、「-d」フラグを含めずに出力を調べます。
1
Jim Black

正しい設定ファイルでNRPEデーモンを起動しましたか? (nrpe -c config_file -d)使用している設定ファイルはnagios_local.confまたはnrpe_local.cfgですか?

1
Xacosta

こんにちは私はこのエラーを受け取り、それを解決することができました:/etc/nagios/nrpe.cfgにあなたが見るでしょう:

command[check_var]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /var
command[check_slash]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh $ARG1$

しかし、あなたが混乱して、:commend.cfgをcheck_slashではなく:check_diskで設定したと確信しています

行に「command [check_slash]」と表示されていることを確認してください。これは、command.cfgが取得したいものです。

1
batchen

以下の行をnrpe.cfgファイルに追加し、nrpeを再起動することで、これを解決しました。基本的に、実行中のコマンドを認識するようにnagiosに指示しています。

command[check_var]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /var
command[check_slash]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh $ARG1$
1
Prashanth

同様の問題があり、syslogをチェックインすると、nrpeの/ var/run /に書き込みの問題があることがわかりました。

Nov  6 08:30:05 xxxxxx nrpe[39777]: Cannot write to pidfile '/var/run/nrpe.pid' - check your privileges.

私はここで見つけました:

https://bugs.launchpad.net/ubuntu/+source/nagios-nrpe/+bug/957367

解決策は静かでシンプルだった。 nrpe.cfgを編集して、以下を変更するだけです。

pid_file=/var/run/nrpe.pid

pid_file=/var/run/nagios/nrpe.pid

nrpeを手動で強制終了し、/ etc/init.d/nagios-nrpe-serverstartを使用して再起動します

それは私のために働いた。

0
user1682960