我的nagios监控有问题。 我正在尝试使用nrpe检查远程主机上的进程。
主机已经被nagios监视,所以我只需要添加一行到nrpe.cfg文件。 甚至已经有一个check_procs检查,所以我可以使用这个例子。
这么简单,你可能会厚,但不。 我检查是否可以手动运行命令,没有问题!
ubuntu@host:/usr/lib/nagios/plugins$ ./check_procs -w 1:1 -c 1:1 -a delayed_job PROCS OK: 1 process with args 'delayed_job' ubuntu@host:/usr/lib/nagios/plugins$ sudo ./check_procs -w 1:1 -c 1:1 -a delayed_job PROCS OK: 1 process with args 'delayed_job'
这是我的nrpe.cfg文件:
command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$ command[check_proc_name]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -a $ARG3$
第一个检查check_procs被正确监视,最后一行是我添加的,但是响应这个: PROCS CRITICAL:2个进程与args'delayed_job'
这是我的服务文件:
define service { use generic-service host_name imobiel.limburger.nl service_description Check Delayed Job Proces check_command check_nrpe!check_proc_name!1:1 1:1 delayed_job }
有人有个想法吗? 我已经几次重新启动了nagios服务器和nrpe服务器! 希望有人经历同样的问题?
非常感谢。
我认为这是check_procs中的一个错误:从nrpe运行时,似乎会自动启动,而不是命令行。 也许是某种竞争条件。
根据您的命令提示符,我看到您正在运行Ubuntu。 通过Lucid上的check_procs,我可以执行如下操作:
/usr/lib/nagios/plugins/check_procs --ereg-argument-array="[s]tring" -w 1:1
因此,我们将在参数列表上进行模式匹配,但是check_procs进程不会匹配。 将模式中的一个字符放在方括号中会导致expression式匹配“string”,但显然不匹配check_procs参数“[s] tring”。
但是,Hardy提供的check_procs没有regex选项。
主机上的/ bin / ps输出有问题。 默认情况下,“check_procs”二进制文件在选中的系统上执行“/ bin / ps -axwo”,这会剪切参数string。 只需从源代码重新编译nagios插件。 在版本1.4.15上,必须设置configuration选项:
./configure --enable-extra-opts=yes --with-ps-command="/bin/ps -axwwo 'stat uid pid ppid vsz rss pcpu ucomm command'" --with-ps-format="%s %d %d %d %d %d %f %s %n" --with-ps-cols=9 --with-ps-varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos"
当我们设置-axWWo – ps给我们一串串的参数。 对不起我的ingreesh。
你有什么版本的Nagios插件? 1.4.15中的check_procs不会出现这种行为。 虽然我没有检查早期版本。
将“-vv”或“-vvv”添加到手动testing的最后,您可以确切地validation它正在运行的“ps”命令,它看到的内容以及它认为匹配的内容。
如果你真的让Nagios在你的nrpe.cfg代码片段中同时运行“check_procs”和“check_proc_name”,同时,使用相同的确切参数…那么他们很可能会拿起每一个其他在计数。 但是,为什么要运行两个完全相同的检查呢?
我其实也有这个问题,为我定义用户的工作。 例如-u root。 由于NRPE服务器运行它是作为Nagios用户检查的,特别是呼叫用户避免了这个问题。