ssh プラグイン構成 /etc/nagios-plugins/config/ssh.cfg には、check_ssh_port.if という名前のエイリアスがあります。存在しない場合は、上記のように定義できます:
$ cat >> /etc/nagios-plugins/config/ssh.cfg
define command{
command_name check_ssh_port
command_line /usr/lib/nagios/plugins/check_ssh -p '$ARG1$' '$HOSTADDRESS$'
}
サービス ファイル /etc/nagios3/conf.d/services_nagios2.cfg で、監視する ssh サービスを次のように定義します。
define service {
hostgroup_name ssh2-servers
service_description SSH2
check_command check_ssh_port!12000!server
use generic-service
notification_interval 240 ; set > 0 if you want to be renotified
}
12000 をデフォルトの ssh ポートに置き換え、サーバーをターゲットに置き換えます。
host:~$ /usr/lib/nagios/plugins/check_ssh --help
check_ssh v1991 (nagios-plugins 1.4.12)
Copyright (c) 1999 Remi Paulmier <[email protected]>
Copyright (c) 2000-2007 Nagios Plugin Development Team
<[email protected]>
Try to connect to an SSH server at specified server and port
Usage:check_ssh [-46] [-t <timeout>] [-r <remote version>] [-p <port>] <host>
これはあなたの質問に答えていますか? -p パラメータを使用すると、ポートを指定し、/etc/nagios/nrpe.cfg でカスタム チェックを行い、そこに置くことができます:
command[check_remote_ssh]= /usr/lib/nagios/plugins/check_ssh -p 1234 some.host
上記の解決策はどれもうまくいかなかったので、この小さなバリエーションを投稿します.
この定義はデフォルトのものです (例:localhost.cfg
) -p オプションとその間のスペースを追加するだけです。
与えられた 2 つのソリューションのハイブリッド バージョンだと思います。
Nagios-plugins 2.1.1 を搭載した Nagios Core 4 で動作します
define service{
use local-service ; Name of service template to use
host_name localhost
service_description SSH
check_command check_ssh!-p 12345
notifications_enabled 1
}