使用Nagios在非默认端口上监视ssh


10

我只是将Nagios部署在Gentoo服务器上,除了ssh之外,其他一切都很好,它被标记为“关键”,因为它拒绝连接。但这是因为它在不同于默认端口22的端口上运行。如何更改它以便监视正确的端口?

Answers:


6
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

1
有效!就我而言,这是当地check_ssh/etc/nagios/objects/commands.cfg。感谢您的帮助:)
Helder S Ribeiro

15

在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,将目标替换为服务器。


为最新版本的Nagios(目前)+1编写得很好
cwd

6

由于上述解决方案都不适合我,因此我将发布此小变化。

该定义是默认定义(例如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
        }

它也可以改变/配置在Nagios4 web界面:系统 - > 配置,然后追加感叹号和命令行选项check_ssh!-p 123456,例如。
ILMostro_7 '16

3

您还可以通过以下方式在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
}

因此,如果主机的地址发生变化,对于为该主机定义的所有服务,只需修改一次此参数。


0
define service{
        use                     generic-service
        host_name               localhost
        service_description     SSH
        check_command           check_ssh!-p 9898
        }

工作正常,您可以尝试一下。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.