NagiosNRPEプラグインを使用してサーバーと通信しようとしています。 /etc/nagios/nrpe_local.cfg
に使用するコマンド定義があります。
command[check_service]=/usr/lib/nagios/plugins/check_service -s $ARG1$
ターミナルでコマンドを手動で実行すると、成功します。
# /usr/lib/nagios/plugins/check_service -s bind9
OK: Service bind9 is running!
Nagiosサーバーから実行しようとすると、コマンドが定義されていないと文句が表示されます。
# /usr/lib/nagios/plugins/check_nrpe -H 10.32.10.3 -c check_service -a bind9
NRPE: Command 'check_service!bind9' not defined
他のcheck_nrpe
コマンドは機能するので、サーバーのcommands.cfg
に問題はないと思いますが、とにかく定義は次のとおりです。
define command {
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}
サーバー上でのチェックは次のようになります。
define service {
use local-service
Host_name dc1,dc2
service_description BIND Service
check_command check_nrpe!check_service!bind9
}
Webインターフェースでは、重要:サービスが実行されていません!を返しますが、実際にはそうではありません。
check_nrpe
を取得して、1つの追加引数を許可するにはどうすればよいですか? dont_blame_nrpe
を有効にしようとしましたが、それでもうまくいきませんでした。
編集-デバッグをオンにしてチェックを再実行すると、syslogに次のように表示されます。
Dec 19 09:01:56 dc1 nrpe[5586]: CONN_CHECK_PEER: checking if Host is allowed: 10.32.10.12 port 33962
Dec 19 09:01:56 dc1 nrpe[5586]: Connection from 10.32.10.12 port 33962
Dec 19 09:01:56 dc1 nrpe[5586]: is_an_allowed_Host (AF_INET): is Host >10.32.10.12< an allowed Host >10.32.10.12<
Dec 19 09:01:56 dc1 nrpe[5586]: is_an_allowed_Host (AF_INET): is Host >10.32.10.12< an allowed Host >10.32.10.12<
Dec 19 09:01:56 dc1 nrpe[5586]: is_an_allowed_Host (AF_INET): Host is in allowed Host list!
Dec 19 09:01:56 dc1 nrpe[5586]: Host address is in allowed_hosts
Dec 19 09:01:56 dc1 nrpe[5586]: Host 10.32.10.12 is asking for command 'check_service' to be run...
Dec 19 09:01:56 dc1 nrpe[5586]: Running command: /usr/lib/nagios/plugins/check_service -s
Dec 19 09:01:56 dc1 nrpe[5587]: WARNING: my_system() seteuid(0): Operation not permitted
Dec 19 09:01:56 dc1 nrpe[5586]: Command completed with return code 2 and output: CRITICAL: Service is not running!
Dec 19 09:01:56 dc1 nrpe[5586]: Return Code: 2, Output: CRITICAL: Service is not running!
Dec 19 09:01:56 dc1 nrpe[5586]: Connection from 10.32.10.12 closed.
/etc/systemd/system/multi-user.target.wants/nagios-nrpe-server.service
のグループがnrpe_group
の/etc/nagios/nrpe.cfg
パラメーターと一致することを確認しました。同じユーザーが/etc/group
と/etc/passwd
に存在します。
問題は、--enable-command-args
を使用するために必要なnagios-nrpe-server
パッケージをビルドするときに、Debianパッケージがdont_blame_nrpe
を設定しないことです。
dont_blame_nrpe
を有効にした後、nrpeデーモンを再起動したことを確認してくださいdebug
ディレクティブを1に変更し、デーモンを再起動します。その後、ログに有用なデバッグ情報が表示されます。