天天看点

SLS新版告警入门——告警管理编排交互

概述

在之前的告警策略和行动策略相关的文章中,我们可以看到,为了配置各种策略逻辑,使用的都是类似的交互方式,即基于可视化图的表单。本文主要来介绍一下策略图相关的交互和配置。

编排框架基本介绍

一个典型的策略图结构如下:

SLS新版告警入门——告警管理编排交互

可以看到,通常来说,有以下几种节点:

  • 开始:表示该策略的开始
  • 结束(最下面):表示策略的结束
  • 结束(右侧):表示策略的中断
  • 条件节点
  • 业务节点:例如上图中的行动组配置

结束(中断)与继续

跟在条件逻辑右侧的结束节点,表示的是策略的中断执行。除了结束之外,有些策略还可以添加继续链接,表示继续向下执行。

SLS新版告警入门——告警管理编排交互

例如上图的结束节点,逻辑类似于如下的脚本:

SLS新版告警入门——告警管理编排交互

其中条件逻辑后面的结束,相当于是函数的 return 语句,因此不会继续向下执行。

如果是继续链接的话,如下图所示:

SLS新版告警入门——告警管理编排交互

则相当于如下的脚本:

SLS新版告警入门——告警管理编排交互

因此即使满足了if语句,依然会继续向下执行。

策略继承

告警策略继承

目前只有告警策略(包含路由合并、抑制和静默)可以继承。策略继承相当于两个策略的策略图拼接起来。例如父策略如下:

SLS新版告警入门——告警管理编排交互

子策略如下:

SLS新版告警入门——告警管理编排交互

则最终子策略的效果相当于:

SLS新版告警入门——告警管理编排交互

因此可以看到,策略图最下面的结束节点,只是表示当前策略逻辑上的结束,假如当前策略有子策略的话,有可能会继续执行子策略的。但是条件节点右侧的结束,表示的是整个执行的中断,因此如果匹配了条件,就不会再继续向西执行。

通过继承实现全局静默

策略继承的一个非常便捷的用途就是用来实现全局静默。例如有一个父策略

sls.root

,它有若干个子策略例如

alert-policy-1

alert-policy-2

等等。假如某一天希望静默掉所有

labels.env = test

即测试环境的告警的时候,就可以配置

sls.root

的静默策略,从而对所有子策略都生效,而无需对每个子策略单独配置。

SLS新版告警入门——告警管理编排交互

循环继承

另一个问题就是循环继承。假如 A 继承 B,B 又继承了 A,就会导致继承链上出现环。此时会从当前策略沿着继承链向上,直到到达循环点。例如:

  • 使用的是策略 A,则最终效果是 B + A,因为 A 继承自 B
  • 使用的是策略 B,则最终效果是 A + B,因为 B 继承自 A

进一步参考

了解更多的信息,可以参考 SLS 的官方文档:

对我们工作感兴趣的,可以通过如下方式了解更多,谢谢关注!

SLS新版告警入门——告警管理编排交互

继续阅读