在网上工作和搜索了很多天之后,我将作为最后的帮助机会回复您。我实际上正在使用带有 nrpe 的 nagios core 4.4.3 监视 unix 进程。
我的目标是检查:使用命令“java”的确切 1 个进程从最多 23 小时开始运行,仅使用一项服务
这个过程每天都会重新开始。
低于我在 client_host (/etc/nagios/nrpe.cfg) 上的内容:
command[check_java]=/usr/lib64/nagios/plugins/check_procs -c 1:1 -C java
command[check_java_elapsed]=/usr/lib64/nagios/plugins/check_procs -c :82800 --metric=ELAPSED -C java
在服务器上(/usr/local/nagios/etc/client_host.cfg):
define service{
use generic-service
host_name client_host
service_description java_elapsed
check_command check_nrpe!check_java
check_period 24x7
max_check_attempts 3
normal_check_interval 1
retry_check_interval 2
}
define service{
use generic-service
host_name client_host
service_description perl_elapsed
check_command check_nrpe!check_java_elapsed
check_period 24x7
max_check_attempts 3
normal_check_interval 1
retry_check_interval 2
}
总而言之,我想将这两种服务结合在一个服务中
似乎命令 check_procs 并没有提供两者都做的意见。我建议创建一个包装脚本或将这两个命令放在一起进行配置。
像这样的东西:
我已经在 Debian 上的 nrpe 中对此进行了测试,它应该可以工作。如果第一次和第二次通过,基本上你会得到返回码 0,否则你只会得到第一个(当 java 没有运行时,检查经过的时间没有意义)