SLS新版本告警入门——告警策略-路由合并(1)

本文涉及的产品
对象存储 OSS,20GB 3个月
云备份 Cloud Backup,100GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 本文主要介绍SLS新版本告警中告警策略的路由合并概念及其基本功能。包括路由合并、告警指纹、合并集合以及使用告警策略进行数据隔离等功能。

路由合并概述

SLS的告警策略包含三种子策略:

  • 路由合并
  • 抑制
  • 静默


其中最重要的就是路由合并策略。简而言之,路由合并的作用就是:告警经过一定的规则,合并成不同的合并集合,统一进行通知的发送。它的最大的优点就是可以进行告警的降噪,由于是合并后统一发送,因此可以有效避免告警风暴的产生。


可以参考如下的简单示例:

1.png

一共产生了四个告警,它们经过路由合并之后,变成了三个合并集合,其中Alert-1和Alert-3在一起,会被一起发送通知。当然这只是一个非常简单的示意,可以简单理解为这里根据的是不同的颜色进行了合并。在实际的使用场景中,可以根据告警自身的多种属性进行策略的配置,例如把相同严重度的告警合并在一起,或者把同一个Project产生的告警放在一起,等等。在了解了路由合并的基本作用之后,接下来我们来看路由合并的一些详细使用。

告警指纹

在对路由合并进行深入的了解之前,我们需要先来认识一下告警的指纹。简单来说,每个告警都需要有一个唯一的身份证号,需要我们来识别它。

2.png

例如 08:00 产生了一条告警,说的是 192.168.1.100 这台机器 CPU 使用率过高,达到了 90%;然后再 08:05 继续产生了一条告警,说 192.168.1.100 这台机器 CPU 使用率过高,达到了 95%。在这个例子中,我们可以看到,这两个触发的告警描述的其实是同一件事情,本质上它们其实是同一个告警,只不过是在连续的两个周期都触发了而已。就好像某个人昨天穿了白色的衣服出门,今天穿了黑色的衣服出门,虽然看起来有稍许区别,但其实还是同一个人。


对于告警来说,也有这样的一个唯一标识,不管它在什么时候触发,我们都可以通过该标识来知道,它描述的某一个确切的事情。我们可以称之为告警的指纹。如果两个告警的指纹完全相同,那么它们就是同一个告警的两次出现。


告警指纹的计算依赖于告警的如下属性:

  • 用户ID:阿里云账号UID
  • Project:告警监控规则所在的项目
  • 告警规则ID
  • 告警标签(key-value 结构)


一句话概括就是:如果两条告警属于同一用户在同一个Project下创建的同一条告警监控规则,并且它们的标签相同,那么就是同一个告警。


关于告警的标签,是在配置监控规则的时候设置的。

3.png

  • 分组评估:
  • 不分组:则默认没有标签
  • 标签自动:仅对时序库有效,自动将时序指标的所有标签作为告警的标签
  • 标签自定义:需要用户自己配置分组的标签,例如 * | select host, count(*) as cnt group by host 这样的查询语句,结果里会有 host 和 cnt 两个字段,假如用户配置了按照 host 进行分组,那么告警里就会有 host 这个标签
  • 如果开启了无数据告警,那么还会有一个特殊的标签 __no_data__
  • 此外用户还可以自己添加标签,例如自己添加 app: nginx 类似的固定标签

基于告警指纹的降噪

假如同一个告警一直在触发,那么在告警管理的流程中,只会保留最新的那一次触发。也就是说,每个告警集合会根据告警的指纹进行去重,仅保留最新版本。

4.png

例如:某台主机从 20:00 开始每分钟不停地触发高CPU告警,告警策略按照配置来进行发送。那么在首次触发后,后续重复的告警都会去重并且延迟(因为配置了重复等待)发送。

合并集合

上面我们解释了告警指纹及其去重机制,接下来介绍一下合并集合。合并集合简单来说就是一个告警的容器,是一个批量处理单元。所有在该容器内的告警都会进行统一的发送通知。


合并集合有如下属性:

  • 合并基准
  • 行动策略
  • 首次等待时间
  • 变化等待时间
  • 重复等待时间


这几个属性解决了如下问题:

  • 为什么告警会在一起:合并基准
  • 要发送给谁:行动策略
  • 如何发送:首次等待、变化等待、重复等待


我们可以配置告警策略的路由合并基准,将告警归类自动分派到多个合并集合中,并进一步的降噪控制(去重、合并等)后,将合并的告警分别发送给相应的行动策略。

5.png


例如上面的例子,通过合并基准的配置,将十个告警分到了六个合并集合中,并且会使用各自的行动策略来进行通知的发送。

使用告警策略进行数据隔离

通常来说,如果两个合并集合的五个属性完全相同,那么它们本质上就是同一个合并集合。但是这有个前提,就是需要这两个合并集合是由同一个告警策略产生的。

也就是说,告警策略相当于是提供了一个命名空间的作用。如果两个告警使用了不同的告警策略,那么即使最终它们所在的合并集合各个属性都相同,但它们也是不同的合并集合。


因此可以使用告警策略来进行告警数据的隔离。例如不同的团队使用不同的告警策略,那么这两个团队的告警数据肯定不会混在一起,每个团队只需要关注自己的告警策略配置即可。


最后,如果您还想了解更多智能运维前沿资讯,欢迎您报名参加【数智创新行·智能运维专场】。

6月25日|上海·西岸国际人工智能中心

数智创新行上海站·智能运维专场

阿里云将带来云原生智能运维解决方案,满足海量事件有效感知、高效响应,可观测数据统一分析、故障定位,以及基于AI的异常检测等需求,助力企业构建自己的运维平台,成为开发、运维人员高效可靠的助手。

扫描海报二维码或点击下方链接报名, 期待您一起开启智能运维新时代!

https://www.aliyun.com/page-source//developer/special/osssalon

lALPDiCpvQqidCTNJmnNDDU_3125_9833.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
12天前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
50 5
|
10天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
3月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
55 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
3月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
3月前
|
SQL 关系型数据库 MySQL
MySQL 常见日志清理策略
MySQL 数据库服务器使用多种类型的日志来记录操作和事件,这对于故障诊断、审计和性能分析非常重要。然而,这些日志文件会随着时间的推移而不断增长,可能会占用大量的磁盘空间。因此,定期清理这些日志是必要的,本篇文章我们一起来学习下如何清理 MySQL 中的日志文件。
190 3
|
3月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
57 0
|
3月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
147 0
|
4月前
|
弹性计算 Prometheus Cloud Native
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
|
3月前
|
消息中间件 API C#
【Azure API 管理】APIM添加Log-to-eventhub的策略后,一些相关APIM与Event Hub的问题
【Azure API 管理】APIM添加Log-to-eventhub的策略后,一些相关APIM与Event Hub的问题
|
3月前
|
存储 API C#
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中

相关产品

  • 日志服务