更新时间:2024-10-29 GMT+08:00

流转规则

本文介绍如何配置流转规则。

前提条件

配置流转规则前,您需要确保集成管理配置流转规则的监控源已成功接入集成。

操作场景

管理流转规则,通过流转规则实现事件、告警等规则的自定义配置。

新增流转规则操作步骤

  1. 登录COC
  2. 在左侧导航栏选择“故障管理 > 流转规则”,进入“流转规则”页面。
  3. 在流转规则列表上方,单击“新增规则”进入新增流转规则页面。

    图1 新增流转规则

    若两个流转规则中的信息较相似,可单击“操作”列“复制”,快速创建流转规则。

  4. 根据页面提示,输入规则名称、应用名称等基本信息。

    图2 填写流转规则基本信息

  5. 在触发规则部分,选择触发类型,选择触发规则的数据源,根据相应的数据源的字段的键,配置相应的条件及满足条件的值,并选择级别。

    图3 填写触发规则

    1.流转规则生成事件后,在事件未走到“已完成”或“已关闭”装填前,若又满足流转规则不再会产生事件---该规则是默认启用的,支持关闭该规则。

    2.流转规则生成汇聚告警,在窗口期内若没有收到原始告警,系统会将之前窗口期内的告警作为历史告警(即当前告警状态默认设置为“已处理”)
    图4 流转规则转事件/告警示意图

    触发条件中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相关字段描述点击这里查看

  6. 在响应预案部分,选择针对本次流转规则相关联的脚本、作业和应急预案,脚本和作业的添加请参考自动化运维

    脚本、作业和自动化预案支持故障自愈能力,选择脚本作业和自动化预案后会显示“自动执行”勾选项,勾选后带出脚本或作业对应的参数

    图5 填写响应预案

    参数值、Region ID、和目标实例填写格式为${},需要通过该表达式解析对应的值,自动化执行参数示例说明

  7. 在分派规则部分,选择分派的对象,最后单击下方的“提交”,完成流转规则的创建。

    图6 填写分派规则

自动化执行参数示例说明

参数值、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."是个固定前缀,意思是从当前告警的数据里面获取。

编辑、启用/禁用、删除流转规则操作步骤

  1. 登录COC
  2. 在左侧导航栏选择“故障管理 > 流转规则”,进入流转规则配置页面。
  3. 在流转规则列表页面,对任意一个流转规则,单击“操作”列的“更多 > 编辑”、“更多 > 删除”进行编辑和删除操作,单击“操作”列的“启用”、“禁用”对流转规则进行启用、禁用操作。禁用流转规则后,将不会触发事件或者告警。