Nagios 核心摘要宏的计数错误

Nagios Core Summary Macro has Wrong Count

我认为以下摘要宏没有考虑被动服务: $TOTALSERVICESCRITICALUNHANDLED$(这是我直接看到问题的那个) 我假设以下两个有同样的问题: $TOTALSERVICESWARNINGUN HANDLED$ $TOTALSERVICESUNKNOWNUNHANDLED$ 未停机且未确认的被动服务正确显示在 Nagios Core 的未处理服务页面中。 但是,我使用的脚本吐出了 $TOTALSERVICESCRITICALUNHANDLED$ 的值,它没有考虑非停机、非确认和处于临界状态的被动服务。 这个宏的措辞表明服务必须有 'checks enabled',但这可能不考虑被动检查?: “ 此宏反映当前处于 CRITICAL 状态但当前未被“处理”的服务总数。未处理的服务问题是那些未确认的、当前不在计划的停机时间内并且当前已启用检查的问题。 “

我的设置: 我有一个由定期安排的服务执行的命令。该命令将宏 $TOTALSERVICESCRITICALUNHANDLED$ 的值传递给脚本。 该脚本只是回显该宏的值。

测试: 所有服务都处于停机状态,除了我的被动服务已启用并处于临界状态。对于未处理的严重警报数量,脚本吐出“0”(这是不正确的!) 对被动服务启用主动检查,脚本现在告诉我“1”

Nagios 核心版本 4.3.2 请告知这是否是在更高版本中解决的错误,或者是否有任何解决方法? 我已经看到这个相关问题已在 4.2.2 中修复,但它是一个不同的问题:viewtopic.php?t=39957

我最终对源代码进行了此更改。我可以假设如果服务处于停机状态或被确认,则它已经不计入总警报计数。因此 checks_enabled 的检查是多余的并且错误地抛出了被动服务(似乎 checks_enabled 是一个仅代表 ACTIVE 检查的标志)

common/macros.c 从第 1216 行开始: 注释掉它检查的 3 个实例,每个实例 2 行 “如果(temp_service->checks_enabled == FALSE)问题= FALSE

(然后重建Nagios Core)

我能看到这又回来咬我的唯一方法是,如果存在这样一种情况,即活动服务的活动检查被禁用并且也没有处于停机或已确认状态