Answers:
host:~$ /usr/lib/nagios/plugins/check_ssh --help
check_ssh v1991 (nagios-plugins 1.4.12)
Copyright (c) 1999 Remi Paulmier <remi@sinfomic.fr>
Copyright (c) 2000-2007 Nagios Plugin Development Team
<nagiosplug-devel@lists.sourceforge.net>
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
}
将默认的ssh端口替换为12000,将目标替换为服务器。
由于上述解决方案都不适合我,因此我将发布此小变化。
该定义是默认定义(例如localhost.cfg
:),仅增加了-p选项及其之间的空格。
我猜这是给出的两种解决方案的混合版本。
它适用于带有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
}
check_ssh!-p 123456
,例如。
您还可以通过以下方式在host_name参数中定义第二个参数“ 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
}
因此,如果主机的地址发生变化,对于为该主机定义的所有服务,只需修改一次此参数。
check_ssh
的/etc/nagios/objects/commands.cfg
。感谢您的帮助:)