我正在与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
答案 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用户,然后查看输出是否存在差异。