【最佳实践】无数据告警配置

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 背景在对SLS的Logstore和Metricstore进行监控的过程中,有时候会出现一些无数据的情况,例如数据采集阶段出现故障Logtail采集异常、数据导入任务异常或者SDK写入数据出错等情况都有可能导致日志库中没有数据。业务系统出现问题例如用户的业务日志中有某个系统模块的日志,在一段时间内,由...

背景

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

  • 数据采集阶段出现故障

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

  • 业务系统出现问题

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

  • 服务器宕机

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

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

操作步骤

方法一

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

  • 查询语句

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

cpu_util{hostname="hostname0"}

image.png
  • 告警监控规则

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

image.png
  • 通知内容

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

image.png

方法二

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

  • 查询语句

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

* | select count(*) as cnt

  • 告警监控规则

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

  • 告警通知

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

image.png

常见问题

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

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

image.png

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

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

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

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

[
    {
        "cnt": 0
    }
]

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

参考文档

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
27天前
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
80 22
|
8月前
|
Prometheus 监控 Cloud Native
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
|
5月前
|
消息中间件 测试技术
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
轻量消息队列(原MNS)以其简单队列模型、轻量化协议及按量后付费模式,成为阿里云产品间消息传输首选。本文通过创建主题、订阅、配置告警集成等步骤,展示了该产品在实际应用中的部分功能,确保消息的可靠传输。
101 2
|
5月前
|
Prometheus Kubernetes Cloud Native
Prometheus的告警配置
【10月更文挑战第31天】Prometheus的告警配置
174 1
|
6月前
|
数据采集 弹性计算 监控
为什么云监控、云产品流量监控中的流量数据和DDoS防护的流量监控数据有差异?
为什么云监控、云产品流量监控中的流量数据和DDoS防护的流量监控数据有差异?
为什么云监控、云产品流量监控中的流量数据和DDoS防护的流量监控数据有差异?
|
8月前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之如何配置基线告警触发规则
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
105 1
|
8月前
|
存储 Prometheus Cloud Native
[prometheus]配置alertmanager和钉钉告警
[prometheus]配置alertmanager和钉钉告警
380 0
|
11月前
|
人工智能 运维 监控
可观测实践,如何利用 AI 算法解决告警配置三大难题
本文介绍了如何利用 AI 算法解决“不知道该监控哪些指标”、“不知道该设置什么阈值”、“指标正常情况下就起伏不定,怎么配告警”告警配置三大难题。
142159 14
|
11月前
|
Prometheus 监控 Cloud Native
使用 Prometheus 配置 SLO 监控和告警
使用 Prometheus 配置 SLO 监控和告警
|
11月前
|
Kubernetes 监控 物联网
IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置
IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置

热门文章

最新文章