云监控报警最佳实践之无数据策略

本文介绍了云监控报警中的无数据策略,通过该策略用户可以实现被监控对象无数据时的响应、处理。

背景

云监控报警通常情况下是通过监控数据的阈值的判断来进行报警,比如cpu超过80%报警等。但有时候被监控对象的监控数据出现不连续或断掉的情况。如果要对这种情况进行报警,就需要配置无数据策略。

配置无数据策略

首先进入云监控控制台。单击界面左上角的『体验新版』,即会跳转到新版控制台。见下图:
云监控报警最佳实践之无数据策略

在新版控制台下,随意新建或修改一条报警规则,都可以看到无数据策略。选择您需要的策略,同时将规则其它项配好,点击确定即可。
云监控报警最佳实践之无数据策略

三种无数据策略

云监控报警支持三种无数据策略,分别是:

  • 不做任何处理
  • 发送无数据报警
  • 视为正常

这三种策略分别用于不同的场景。

一、不做任何处理

该策略是报警规则的缺省策略,同时也是旧版报警规则使用的策略。报警引擎会对实例的数据点进行监控,不管这些点在时间上是否连续。如下图,红色虚线为阈值,超过该阈值三次则报警。在点1时开始超阈值,记数2次后,实例无数据了,直到点3才开始有数据。因为点1、点2、点3是连续的三个点,且都超阈值了,因此报警引擎会在点3处发出报警。
云监控报警最佳实践之无数据策略

二、发送无数据报警

该策略适用于对监控数据的连续性要求较高的场景,在监控数据断图时发出『无数据』报警。当监控数据持续3个周期(或超3分钟)无数据时,报警引擎会发出无数据报警。该策略下,无数据会造成阈值计数的中断,如下图,点1点2计数两次后发生了无数据,并产生了无数据告警,则在点3时,会重新进行超阈值计数,直到点5才发生阈值报警。
云监控报警最佳实践之无数据策略

无数据小于3个周期时

如果无数据小于3个周期时,报警的计数不会被打断。之所以设置为3个周期,主要是避免数据上报『不均匀』而造成的『伪』缺数据。如下图
云监控报警最佳实践之无数据策略

三、视为正常

有一类特殊数据,只有当数据异常时才会上报,正常情况下不上报。此时可以应用该策略。当持续3个周期无数据时,报警恢复正常。下图的规则设置为只要有监控数据(一次)就报警。
云监控报警最佳实践之无数据策略

规则级无数据

以上介绍的是单个实例无数据时的报警情况。在云监控中还有一类无数据情形:规则级无数据。当规则整体都拉取不到数据时,会引发规则层面的『数据不足』,此时用户不会收到任何报警(目前报警通知都是基于实例的),但在云监控控制台的报警规则列表中,规则会显示为无数据。
云监控报警最佳实践之无数据策略

优先级 当一个规则中,有的实例发生正常报警,有的实例发生无数据报警时,报警规则的状态是什么呢?

类型 优先级 规则状态
正常报警 报警
实例无数据 无数据
规则无数据 无数据
实例OK且规则级有数据 最低 正常

按照优先级高中低的顺序,只有规则中不存在高优先级的报警状态时,规则状态才会逐级下行,直至『正常』。

无数据状态的清理

无数据是一种不正常状态,用户应及时处理,使其正常运行。但有时:

  • 某实例销毁了,且云监控未收到销毁通知
  • k8s重新部署,老集群的实例全部失效

此时就需要对这些『无数据』的实例进行清理。云监控报警引擎,在一个实例超24小时持续无数据时,会清除该实例,恢复规则的报警状态。

总结

以上介绍了云监控报警的无数据策略,欢迎大家批评、指正。如果对报警有任何需求,请不吝联系作者。让我们一起打造全球先进、易用的报警系统。

上一篇:网络编程TCP总结及实践-C语言


下一篇:SQL中如何处理除数为0的情况?