无数据告警最佳实践

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 在对SLS的Logstore和Metricstore进行监控的过程中,有时候会出现一些无数据的情况,监控SLS的存储库中无数据的情况,是保证数据成功上传到SLS的一个重要手段,本文将介绍无数据告警的常见配置方法。

背景

在对SLS的Logstore和Metricstore进行监控的过程中,有时候会出现一些无数据的情况,例如

  • 数据采集阶段出现故障

Logtail采集异常、数据导入任务异常或者SDK写入数据出错等情况都有可能导致日志库中没有数据。

  • 业务系统出现问题

例如用户的业务日志中有某个系统模块的日志,在一段时间内,由于该系统模块出现故障,导致没有日志产生,从而在SLS的日志库中也没有相关的日志数据。

  • 服务器宕机

SLS也可以采集和存储指标类数据,如果被采集指标的服务器出现宕机的情况,那么就会导致时序库中出现没有数据的情况。

因此,监控SLS的存储库中无数据的情况,是保证数据成功上传到SLS的一个重要手段,本文将介绍无数据告警的常见配置方法。

操作步骤

方法一

SLS提供了无数据告警这个高级功能,当创建一个监控规则时,可以选择开启该功能,当查询分析语句执行的结果为空时就会触发无数据的告警。无数据告警的标注可以单独配置,并且当有数据时,依然走的是评估触发条件的逻辑,因此,开启这个功能后,不会影响原有的告警监测内容,只是在无数据时单独执行了一条逻辑。

  • 查询语句

在Metric库中选择时间范围为5分钟(相对),执行如下PromQL语句,查询5分钟内服务器的CPU使用率。

cpu_util{hostname="hostname0"}

  • 告警监控规则

基于上述语句的查询结果创建告警,检查频率设置为固定间隔1分钟,触发条件设置有数据匹配value > 80,表示当CPU使用率超过80%就会触发该告警。在高级配置中开启无数据告警,参考创建日志告警监控规则,严重度设置为中,表示当没有CPU的指标数据上传到SLS触发无数据告警。

  • 通知内容

当CPU的指标数据1分钟内没有上传到SLS时,就会触发无数据告警,钉钉群中的通知内容如下所示。

方法二

本方法不用开启无数据告警,而是创建一个专门用于监测是否有数据的告警。

  • 查询语句

选择时间范围为15分钟(相对),执行如下语句,查询15分钟内的日志条数。

* | select count(*) as cnt

  • 告警监控规则

基于上述语句的查询结果创建告警监控规则,设置触发条件有数据匹配cnt===0

  • 告警通知

当日志库中15分钟内没有日志写入的时候,就会触发该告警,钉钉群中的告警通知如下。

常见问题

通过设置有特定条数据满足一定条件来表示无数据告警

想要创建无数据告警的时候,用户因为不知道有无数据告警这个高级功能开关,所以直接将触发条件设置成有特定条数据等于0来表示无数据的情况。(同样的还有设置为有特定条数据小于等于0有特定条数据小于1等情况)

在无数据的情况下,告警监控并不会走到判断有特定条数据这个评估逻辑中,只会去判断有没有开无数据告警这个功能,因此无数据的情况下上述的触发条件并不会触发告警。

开启无数据告警,没数据也没有触发告警

如果有分析语句,并且开启了无数据告警功能,那么在无数据的情况下也是有可能不会触发告警的。例如查询分析语句如下所示:

error | select count(*) as cnt
这种情况下如果没有数据,那么这条语句执行的结果其实是不为空的,而是会有一条结果,如下所示:

[

   {

       "cnt": 0

   }

]

因此就不会去判断是否开启了无数据告警这个功能,也就不会触发无数据告警了。

参考文档

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
望稔
+关注
目录
打赏
0
0
0
1
6
分享
相关文章
基于阿里云可观测产品构建企业级告警体系的通用路径与最佳实践
基于阿里云可观测产品构建企业级告警体系的通用路径与最佳实践
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
轻量消息队列(原MNS)以其简单队列模型、轻量化协议及按量后付费模式,成为阿里云产品间消息传输首选。本文通过创建主题、订阅、配置告警集成等步骤,展示了该产品在实际应用中的部分功能,确保消息的可靠传输。
96 2
云监控治理检测:云监控的自助化最佳实践
云监控提供了治理检测功能,能够帮助企业评估和提升其在运用云监控方面的能力,从而更好地应对这些挑战。它基于用户对资源的使用情况来推测用户所需的监控能力,帮助用户检测云监控的相关功能,并提供一键修复或治理建议,让用户自助化地运用云监控的最佳实践,构建一套完善的监控体系。
182 15
为什么云监控、云产品流量监控中的流量数据和DDoS防护的流量监控数据有差异?
为什么云监控、云产品流量监控中的流量数据和DDoS防护的流量监控数据有差异?
为什么云监控、云产品流量监控中的流量数据和DDoS防护的流量监控数据有差异?
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
135 日志监控告警系统案例(数据模型设计)
135 日志监控告警系统案例(数据模型设计)
255 0
使用自定义函数实现数据编解码、格式处理与业务告警
MQTT消息云服务EMQX Cloud推出自定义函数新功能,为物联网数据格式统一化提供更灵活的处理方式,帮助提升开发效率。
EMQ
324 1
使用自定义函数实现数据编解码、格式处理与业务告警
【最佳实践】无数据告警配置
背景在对SLS的Logstore和Metricstore进行监控的过程中,有时候会出现一些无数据的情况,例如数据采集阶段出现故障Logtail采集异常、数据导入任务异常或者SDK写入数据出错等情况都有可能导致日志库中没有数据。业务系统出现问题例如用户的业务日志中有某个系统模块的日志,在一段时间内,由...
257 0
【最佳实践】无数据告警配置
【数据可观测】阿里云的Grafana云监控大盘服务
阿里云发布的grafana托管服务,更是为云上的资产提供了高效的监控数据可观测能力。阿里云grafana弹性、免运维,可以方便的对接云上云下的各种数据源。
2473 1
【数据可观测】阿里云的Grafana云监控大盘服务