Nagios check_multi插件输出无效的$ LONGSERVICEOUTPUT $和$ SERVICEPERFDATA $

问题描述

我们已经将Nagios Core 4与nagios check_multi plugin一起使用了一段时间,并且效果很好。

唯一的问题是插件输出未正确拆分为Nagios宏,我们有以下内容

check_multi插件原始输出

MULTIPLE CHECK OK: 0 Failed 7 succeeded
6 active jails --- Ok: 679 banned IP(s) \n The bantime are = seconds \n |banned_IP=679;5000;10000;; 
OK: postfix mailq reports queue is empty|unsent=0;50;100;0 
PING OK - Packet loss = 0%,RTA = 4.82 ms|rta=4.815000ms;3000.000000;5000.000000;0.000000 pl=0%;75;90;0 
HTTP OK: HTTP/1.1 301 Moved Permanently - 459 bytes in 0.004 second response time |time=0.003745s;4.000000;10.000000;0.000000;10.000000 size=459B;;;0 
PROCS OK: 1 process with STATE = Z | procs=1;5;10;0; 
disK OK - free space: /var/tmp 45741 MB (94% inode=97%);| /var/tmp=2537MB;40290;45326;0;50363 
OK - load average: 0.03,0.03,0.00|load1=0.030;15.000;30.000;0; load5=0.030;10.000;25.000;0; load15=0.000;5.000;20.000;0;  

输出分为以下nagios宏:

$ SERVICEOUTPUT $(确定)

MULTIPLE CHECK OK: 0 Failed 7 succeeded

$ LONGSERVICEOUTPUT $(KO)

6 active jails --- Ok: 679 banned IP(s)
The bantime are = seconds

$ SERVICEPERFDATA $(KO)

banned_IP=679;5000;10000;; OK: postfix mailq reports queue is empty|unsent=0;50;100;0 PING OK - Packet loss = 0%,RTA = 4.82 ms|rta=4.815000ms;3000.000000;5000.000000;0.000000 pl=0%;75;90;0 HTTP OK: HTTP/1.1 301 Moved Permanently - 459 bytes in 0.004 second response time |time=0.003745s;4.000000;10.000000;0.000000;10.000000 size=459B;;;0 PROCS OK: 1 process with STATE = Z | procs=1;5;10;0; disK OK - free space: /var/tmp 45741 MB (94% inode=97%);| /var/tmp=2537MB;40290;45326;0;50363 OK - load average: 0.03,0.00|load1=0.030;15.000;30.000;0; load5=0.030;10.000;25.000;0; load15=0.000;5.000;20.000;0;  

根据documentation,我们应具有以下条件:

$ LONGSERVICEOUTPUT $

6 active jails --- Ok: 679 banned IP(s)
The bantime are = seconds
OK: postfix mailq reports queue is empty
PING OK - Packet loss = 0%,RTA = 4.82 ms
HTTP OK: HTTP/1.1 301 Moved Permanently - 459 bytes in 0.004 second response time 
PROCS OK: 1 process with STATE = Z 
disK OK - free space: /var/tmp 45741 MB (94% inode=97%);
OK - load average: 0.03,0.00

$ SERVICEPERFDATA $

banned_IP=679;5000;10000;; 
unsent=0;50;100;0 
rta=4.815000ms;3000.000000;5000.000000;0.000000 pl=0%;75;90;0 
time=0.003745s;4.000000;10.000000;0.000000;10.000000 size=459B;;;0 
procs=1;5;10;0; 
/var/tmp=2537MB;40290;45326;0;50363 
load1=0.030;15.000;30.000;0; load5=0.030;10.000;25.000;0; load15=0.000;5.000;20.000;0;  

有人对为什么它不起作用有任何想法吗?似乎原始输出使用了良好的格式。我们应该修复输出格式还是在Nagios上进行任何配置?

谢谢您的帮助:)

解决方法

因为输出的前两行表明它是直接从

ViewPager2

ViewPager2

要填充LONGSERVICEOUTPUT宏,它需要遵守插件输出规范中指定的输出,而实际上并没有。