ACOS无数据告警实践
1.说明
在实现数据监控的过程中告警能力无疑是重中之重,无数据告警亦是告警能力中重要的场景,这里我们聊聊关于无数据一些场景和实践方法。
2.无数据可能场景
对于运维监控平台来说无数据是一个比较复杂的情况,从数据的产生、数据采集、数据上报到存储一系列过程中每个环节都可能会出现无数据的情况。
以下是出现过的一些场景,例如:
数据采集阶段出现故障:
Agent等采集器采集异常(采集异常的又分为多种情况和具体使用的采集器有关,此处不做过多介绍)、数据导入任务异常或者数据写入出错等情况都有可能导致我们日志数据、指标数据为无数据。
用户业务系统出现问题:
例如监控的用户某个应用系统模块相关指标,在一段时间内,由于该系统模块出现故障,导致没有对应的调用数据,同时也日志库中也相关数据打印。
服务器宕机:
监控产品在采集和存储指标类数据,如果被采集指标的服务器出现宕机的情况,那么就会导致时序库中出现没有数据的情况。
服务无调用:
监有时候可能因为系统无调用就没有产生数据,这种情况是否正常需要根据业务和历史常态经验去具体判断。
因此监控数据存储库中无数据的情况,是保证数据成功上传到以及判断系统调用是否正常的一个重要手段,本文将介绍一些无数据告警的常见配置和使用方法。
3.ACOS无数据告警处理场景
方法1:数据查询
使用监控平台创建一个监控规则时,当查询分析语句执行的结果为空时就会触发无数据的告警。无数据告触发启停发可以单独配置,并且当有数据时,依然走的是评估触发条件的逻辑,因此,开启这个功能后,不会影响原有的告警监测内容,只是在无数据时单独执行了一条逻辑。
方法2:自定义无数据
本方法不用开启无数据告警,而是创建一个专门用于监测是否有数据的告警。选择时间数据查询范围为1小时(相对),执行如下语句,查询1小时的查询结果。然后对前面查询结果创建告警监控规则,即触发条件为cnt等于0。
查询语句
触发条件
常见问题
1、当前用户开启无数据告警同时在告警条件中设置监控数据>0触发条件,结果预判是无数据时不会告警,这里要解释当数据无数据且无数据告警开启将会直接走无数据告警逻辑,即设置的告警条件触发仅在有数据的情况下。
2、无数据设置检查时间至少在数据采集频率的2倍,由于数据采集+上报需要一定时间,若时间太短可能因为数据上报的过程空隙中一直触发无数据,这是一种无意义的触发。
结束语
观测运维套件-ACOS可以有效的帮助企业提高运维效率 、提升系统可用率 、降低IT成本。欢迎企业预约演示或者试用。