使用Nagios Core监控Unix进程

时间:2019-07-11 09:01:52

标签: ubuntu apache2 monitoring nagios nrpe

我正在与Nagios一起乞讨,我正在尝试监视unix机器上的特定进程是否启动。 服务器和客户端位于同一台计算机上:尝试通过运行在其上的Nagios监视该计算机。 我已经安装了Nagios Core 4,nrpe及其插件。在网上浏览后,我找到了一个关于如何使用check_procs插件(向上或向下)监视过程的答案,而这正是我在文件中实际拥有的:

1-在/etc/nagios/nrpe.cfg

server_address=127.0.0.1
command[check_service]=/usr/lib/nagios/plugins/check_procs -c 1: -C $ARG1$

2-我在/ usr / local / nagios / etc / servers /中创建了一个名为“ ubunutu_host.cfg”的文件:

# Ubuntu Host configuration file
    define host {
            use                          linux-server
            host_name                    ubuntu_host
            alias                        Ubuntu Host
            address                      127.0.0.1
            register                     1
    }


    define service {
          host_name                       ubuntu_host
          service_description             check_apache2
          check_command                   check_service!apache2
          max_check_attempts              2
          check_interval                  2
          retry_interval                  2
          check_period                    24x7
          check_freshness                 1
          contact_groups                  admins
          notification_interval           2
          notification_period             24x7
          notifications_enabled           1
          register                        1
    }

3-在/etc/nagios-plugins/configp/rocs.cfg中:

define command{
command_name check_service
command_line /usr/lib/nagios/plugins/check_procs -c 1: -C ‘$ARG1$’
}

我的探针是: 运行此命令时:

/usr/lib/nagios/plugins/check_procs -c 1: -C apache2

这就是我的结果

PROCS OK: 7 processes with command name 'apache2' | procs=7;;1:;0;

但是在Nagios中,低于我的水平(apache2始终很关键): Problem proc apache2 is always shown critical

1 个答案:

答案 0 :(得分:0)

首先,NRPE用于进行和接收远程插件调用。您没有指定要在/etc/nagios/nrpe.cfg上进行修改的服务器,但是您的检查命令是/usr/lib/nagios/plugins/check_procs,这意味着Nagios正在本地运行此插件,也许这就是您所需要的我不知道,但在那种情况下,完全没有必要让NRPE参与进来。

由于您提到在“运行”命令时获得了所需的输出(您未指定用户身份):

/usr/lib/nagios/plugins/check_procs -c 1: -C apache2

我猜您实际上正在运行的用户可以看到您的apache2进程,而运行实际Nagios检查的用户却看不到。尝试使用su更改为Nagios用户,然后查看输出是否存在差异。