check_mk "State and count of processes" 规则阈值

check_mk "State and count of processes" rule threshold values

我正在尝试将 Nagios-NRPE 检查变成 Check_MK 检查。第一个是:

check_procs -w 10 -c 15 -C crond

我尝试使用 State and coung processes 规则,但它总是会引发严重警报。我的规则的参数是(从rules.mk配置文件中提取):

'process': 'crond'
'okmax':   10
'okmin':    1
'warnmax': 15
'warnmin': 11

由于 WATO 配置屏幕未提及临界阈值,我猜测超出这些阈值的值会引发严重警报。

我的问题是:当此规则处于活动状态时,即使找到的进程数在 OK 阈值内,也会引发严重警报。

警报的Status detail

CRIT - 7 processes (ok from 1 to 15)CRIT 1620.6 MB virtual, 28.2 MB resident, 2.7% CPU

然后,我无法理解这种行为,我觉得我误解了 check_MK 阈值参数或者我遗漏了什么。

你能帮帮我吗?

提前致谢

正如我在问题的最后一段中所怀疑的那样,我误解了 check_MK 阈值参数。

这些是在 ~/share/check_mk/checks/ps 中找到的 python 代码行:

state = 0
if count > params["warnmax"] or count < params["warnmin"]:
    state = 2
    infotext += " (ok from %d to %d)(!!)" % (params["okmin"], params["okmax"])
elif count > params["okmax"] or count < params["okmin"]:
    state = 1
    infotext += " (ok from %d to %d)(!)" % (params["okmin"], params["okmax"])

因此,任何低于 warnmin 的值都会引发严重警报。因此,为了防止这种情况,warn interval 必须包含 ok 一个。在我的示例中,应降低 warmin 值以匹配 okmin 值。

'process': 'crond'
'okmax':   10
'okmin':    1
'warnmax': 15
'warnmin':  1

用数学术语来说,ok区间必须是warn区间的子区间。

我错误地猜测这些间隔不应重叠,但实际上它们必须重叠。