开发者社区> 问答> 正文

运维编排服务如何创建事件运维任务?

运维编排服务如何创建事件运维任务?

展开
收起
小天使爱美 2020-03-24 11:17:14 847 0
1 条回答
写回答
取消 提交回答
  • 系统事件代表了云产品资源状态的变更,比如ECS实例发生了异常重启、ECS实例被释放、快照创建完成、将要执行运维等等。运维编排支持创建事件运维任务,在系统事件发生时,执行指定的模板,进行事件运维。事件运维任务会一直执行并监听新事件,直到您取消它。

    创建事件运维任务包括如下步骤:

    设置事件匹配规则,定义如何匹配出您关心的系统事件。 选择要执行的模版。 设置模板的执行参数。 设置事件匹配规则 根据事件的属性值匹配出您关心的事件,可以设置以下字段: 字段 是否必填 说明 产品类型 是 从下拉框选择,只能单选。 事件名称 是 系统事件的名称,可多选,取值参见云产品事件 地域 否 事件关联资源所在的阿里云地域,可多选。取值请参见地域和可用区。 事件等级 否 事件等级,可选值严重、警告、信息。 事件详情匹配规则 否 Json格式,用来匹配系统事件的详情。 oos-eventrigger

    事件详情匹配规则 系统事件的事件详情是一个Json,不同的系统事件的详情包含的字段不同。您可以根据详情中的字段对系统事件进行精细的筛选。以ECS的实例状态改变通知为例,其事件详情(事件消息体中content的值)格式如下: { "resourceId": "i-bp1ecr********5go2go",
    "resourceType": "ALIYUN::ECS::Instance", "state": "Running"
    } 此事件详情中的resourceId是发生状态变更的ECS实例Id,state有Pending/Starting/Running/Stopping/Stopped/Delete多个可选值。

    事件详情匹配规则也是一个Json,其中的key与事件详情中的key相同,value是您需要匹配出的值或者值的列表。如果要匹配实例停机的事件,可以如下配置:

    { "state": "Stopped" } 如果要匹配实例i-abcde停机或者释放的事件,可以如下配置:

    { "resourceId": "i-abcde", "state": ["Stopped", "Deleted"] } oos在配置事件详情匹配规则时,您可以参考页面显示的事件消息体格式示例(事件消息体中content部分为事件详情)。

    选择模板 选择在系统事件发生时需要执行的模板。 selecttemplate

    设置模板的执行参数 模板参数中可以填入固定值,也可以从事件消息体选择参数。当选择固定参数时,总是使用固定参数执行模板。选择从事件消息体选择参数时,可以配置jq表达式,从事件消息体中提取字段。 从事件消息体中提取字段,使用$开头,加上jq表达式。比如我们要从ECS的实例状态改变通知事件消息体中提取事件详情(content)中的resourceId,应该使用$.content.resourceId。如果要提取地域ID,使用$.regionId

    事件消息体中有以下固定字段可以提取:

    提取表达式 说明 示例值 $.id 事件ID。 9435EAD6-3CF6-4494-8F7A-3A77 $.eventTime 事件发生时间,采用UTC+8时区。 20181226T220114.058+0800 $.level 事件级别。取值范围:INFO、WARN、CRITICAL INFO $.name 事件名称代码。 Instance:StateChange $.regionId 阿里云地域ID。取值请参见地域和可用区。 cn-hangzhou $.product 产品名称代码 ECS $.resourceId 资源的ARN值(Aliyun Resource Name,阿里云全局资源描述符)。 acs:ecs:cn-hangzhou:16907030:instance/i-bp1ecr5go2go $.userId 云账号ID。 16907030 $.content.fieldName 从事件详情中提取fieldName字段的值。 无 从事件消息体选择参数:parameter

    使用固定参数,和普通模板参数设置方法一致。

    2020-03-24 11:27:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
可视化架构运维实践 立即下载
2021云上架构与运维峰会演讲合集 立即下载
MySQL 技术大全:开发、优化与运维实战 立即下载