跳转至

组合检测

在观测云,除了基于不同的数据范围设置不同的检测规则,您还可以将多个监控器的结果通过表达式组合成一个监控器,最终基于组合后的结果进行告警。

检测频率

组合监控没有固定的检测频率,而是根据所选择监控器的事件状态来进行判断。由于各个监控器检测频率不一定相同,所以选取其中最大的检测频率同频作判断。

例如:监控器 A 检测频率(5 分钟),监控器 B 检测频率(1 小时),那么组合监控 A&&B,就跟随 B 一起做判断(1小时一次)。B 触发检测后,结合监控器 B 的检测结果,与监控器 A 最新一次检测结果,进行逻辑判断。

检测配置

  1. 请选择至少两个监控器,右侧会显示其 by 条件分组;最多添加 10 个监控器。

  2. 组合方式:遵循与或非的运算逻辑表达式来定义组合监控器是否触发事件。当所选监控器都触发异常状态时,解析为真,反之解析为假。

逻辑运算

当所选监控器处于异常状态时,解析为 True,具体如下:

事件状态 解析后 严重等级
critical True 4
error True 3
warning True 2
nodata True 1
ok False 0
info False 0
不触发事件视为正常,同样解析为 False

运算符详解

逻辑运算 说明
&& A&&B:若运算结果为 true,则返回 A、B 中更不严重的状态等级。例如:A=critical,B=warning,那么返回 warning
|| A||B:若运算结果为 true,则返回 A、B 中更严重的状态等级。例如:A=critical,B=warning,那么返回 critical
! “异常状态” 对应的都是 ok;“正常状态”对应的都是 critical。例如:若 A=error,那么 !A=ok;若 A=ok,那么 !A=critical
如何定义【真】?

基于所选的监控,若监控器中存在分组,那么当所有监控器共同的分组都处于异常状态时才会解析为“真”。

例如:当选择了监控器 A(主机 1、2、3、4 产生告警)与监控器 B(主机 2、3、5、6 产生告警),那么组合监控器 (A&&B) 只有主机 2 和 3 会返回为“真”,产生告警。

注意:当组合方式中的监控器分组不一致,这种没有共同分组的情况将不会产生告警。

分组情况 是否一致 示例
监控器 A 无分组,监控器 B 有分组 (此时不会产生告警) B: by host
监控器 A 和 B 分组部分一致 (此时不会产生告警) A: by host, service, B: by host, device
监控器A 和 B 分组完全不一致 (此时不会产生告警) A: by host, B: by service
监控器 A 和 B 分组为包含关系 (此时可以正常检测和告警) A: by host, B: by host, device (dimension_tags=host)
监控器 A 包含于监控器 B 分组,监控器 B 包含于监控器 C 分组 (此时可以正常检测和告警) A: by host,B: by host, device,C: by host, device, os (dimension_tags=host)

示例:

选择监控器 A:by host;监控器 B:by host, device,此时取交集 host 作为最终的 dimension_tags,监控器 A 正常判断即可,监控器 B 中取主机的所有 device 的最严重等级作为其状态,例如:

常见问题

如果 BY 配置不符合规则,监控器是否能配置成功?

不符合规范也可以创建成功,只是不会产生告警。

如果配置了组合监控器,原始监控器是否会正常监控?

会正常告警,被组合的监控器不会受任何影响。

组合监控如何计算任务调用?

同样也是检测一次计为 1 次任务调用,检测频率和被组合监控器中最大的检测频率一致。

文档评价

文档内容是否对您有帮助? ×