如何通过SSH与Nagios监视远程Linux系统

NRPE是使用的Nagios服务器监控远程Linux系统中最常用的方法。 但在某些情况下,我们不希望远程系统上安装NRPE,或者我们可以不安装它。 在这种情况下很少有替代方式来监控远程系统。 在本教程中,我们提到check_by_ssh方法。 Nagios的-与-SSH

第1步:设置基于密钥的SSH

首先要求其确保Nagios的服务器能够连接使用ssh客户端,而不提示密码。要做到这一点创建的Nagios服务器上的SSH密钥对
# su - nagios
$ ssh-keygen
复制公钥到远程主机的 ~/.ssh/authorized_keys文件中,可以手动或使用下面的命令
$ ssh-copy-id  ~/.ssh/id_rsa.pub remote.example.com

第2步:验证SSH连接

让我们来看看,如果你能以没有密码ssh连接到远程计算机
$ ssh remote.example.com
测试使用check_by_ssh远程机器上执行的插件,确保其不会提示输入密码
# cd /usr/lib64/nagios/plugins
# ./check_by_ssh -H remote.example.com -p 22 -C 'ls -l'
如果上面的命令执行成功,你会看到的远程系统的文件列表。

第3步:在Nagios配置检查

正如我们已经完成环境设置使用SSH来检查远程服务器。让我们增加一个检查到我们的Nagios服务器。大多数的Nagios的管理员倾向于使用NagiosQL Web界面配置检查和某些管理员通过直接编辑文件使用命令行。

通过编辑文件添加检查:

在编辑器中测试服务检查的配置文件,并添加以下内容到远程系统上,运行ls -l命令。您可以与您首选的检查命令来更改此命令。如果使用NagiosQL来管理服务器,那么就不要直接编辑文件。
###############################################################################
#
# Service configuration file
#
###############################################################################

define service {
        #NAGIOSQL_CONFIG_NAME           MyRemoteServer
        host_name                       remote.example.com
        service_description             Check Any By SSH
        display_name                    Check Any By SSH
        check_command                   check_by_ssh!22!ls -l!nagios
        initial_state                   o
        max_check_attempts              5
        check_interval                  40
        retry_interval                  40
        active_checks_enabled           1
        check_period                    24x7
        event_handler                   notify-service-by-email
        notification_interval           60
        notification_period             24x7
        notifications_enabled           1
        contacts                        Admin,Support
        contact_groups                  Admin_Group
        register                        1
}

###############################################################################
#
# END OF FILE
#
###############################################################################

通过NagiosQL添加检查:

登录NagiosQL管理界面,并添加新的服务,所有的细节将类似于正常配置,除了检查命令。添加检查命令选项,如下面的截图。 检查逐SSH-nagiosql3