本文介绍了云监控报警中的无数据策略,通过该策略用户可以实现被监控对象无数据时的响应、处理。
背景
云监控报警通常情况下是通过监控数据的阈值的判断来进行报警,比如cpu超过80%报警等。但有时候被监控对象的监控数据出现不连续或断掉的情况。如果要对这种情况进行报警,就需要配置无数据策略。
配置无数据策略
首先进入云监控控制台。单击界面左上角的『体验新版』,即会跳转到新版控制台。见下图:
在新版控制台下,随意新建或修改一条报警规则,都可以看到无数据策略。选择您需要的策略,同时将规则其它项配好,点击确定即可。
三种无数据策略
云监控报警支持三种无数据策略,分别是:
- 不做任何处理
- 发送无数据报警
- 视为正常
这三种策略分别用于不同的场景。
一、不做任何处理
该策略是报警规则的缺省策略,同时也是旧版报警规则使用的策略。报警引擎会对实例的数据点进行监控,不管这些点在时间上是否连续。如下图,红色虚线为阈值,超过该阈值三次则报警。在点1时开始超阈值,记数2次后,实例无数据了,直到点3才开始有数据。因为点1、点2、点3是连续的三个点,且都超阈值了,因此报警引擎会在点3处发出报警。
二、发送无数据报警
该策略适用于对监控数据的连续性要求较高的场景,在监控数据断图时发出『无数据』报警。当监控数据持续3个周期(或超3分钟)无数据时,报警引擎会发出无数据报警。该策略下,无数据会造成阈值计数的中断,如下图,点1点2计数两次后发生了无数据,并产生了无数据告警,则在点3时,会重新进行超阈值计数,直到点5才发生阈值报警。
无数据小于3个周期时
如果无数据小于3个周期时,报警的计数不会被打断。之所以设置为3个周期,主要是避免数据上报『不均匀』而造成的『伪』缺数据。如下图
三、视为正常
有一类特殊数据,只有当数据异常时才会上报,正常情况下不上报。此时可以应用该策略。当持续3个周期无数据时,报警恢复正常。下图的规则设置为只要有监控数据(一次)就报警。
规则级无数据
以上介绍的是单个实例无数据时的报警情况。在云监控中还有一类无数据情形:规则级无数据。当规则整体都拉取不到数据时,会引发规则层面的『数据不足』,此时用户不会收到任何报警(目前报警通知都是基于实例的),但在云监控控制台的报警规则列表中,规则会显示为无数据。
优先级 当一个规则中,有的实例发生正常报警,有的实例发生无数据报警时,报警规则的状态是什么呢?
类型 | 优先级 | 规则状态 |
---|---|---|
正常报警 | 高 | 报警 |
实例无数据 | 中 | 无数据 |
规则无数据 | 低 | 无数据 |
实例OK且规则级有数据 | 最低 | 正常 |
按照优先级高中低的顺序,只有规则中不存在高优先级的报警状态时,规则状态才会逐级下行,直至『正常』。
无数据状态的清理
无数据是一种不正常状态,用户应及时处理,使其正常运行。但有时:
- 某实例销毁了,且云监控未收到销毁通知
- k8s重新部署,老集群的实例全部失效
此时就需要对这些『无数据』的实例进行清理。云监控报警引擎,在一个实例超24小时持续无数据时,会清除该实例,恢复规则的报警状态。
总结
以上介绍了云监控报警的无数据策略,欢迎大家批评、指正。如果对报警有任何需求,请不吝联系作者。让我们一起打造全球先进、易用的报警系统。