配置标签增强
title: "标签、标签增强"
description: "标签的作用和如何配置标签增强"
date: "2024-06-18T10:00:00+08:00"
url: "https://docs.flashcat.cloud/zh/flashduty/label-enrichment-settings"
FlashDuty 故障详情中的故障标签以 key:value 的形式展示告警的各类源数据信息,这些标签信息来源于接入到 FlashDuty 的各类告警事件,当系统以源数据自动生成的标签无法满足业务时,可以通过标签增强为告警丰富更多标签信息,提升故障处理效率。
视频介绍
标签的用途
在 FlashDuty 中,标签是告警事件和故障处理的基本数据模型,标签的用途非常广泛,其核心用途包括但不限于:
- 故障列表: 故障列表现支持通过标签进行快速筛选,方便用户集中查看和管理具备相同标签的所有故障记录,提升故障处理的效率与针对性
- 配置路由: 根据路由规则匹配协作空间时,可以使用标签作为条件,将相同标签的事件接入到某个或多个协作空间
- 排除规则: 当有特定告警不需要接收时,可以在排除规则中根据标签进行匹配
- 分派通知: 分派条件中可以使用标签实现更加精准和灵活的通知分配策略
- 告警聚合: 通过智能化的在聚合过程中运用相同或不同标签作为维度,有效实现告警事件的归类与降噪,提升故障的清晰度与处理效率
- 静默规则: 允许在静默条件配置中纳入标签作为判断依据,精准筛选并静默特定标签关联的告警事件,从而实现告警管理的高级定制化与噪音控制
- 抑制规则: 引入标签作为关键条件,使得抑制规则能够更加精准地识别并阻止符合条件(包括特定标签匹配)的告警事件,优化告警系统效率并减少误报干扰
- 标签增强: 标签增强功能允许在配置过程中从现有源标签中自动提取或衍生出新标签,实现标签结构的优化与细化,进一步增强资源分类与管理的灵活性与智能化水平
配置标签增强
集成中心的各个告警事件都具备标签增强配置选项,可以在创建告警事件完成后配置标签增强。
标签增强的类型
- 提取: 可以在告警标题、详细描述及现有标签字段中,运用正则表达式提取出所需要的信息,并自动生成附加的标签。
- 组合: 组合规则可以通过 Go 语言模板语法构建新的标签,以{{.Labels.Field}}格式来提取标签值或采用固定值的方式生成新的标签。
- 映射: 是将系统中的源键值通过映射关系生成新的键值对,需预先创建schema映射关系和上传元数据后才可以配置,具体配置参考下文中的配置示例。
- 删除: 即删除指定名称的标签,如果删除的标签不存在则无效。
配置说明
限制条件: 在进行标签增强时,可以配置前提条件规则来限制是否生成或删除相应的标签(默认关闭),当有限制时,如果不匹配条件则不生成或删除标签。您可以前往 配置过滤条件,了解如何配置限制条件。
覆盖: 根据设定条件生成新标签时,可以选择是否覆盖原标签(默认关闭),比如根据规则新生成一个名为 host ,值为 A 的标签,如果标签 host 在原告警中已存在,则会覆盖原标签。
预览: 配置完成规则后,支持预览,可以直观的观察规则配置效果。
::: tip
标签规则可以配置多个,多个规则时会从上而下的顺序执行,当其中有规则不匹配时则不会生成/删除对应的标签,且没有提示信息。
:::
配置示例
1. 标签提取
场景: 告警事件来自邮件集成,需要从描述信息中提取关键信息作为标签应用到其他场景,比如将描述信息中的 IP 和触发值提取为独立的标签。
1.1告警原文
1.2 提取规则
1.3 提取效果
2. 标签组合
场景: 公司的日志平台可以通过域名+事件ID+时间戳的方式直接访问到日志详情,但告警信息中只有事件ID和时间戳标签,所以需要根据这些信息组合成一个访问地址。
2.1 告警原文
2.2 组合规则
2.3 组合效果
3. 标签映射
场景: 当源告警信息中的标签值不固定且不能直观定位其含义时可以通过映射的方式,将源标签映射新定义标签和值;比如源告警中只有资源类型ID信息,但希望将每个ID对应的资源类型名称也体现出来,这时可以通过映射实现。
3.1 创建schema映射关系
源告警信息中只有资源类型ID和以数字表示的告警级别,需要映射标签有:ID->Type,Level->DLevel。
源标签01 | 目标标签01 | 源标签02 | 目标标签02 |
---|---|---|---|
ID | Type | Level | Dlevel |
创建schema,source_labels和result_labels参数分别表示源标签和目标标签名称(更多创建方式)
curl --location --request POST 'https://api.flashcat.cloud/enrichment/mapping/schema/create?app_key={}' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: application/json' \
--data-raw '{
"schema_name": "zabbix mapping",
"description": "Mapping test",
"source_labels": [
"ID",
"Level"
],
"result_labels": [
"Type",
"Dlevel"
]
}'
3.2 上传映射表(需要CSV格式)
ID | Type | Level | Dlevel |
---|---|---|---|
A | server | 1 | 停服 |
B | router | 2 | 危险 |
C | gateway | 3 | 警告 |
D | database | 4 | 注意 |
E | MQ | 5 | 提醒 |
curl --location --request POST 'https://api.flashcat.cloud/enrichment/mapping/data/upload?schema_id={}&app_key={}' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: multipart/form-data' \
--form 'file=@"./test.csv"'
3.3 配置映射关系
3.3.1 告警原文
3.3.2 映射效果
::: tip
如果不希望源标签还存在,可以通过删除规则实现。
:::