NagiosをGentooサーバーにデプロイしたところ、sshを除いてすべて正常に動作しました。sshは接続を拒否しているため、「CRITICAL」とマークされています。ただし、デフォルトの22とは異なるポートで実行されているためです。正しいポートを監視するように変更するにはどうすればよいですか?
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
Sshプラグインconfig /etc/nagios-plugins/config/ssh.cfgには、check_ssh_portという名前のエイリアスがあります。存在しない場合は、上記のように定義できます。
$ 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
}
上記の解決策はどれもうまくいかなかったので、この小さなバリエーションを投稿します。
この定義はデフォルトです(例:localhost.cfg
)-pオプションとその間のスペースのみを追加します。
これは、与えられた2つのソリューションのハイブリッドバージョンだと思います。
Nagiosプラグイン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
}
次のように、Host_nameパラメータで2番目のパラメータ「server」を定義することもできます。
define Host{
use generic-Host ; Name of Host template to use
Host_name Host
alias Host
address 92.193.170.124
}
# Define a service to check if ssh services are running
define service {
use generic-service ; Name of service template to use
Host_name Host
service_description SSH Port 4959
check_command check_ssh_port!4959
notification_interval 0 ; set > 0 if you want to be renotified
}
したがって、ホストのアドレスが変更された場合、このホストに定義されているすべてのサービスについて、このパラメーターを1回変更するだけで済みます。
define service{
use generic-service
Host_name localhost
service_description SSH
check_command check_ssh!-p 9898
}
適切に機能している場合は、それを試すことができます。