链接复制成功!
创建流转规则
操作场景
用户通过流转规则可以实现事件、告警等规则的自定义配置。通过配置流转规则,将原始告警转成汇聚告警或事件。
前提条件
配置流转规则前,您需要确保集成管理配置流转规则的监控源已成功接入集成。
创建规则
- 登录云运维中心。
- 在左侧导航栏选择“故障管理 > 流转规则”。
- 单击右上方“新增规则”。
若两个流转规则中的信息较相似,可单击操作列“复制”,快速创建流转规则。
- 设置“基本信息”。
表1 基本信息参数说明 参数
说明
规则名称
自定义流转规则的名称。
区域
可选参数,在下拉列表选择区域。
不选择区域展示“默认”,表示不涉及区域。
企业项目
在下拉列表选择企业项目。
应用
在下拉列表选择应用。
- 设置“触发规则”。
表2 触发规则参数说明 参数
说明
触发类型
可选项“事件”、“告警”。
- 事件:生成事件单,需要值班人员尽快处理,持续跟进直至闭环。
- 告警:生成告警管理,支持基于响应预案手动或自动化快速闭环。
数据源
请选择数据源。
数据源是原始告警产生的来源。
配置规则前请确保数据已接入并启用,当满足所有条件时,运行流转规则。数据源设置请参考集成管理。
触发条件
选择触发条件的key、比较方式、value。
支持添加触发条件,最多支持5个触发条件。key的详细说明请参考表3 触发条件key参数说明表。
触发规则
请选择触发规则。
事件级别
仅触发类型选择事件时需要选择。可选项“P1”、“P2”、“P3”、“P4”、“P5”。
默认严重程度“P1”最严重,“P5”最轻微。
沉默规则
仅触发类型选择事件时需要选择。选择“启用”、“禁用”沉默规则。
此流转规则生成事件后,在事件未走到“已完成”或“客户已关闭”状态前,若又满足触发规则不再生成新的事件。
告警级别
仅触发类型选择告警时需要选择。可选项“紧急”、“重要”、“次要”、“提示”。
须知:
1.流转规则生成事件后,在事件未走到“已完成”或“已关闭”状态前,若又满足流转规则不再会产生事件---该规则是默认启用的,支持关闭该规则。
2.流转规则生成汇聚告警,在窗口期内若没有收到原始告警,系统会将之前窗口期内的告警作为历史告警(即当前告警状态默认设置为“已处理”)图1 流转规则转事件/告警示意图表3 触发条件key参数说明表 key参数
描述
对应CES告警字段
对应AOM告警字段
alarmId
告警ID
alarm_id
id
alarmName
告警名称
alarm_name
metadata中的event_name
alarmLevel
告警级别,取值有:紧急、重要、次要、提示
AlarmLevel
event_severity
time
告警发生时间
time
starts_at
nameSpace
服务的命名空间
namespace
namespace
region
Region
template_variable中的Region
/
application
应用名
/
/
resourceName
资源名称
template_variable中ResourceName
metadata中的resource_id
resourceId
资源ID
template_variable中的ResourceId
/
alarmDesc
告警描述
template_variable中的AlarmDesc
/
URL
原始告警URL
template_variable中的Link
/
alarmStatus
告警状态。一般取值为alarm(告警中)和ok(已恢复)
alarm_status
/
alarmSource
告警源名称,如从CES上报的告警,该字段的值显示CES
/
/
additional
告警附加信息,格式为additional.xxx
除以上的参数,其他参数均放在该参数中,使用additional.xxx表示,CES相关字段描述点击这里查看
除以上的参数,其他参数均放在该参数中,使用additional.xxx表示,AOM相关字段描述点击这里查看
- 设置“响应预案”。
表4 响应预案参数说明 参数
说明
任务类型
可选项“应急预案”、“脚本”、“作业”。
自动执行
勾选是否自动执行。自动化预案、脚本、作业支持自动执行。
- 勾选“自动执行”后,显示“参数映射”,系统根据上方的触发条件及设置自动执行。
参数值、Region ID、和目标实例填写格式为${},需要通过该表达式解析对应的值,详细请参考自动化执行参数示例说明。
- 不勾选“自动执行”,单击左侧链接手动执行任务。
- 勾选“自动执行”后,显示“参数映射”,系统根据上方的触发条件及设置自动执行。
- 设置“分派规则”。
- 单击“确定”。
完成流转规则创建。
自动化执行参数示例说明
参数值、Region ID、和目标实例填写格式为${},需要通过该表达式解析对应的值,相关示例如下:
参考示例:
告警信息如下:
{
"alarmId": "al1696664837170EWbvx24kW",
"alarmName": "alarm-4z39coctest1007",
......
"URL": "https://console.ulanqab.huawei.com/ces/?region=cn-north-7#/alarms/detail?alarmId=al16849986549022X5Vp4pxr",
"additional": {
"dimension": "instance_id:29d99a09-2d15-4ced-8723-6e94ae1c1472",
......
},
......
}
1. 如果要获取当前告警信息里面的alarmId的值,表达式写成如下形式:
${currentAlarm.alarmId}
2. 如果要从additional.dimension字符串里面获取instance_id的uuid,表达式写成如下形式:
${string.substring(currentAlarm.additional.dimension, string.indexOf(currentAlarm.additional.dimension, 'instance_id:') + 12)}
或者
${string.substring(currentAlarm.additional.dimension, 12)}
3. 如果要从URL字符串里面获取cn-north-7这个region ID,表达式写成如下形式:
${string.substring(currentAlarm.URL, string.indexOf(currentAlarm.URL, 'region=') + 7, string.indexOf(currentAlarm.URL, '#/alarms'))}
表达式里面的"currentAlarm."是个固定前缀,意思是从当前告警的数据里面获取。