Label Enrich 事件处理器(商业版)
概述
Label Enrich(标签丰富)事件处理器是一个用于丰富告警事件标签信息的组件。它可以根据事件现有的标签,从外部数据源(如数据库表)中查找并添加额外的标签信息,从而为告警事件提供更丰富的上下文信息。
主要功能
- 标签丰富:根据事件现有标签,从配置的数据源中查找并添加新的标签
- 灵活映射:支持标签键的重命名和自定义映射
- 高性能查询:使用内存缓存机制,确保快速的标签查询和匹配
使用场景
- 地理位置丰富:根据 IP 地址或机房代码,添加城市、区域等地理信息标签
- 资源属性丰富:根据主机名或实例ID,添加业务线、环境类型、负责人等信息
- 层级关系丰富:根据命名空间或服务名,添加项目、团队、部门等组织架构信息
配置说明
基本配置
在创建处理器时,页面顶部会出现如下字段:
| 字段 | 说明 |
|---|---|
| 类型 | 选择 Label Enrich。 |
| 标签来源 | 目前支持 内置标签词表(默认)。后续可扩展外部词表。 |
| 词表名称 | 从下拉框中选择具体的词表,例如 门店信息。 |
提示:系统会先根据"源标签"构建查询索引,在词表中查找匹配记录,再按"新增标签"把查询到的字段写入事件。
源标签配置(索引键)
该区域用于指定查询索引的组成。每行映射一对"词表字段"与"事件标签"。
| 列 | 作用 | 示例 |
|---|---|---|
| 词表中的字段 | 词表中用于索引的列名 | storeCode |
| 对应事件中的标签 | 告警事件中已存在的标签键 | storeCode |
配置完多行后,系统会按以下规则拼接索引键:
- 取每行 词表字段=事件中对应 标签值;若标签缺失则整条查询放弃。
- 将所有键值对按字母排序后,用逗号连接。
拼接示例:
storeCode=001,namespace=prod
新增标签配置(结果映射)
在此区域选择需要写回事件的字段。每行表示一条写入规则:
| 参数 | 说明 | 示例 |
|---|---|---|
| 词表字段 | 查询结果中的列名,如 cityName |
cityName |
| 重命名标签 Key | 开关。关闭时,使用词表字段作为标签键;开启后,可输入新的标签键 | 开启 → city |
一个常见做法是:
- 勾选
重命名标签 Key后,将业务无关的字段名替换为业务友好的标签键,例如cityName → city。
您可以通过右侧的 "+" 按钮继续增加要写入的标签行。
测试
配置完成后,点击底部 测试 按钮,输入一组待测试的事件标签(如 storeCode=001,namespace=prod),即可查看系统从词表中检索出的字段及最终写入事件的效果。
配置示例
场景:主机标签丰富
源标签配置:
- hostname → hostname
新增标签配置:
- department → dept
- owner → owner
- environment → env
效果:
原始事件标签:{hostname: "web-server-01"}
丰富后标签:{hostname: "web-server-01", dept: "技术部", owner: "张三", env: "production"}
注意事项
- 索引完整性:确保所有配置的源标签在事件中都存在,否则查询将被跳过
- 字段匹配:确保新增标签配置中的源键名称与数据源中的字段名称完全匹配
- 标签冲突:如果新增的标签键与事件现有标签冲突,新值会覆盖原值
故障排除
常见问题
问题1:标签没有被丰富
- 检查源标签是否完整存在于事件中
- 验证索引键格式是否正确
问题2:标签值不正确
- 确认数据源中的字段名称与配置一致
- 检查标签映射数据的更新时间
- 验证重命名配置是否正确
通过合理配置和使用 Label Enrich 处理器,您可以显著提升告警事件的信息丰富度,为后续的告警处理和分析提供更多有价值的上下文信息。