新版本告警在升级原有功能的基础上,扩展了告警监控、告警管理、通知管理的能力。本文介绍新版与旧版在架构、功能和配置上的区别。
架构升级
新版告警在告警规则监控数据、触发告警后,通过告警策略进行降噪、通过行动策略进行渠道分派管理。并支持额外的告警事件管理和告警升级。
旧版告警工作流程
新版告警工作流程
功能升级
功能升级体现在原有告警功能的增强和新增功能。
现有功能的升级
功能点
旧版
新版
日志监控
结果存在就触发告警。
提供结果存在就触发告警的选项。
固定任意条件满足就触发告警。
增加结果中满足特定条数时才触发告警的功能。
时序监控
结果存在就触发告警,查询和分析语法编写略繁琐,固定任意条件满足就触发告警。
直接提供存在即触发告警的选项,增加结果中特定条数满足时才触发告警的功能。
结果存在就触发告警。
提供结果存在就触发告警的选项。
固定任意条件满足就触发告警。
增加结果中满足特定条数时才触发告警的功能。
不支持组合查询。
增加支持组合查询。
报表关联
强制关联至少一个报表。
不再强制要求关联报表。
多库关联监控
组合查询时,仅支持笛卡尔积、不合并两种操作。
组合查询时,支持各种集合操作(笛卡尔积、不合并、拼接、左联、右联、全联合、左斥和右斥等)。
同一告警去重
时间窗口内,忽略来自同一告警规则的告警。
增加基于标签定义的告警去重和延迟发送功能。
新版新增功能
在告警监控、告警管理、通知管理以及告警分析方面增加以下新功能:
类别
功能点
功能描述
告警监控
关联日志与时序监控
支撑SQL Join语法、查询和统计的中间结果集合操作扩展。
黑白名单监控
使用资源数据关联白名单或黑名单对象。
数据协同关联监控能力
支持跨Project、跨区域、跨账号协同的集合操作。更多信息,请参见多集合操作机制。
告警严重度
支持设置告警静态、动态、无数据时的告警严重度。更多信息,请参见设置告警严重度。
标签、标注
支持自定义标签、标注,其中标注值可使用变量。更多信息,请参见标签和标注。
多目标监控
支持对一条告警规则中查询和分析结果进行分组评估,不同分组分开发送告警通知。更多信息,请参见分组评估。
无数据告警
无数据时发送告警通知。更多信息,请参见无数据告警。
告警恢复
告警恢复时发送告警通知。更多信息,请参见恢复通知。
告警管理
告警降噪控制
全局的控制范围、告警静默、告警之间抑制和压制、多种告警归类合并等。更多信息,请参见告警管理概述。
通知管理
告警动态分派
支持根据告警属性动态分派给特定渠道下的指定用户、用户组或值班组。更多信息,请参见渠道分派与发送机制。
接收人管理
支持日历
支持感知不同国家的节假日、工作日等,并做动态调整。更多信息,请参见日历重置机制。
值班表管理
支持丰富的轮岗排班方案、支持代班。单个值班组可以有独立的日历,支持节假日自定义和感知。更多信息,请参见轮岗与代班场景。
渠道额度控制
支持短信、语音、邮件的额度控制,并支持特定用户、组的自定义控制。更多信息,请参见通知渠道额度控制机制。
告警分析
告警规则中心、告警链路中心、告警排障中心
支持告警监控规则总体执行态势、触发告警状态、告警各个环节链路、以及告警系统中各阶段的错误展示。支持按照区域、项目和严重度等过滤查看告警态势。
全局存储
全局化的告警存储,便于查看接收、处理的告警和相关日志。
配置项变化
配置项变化主要体现在告警规则参数、通知配置和内容模板变量的变化。
告警规则参数
从旧版迁移到新版告警后,新增如下配置项,其余配置项与旧版保持一致。
新增配置项
默认值
分组评估
不分组
查询统计的集合操作
内嵌
触发条件
特定条数满足
告警严重度
中
无数据告警
关闭
恢复通知
关闭
通知配置
升级后,日志服务提取手机号、邮箱作为用户标识,并创建对应的用户,提取通知内容作为内容模板的内容。根据通知渠道配置生成对应的行动策略,默认使用SLS内置动态告警策略(
sls.builtin.dynamic
)。说明通知渠道中相同手机号、相同邮箱地址会自动匹配已升级完成的用户,并使用该用户发送告警通知。
通知渠道中相同的通知内容会自动匹配已升级完成的内容模板,并在发送告警通知时使用升级完成的内容模板。
相同通知渠道自动匹配已升级完成的行动策略,并在发送告警通知时使用该行动策略。
通知方式
新版
旧版
短信
用户名+手机号+内容模板
短信手机号码+发送内容
语音
用户名+手机号+内容模板
语音手机号码+发送内容
邮箱
用户名+邮箱地址+内容模板
邮箱地址+发送内容
钉钉
用户名+手机号+内容模板
请求地址+钉钉中@手机号+发送内容
内容模板变量
为了与告警策略中应用的告警变量一致,新版的内容模板变量有所调整,并增加多个新的变量。其中新版与旧版在名称上变化的部分,对应关系如下。
旧版变量
新版变量
说明
Aliuid
aliuid
Project所属的阿里云账号ID
Project
project
告警规则所属Project
AlertID
alert_instance_id
告警执行ID
AlertDisplayName
alert_name
告警规则显示名称
Condition
condition
触发告警的条件表达式。其中,以触发告警的值替换设置的变量,并使用中括号([])包裹。
RawCondition
raw_condition
原始的条件表达式,即condition中不替换变量的原始表达式。
Dashboard
dashboard
告警规则关联的仪表盘名称
DashboardUrl
dashboard_url
告警规则关联的仪表盘地址
FireTime
fire_time
触发时间
FullResultUrl
query_url
告警触发历史记录的查询地址URL
Results
results
查询参数和结果,数组类型。字段解释请参见附录:Results结构。
说明最多发送100条告警通知。
附录:Results结构
旧版字段 | 新版字段 | 说明 |
Query | query | 查询语句 |
LogStore | store | 查询的目标Logstore |
StartTime | start_time | 查询开始时间 |
StartTimeTs | start_time_ts | 查询开始时间,Unix时间戳 |
EndTime | end_time | 查询结束时间 |
EndTimeTs | end_time_ts | 查询结束时间,Unix时间戳 |
RawResults | raw_results | 查询原始结果,数组类型,每个元素为一条日志。数组长度和日志内容大小有关,最多包含100条。 |
RawResultsAsKv | raw_results_as_kv | 按照key-value格式化的原始查询结果。 说明 该字段只可以作为模板变量引用,不会保存到Logstore。 |
RawResultCount | raw_result_count | 原始结果条数。 |
FireResult | fire_result | 触发告警的日志。如果告警未触发则为null。 |
FireResultAsKv | fire_result_as_kv | 按照key-value格式化的触发告警的日志。 说明 该字段只可以作为模板变量引用,不会保存到Logstore。 |