您的业务运行在云服务器ECS中时,为了保障业务运行的稳定性以及实现自动化运维,建议您通过云监控设置事件通知监听底层环境的变化,在事件发生时做出相应处理。

功能优势

云监控提供的云产品事件功能旨在传递更多资源变化信息。其中,云服务器ECS事件可能是系统事件(包括运维事件和异常故障)、实例状态变化、配置变更等。通过云监控的事件订阅功能,您可以及时获取事件消息,并可以通过配置消息中间件来实现事件驱动的自动化运维,避免低效的API或SDK轮询。

操作步骤

云服务器ECS将事件上报到云监控后,您可以按以下步骤在云监控控制台订阅事件通知。

  1. 登录云监控管理控制台
  2. 在左侧导航栏中,单击事件监控
  3. 事件监控页面,选择报警规则 > 事件监控,单击创建事件报警
  4. 创建/修改事件报警页面,设置报警通知:
    • 按以下内容配置事件筛选规则:
      • 事件类型:选择系统事件
      • 产品类型:选择云服务器ECS
      • 事件等级:选择您需要订阅的事件等级。可选项有严重CRITICAL)、警告WARN)和信息INFO)。
      • 事件名称:选择您需要消费的事件名称,可多选。更多详情,请参见事件通知列表
        说明 不建议您选择全部事件选项,而是按照事件对业务的影响程度创建不同等级的事件通知。
      • 资源范围:选择全部资源时,任何资源发生相关事件,都会按照配置发送事件通知。
    • 按以下内容配置事件投递目标:
      • 通知方式:在事件发生时可以通过短信、邮箱、旺旺或钉钉机器人推送事件通知。为提高可读性,通知方式里的内容会做相应的定制化处理。
        说明 信息INFO)级别的事件推送频率较高,因此不建议对INFO设置报警通知,避免您被大量的事件通知打扰。
      • 消息处理中间件:您还可以配置消息服务队列、函数计算、GET或POST URL回调、日志服务等实现自动化处理事件程序。


  5. 单击确定完成创建。

执行结果

设置了事件通知后,云服务器ECS会推送消息到您设置的通知方式。以下示例为ECS实例发生状态变化的事件通知的非定制化JSON格式消息:

{
    "eventTime": "20181226T220114.058+0800",
    "id": "9435EAD6-3CF6-4494-8F7A-3A********77",
    "level": "INFO",
    "name": "Instance:StateChange",
    "product": "ECS",
    "regionId": "cn-hangzhou",
    "resourceId": "acs:ecs:cn-hangzhou:169070********30:instance/i-bp1ecr********5go2go",
    "userId": "169070********30",
    "ver": "1.0",
    "content": {
        "resourceId": "i-bp1ecr********5go2go",
        "resourceType": "ALIYUN::ECS::Instance",
        "state": "Stopping"
    }
}
事件通知的顶层字段包含以下固定字段:
  • id:事件ID。
  • eventTime:事件发生时间,采用UTC+8时区。
  • level:事件级别。取值范围:INFO | WARN | CRITICAL,分别表示消息、警告和严重。
  • name:事件名称。更多详情,请参见事件通知列表
  • product:产品名称。取值范围:ECS。
  • regionId:阿里云地域。取值请参见地域和可用区
  • resourceId:资源的ARN值(Aliyun Resource Name,阿里云全局资源描述符)。
  • userId:您的用户账号ID。
  • content:事件详情。具体格式说明请参见事件通知列表