告警处理 pipeline
title: "告警处理pipeline"
description: "告警处理pipeline是FlashDuty中告警处理的核心功能,通过配置告警处理pipeline,可以实现告警的自动化处理和优化告警流程"
date: "2024-06-18T10:00:00+08:00"
url: "https://docs.flashcat.cloud/zh/flashduty/alert-pipeline"
告警处理 Pipeline 用于对触发的告警事件进行管理和优化,包括更新告警标题、修改告警描述、调整告警严重程度、以及执行告警过滤或抑制等操作。通过合理配置告警处理规则,可以提升告警的可读性、减少告警噪声,并提升定位问题的效率。
告警接入流程
告警处理配置
配置路径:集成中心 => 集成详情 => 告警处理
- 在配置告警处理时,可以添加多个告警处理动作,FlashDuty 会按照配置的顺序依次执行告警处理动作。
- 在配置处理动作时,可以设置告警处理条件,当告警满足条件时,才会执行告警相应的处理动作。
- 每个处理动作的执行结果,都可以作为下一个处理动作的输入条件。
告警处理条件
- 开启条件限制时,可以选择将符合条件的告警进行预处理,实现更精准、更灵活的告警处理动作。
- 告警处理条件支持多种选择,包括告警属性的标题、描述、严重程度,告警标签,值匹配模式支持模糊匹配、精确匹配、正则匹配、数值匹配、IP段匹配,具体参考配置过滤条件 文档内容。
告警处理类型
更新告警标题
将原告警标题修改为新的内容,新内容可以自行输入固定内容或者引用告警标签和属性以及组合的方式,引用语法可以参考定制故障标题文档内容,标题长度 不得超过 512 个字符,超出的将会截断处理。
更新告警描述
将原告警描述修改为新的内容,新内容可以自行输入固定内容或者引用告警标签和属性以及组合的方式,引用语法可以参考 引用告警标签 文档内容,描述长度 不得超过 2048 个字符,超出的将会截断处理。
更新严重程度
告警的严重程度通常依据系统预设的映射规则来确定的。现可以通过定制更新严重程度处理动作,调整告警的严重级别,从而更精准地定义告警的重要性。
告警丢弃
告警丢弃和协作空间下的 排除规则 是相同的功能,唯一区别在于,前者是集成层面的丢弃,后者是协作空间层面的丢弃。告警丢弃处理动作在集成层面可以将不需要处理的告警直接丢弃掉,从而减少告警处理的压力。
告警抑制
告警抑制提供了两种处理方式
- 集成层面的告警抑制是在告警进入系统的第一时间,将符合抑制条件的告警直接丢弃。
- 协作空间下的告警抑制是在通过路由规则进入到协作空间后将符合条件的告警抑制掉,此时,您可以灵活选择是丢弃这些告警,还是保留以备后续查看。
这种分层设计可以满足不同场景下的告警管理需求,既能减少不必要的告警噪声,又能确保关键告警得到有效处理。
使用场景和示例
为了便于以下示例,我们将引用一个夜莺触发的测试告警,如下所示:
{
"incident_status": "Info",
"incident_severity": "Info",
"title": "hm-test-告警规则名称 / Cluster-01 - demo-01",
"description": "hm-test-告警规则名称 trigger value: 29.14912",
"labels": {
"__name__": "cpu_usage_idle",
"cate": "prometheus",
"check": "hm-test-告警规则名称",
"cluster": "Cluster-01",
"cpu": "cpu-total",
"datasource_id": "4",
"detail_url": "https://demo.flashcat.cloud/alert-his-events/4974655",
"group_id": "1",
"group_name": "FlashcatOps",
"ident": "demo-01",
"metric": "cpu_usage_idle",
"prom_eval_interval": "10",
"prom_ql": "cpu_usage_idle{ident=\"demo-01\"} \u003c 100",
"region": "bj",
"resource": "demo-01",
"role": "master",
"rule_id": "1041",
"rule_prod": "metric",
"trigger_value": "29.27852"
}
}
场景一 :修改告警标题
原告警标题在无法修改的情况下,默认使用的是:$check::$cluster::$ident,现可以通过更新告警标题处理动作重新定义告警标题,比如使用:Labels.ident、Labels.cpu:、Labels.trigger_value 或使用告警的其他属性作为告警标题,参考语法如下:
- 固定标题格式
- 自定义分隔符 + 内容组合
- 引用标签 + 引用告警属性
场景二:更新告警描述
告警描述内容一般取的是告警规则名称加触发值,现可以通过更新告警描述处理动作,修改告警描述内容,参考语法如下:
- 自定义内容
场景三:更新告警严重程度
默认情况下夜莺的三级告警对应 FlashDuty 的 Info 级别,现可以通过更新告警严重程度处理动作,调整告警的严重级别,从而更灵活定义告警的重要性。
- 将主机是 demo-01 的告警严重级别改为 Critical