Event Relabel 事件处理器

概述

Relabel 事件处理器是 Nightingale 告警通知流程中对事件标签进行重新标记和处理的重要环节。该处理器的功能和在数据上报时对数据进行 relabel 类似,允许您对告警事件的标签进行各种操作,包括删除、保留、重命名、合并和修改标签值等。

主要功能

  • 🏷️ 标签删除:删除不需要的标签(labeldrop)
  • 🎯 标签保留:只保留指定的标签(labelkeep)
  • 🔄 标签重命名:对标签key进行重命名(labelmap)
  • 🔧 标签合并:根据已有标签构建新标签(replace)
  • ✏️ 值修改:修改标签的value内容(replace)

使用步骤

1. 选择处理器类型

在告警规则配置页面,选择"处理器"类型为 Relabel

2. 配置操作类型

根据需求选择合适的 Action:

  • 删除标签:选择 labeldrop
  • 保留标签:选择 labelkeep
  • 重命名标签:选择 labelmap
  • 修改/构建标签:选择 replace

3. 配置匹配条件

regex 字段中设置标签key的匹配条件,支持正则表达式。

4. 设置替换内容(如需要)

根据选择的操作类型,配置相应的 replacement、target_label 等参数。

5. 测试配置

保存配置后,新的告警事件将按照设置的规则进行标签处理。

使用场景与配置示例

场景 1:删除不需要的标签

img

如上图中的告警事件,有非常多的标签,如果有的标签我们不太关心想去掉,可以通过 labeldrop 操作,将这些标签 drop 掉,比如如果想删掉 listening_10 和 host 标签,可以配置如下:

配置参数:

  • Action: labeldrop
  • Regex: listening_10|host

img

保存之后,listening_10 和 host 会被删除。

img

场景 2:只保留指定的标签

img

如上图中的告警事件,有非常多的标签,如果只想保留我们关心的标签,可以通过 labelkeep 操作,比如我们只想保留 service、name 和 addr 标签,可以配置如下:

配置参数:

  • Action: labelkeep
  • Regex: service|^name$|addr

注意:name 这样写 ^name$ 是因为其他标签包含了name,进行严格匹配

image-20240717112440461

保存之后,新的告警事件,只会保留 service|name|addr 三个标签。

image-20240717112033348

场景 3:重命名标签key

img

如上图,想将 __name__ 重命名为 name,则可以使用如下配置:

配置参数:

  • Action: labelmap
  • Regex: __(name)__
  • Replacement: $1 或固定值 name

新的 name 标签增加之后,之前的 __name__ 标签还会保留,需要再配置一个 labeldrop 删除掉。

img

保存之后,新的告警事件,__name__ 会改为 name。

img

场景 4:构建新的标签

img

如上图的告警事件,如果我们想构建一个包括了 ident+listening_10 内容的新标签,我们可以使用 replace 操作,将 ident+listening_10 合并到一起:

配置参数:

  • Action: replace
  • Target_label: addr
  • Source_labels: ["ident", "listening_10"]
  • Separator: :

img

保存之后,新的告警事件,会有一个新的 addr 标签。

img

场景 5:修改标签的value

img

如上图,如果我们修改 addr 标签,将端口部分去掉,可以使用 replace 操作:

配置参数:

  • Action: replace
  • Target_label: addr
  • Source_labels: ["addr"]
  • Regex: ([^:]+):.*
  • Replacement: ${1}

img

保存之后,新的告警事件,addr 中的端口会去掉。

img

常见使用场景

1. 标签清理

清理告警事件中的冗余标签,只保留业务关心的核心标签。

2. 标签标准化

统一标签命名规范,将不规范的标签key重命名为标准格式。

3. 环境区分

通过标签合并,构建包含环境信息的新标签,便于告警分类。

4. 敏感信息处理

去除或修改包含敏感信息的标签内容。

注意事项

  • 🔍 正则表达式:所有匹配条件都支持正则表达式,确保语法正确
  • 📋 操作顺序:多个relabel操作按配置顺序执行,注意操作间的依赖关系
  • ⚠️ 标签保留:使用labelmap重命名标签时,原标签仍会保留,需额外配置labeldrop删除
  • 🧪 充分测试:建议在生产环境使用前进行充分测试
  • 📊 性能影响:复杂的正则表达式可能影响处理性能,建议优化匹配条件

更新时间 2025-03-12

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云