本文列举了可以通过云监控设置的云服务器ECS事件通知,包括实例系统事件、块存储系统事件、抢占式实例中断、云盘操作通知和创建快照结果通知等。

功能优势

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

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

说明 本文涉及的事件通知示例均未经过定制化,如果您设置的通知方式有格式转换功能,请以实际效果为准。

语义解析

您设置事件通知后,可以收到相应的通知消息。事件通知中,name为事件名称代码,其命名格式为<资源类型>:<事件类型>:<系统事件状态>
  • <资源类型>:表示具体的云服务器ECS组件名称。取值范围:Instance | Disk,分别代表ECS实例和块存储。
  • <事件类型>:表示事件名称。例如因系统维护实例重启事件的SystemMaintenance.Reboot、实例状态变化事件的StateChange、抢占式实例中断事件的Instance:PreemptibleInstanceInterruption、云盘完成操作事件的DiskOperationCompleted、快照完成创建事件的CreateSnapshotCompleted等。系统事件的更多取值请参见系统事件概述
  • <系统事件状态>:事件经过系统或者认为操作后发生的状态变化。取值请参见系统事件概述
    注意 仅ECS实例和块存储系统事件具有事件状态,其他业务类事件通知不具有事件状态。

实例系统事件

实例发生系统事件时,云服务器ECS会推送事件首次发布通知,事件每发生一次状态变更,均会发出事件状态变化通知。以因系统维护实例重启SystemMaintenance.Reboot)的事件为例,事件通知的格式如下所示。

  • 首次发布系统事件,事件处于已计划Scheduled)状态。
    {
      "ver": "1.0",
      "id": "2256A988-0B26-4E2B-820A-8A********E5",
      "product": "ECS",
      "resourceId": "acs:ecs:cn-hangzhou:169070********30:instance/i-bp1ecr********5go2go",
      "level": "CRITICAL",
      "name": "Instance:SystemMaintenance.Reboot:Scheduled",
      "userId": "169070********30",
      "eventTime": "20190409T121826.922+0800",
      "regionId": "cn-hangzhou",
      "content": {
        "eventId": "e-bp11trd********pqum2",
        "publishTime": "2019-04-09T04:18:26Z",    
        "notBefore": "2019-04-12T01:01:01Z",      
        "instanceId": "i-bp1ecr********5go2go",   
        "eventType": "SystemMaintenance.Reboot",  
        "eventStatus": "Scheduled"                
      }
    }
  • 假设您在系统事件计划执行时间(notBefore)前自行重启了实例,该系统事件被规避,并发布系统事件状态变更为已避免Avoided的通知。
    {
      "ver": "1.0",
      "id": "2256A988-0B26-4E2B-820A-8A********E5",
      "product": "ECS",
      "resourceId": "acs:ecs:cn-hangzhou:169070********30:instance/i-bp1ecr********5go2go",
      "level": "CRITICAL",
      "name": "Instance:SystemMaintenance.Reboot:Scheduled",
      "userId": "169070********30",
      "eventTime": "20190410T160101.922+0800",
      "regionId": "cn-hangzhou",
      "content": {
        "eventId": "e-bp11trdr********qum2",
        "publishTime": "2019-04-09T04:18:26Z",
        "notBefore": "2019-04-12T01:01:01Z",
        "instanceId": "i-bp1ecr********5go2go",
        "eventType": "SystemMaintenance.Reboot",
        "eventStatus": "Avoided",
        "executeStartTime": "2019-04-10T08:01:01Z",  
        "executeFinishTime": "2019-04-10T08:01:01Z"  
      }
    }

content字段解释:

  • eventId:系统事件ID。
  • publishTime:系统事件的发布时间。
  • notBefore:系统事件计划执行时间。只有维护类系统事件才有值,异常系统事件不存在notBefore时间。
  • instanceId:受影响的实例ID。
  • eventType:系统事件类型。取值请参见系统事件概述
  • eventStatus:系统事件状态。取值请参见系统事件概述
  • executeStartTime:系统事件执行开始时间,采用UTC+0时区。
  • executeFinishTime:系统事件执行结束时间,采用UTC+0时区。
    说明执行中Executing)、已执行Executed)、已取消Canceled)和已避免(Avoided)状态的系统事件才会返回executeStartTimeexecuteFinishTime属性。对于CanceledAvoided状态,您可以理解为系统事件被取消或被规避的时间。

块存储系统事件

块存储只有异常类事件,不存在维护类系统事件。在事件发生和结束时,均可以发出事件通知。以块存储性能受到严重影响(Stalled)系统事件为例,事件通知的格式如下所示。

  • 首次发布块存储系统事件,事件具有executeStartTime属性。
    {
      "ver": "1.0",
      "id": "2256A988-0B26-4E2B-820A-8A********E5",
      "product": "ECS",
      "resourceId": "acs:ecs:cn-hangzhou:169070********30:disk/d-t4ndyqve********n4ds",
      "level": "CRITICAL",
      "name": "Disk:Stalled:Executing",
      "userId": "169070********30",
      "eventTime": "20190410T080101.922+0800",
      "regionId": "cn-hangzhou",
      "content": {
        "eventId": "e-t4navn7********6x5no",
        "diskId": "d-t4ndyqve********n4ds",
        "device": "/dev/xvdb",
        "eventType": "Stalled",
        "executeStartTime": "2019-04-10T01:01:01Z",
        "ecsInstanceId": "i-bp1ecr********5go2go",
        "ecsInstanceName": "ecs-instance-name"
      }
    }
  • 当块存储系统事件结束时,您会收到相应通知。相较于首次收到的事件通知,增加了一条executeFinishTime属性。
    {
      "ver": "1.0",
      "id": "2256A988-0B26-4E2B-820A-8A********E5",
      "product": "ECS",
      "resourceId": "acs:ecs:cn-hangzhou:169070********30:disk/d-t4ndyqve********n4ds",
      "level": "CRITICAL",
      "name": "Disk:Stalled:Executing",
      "userId": "169070********30",
      "eventTime": "20190410T080301.922+0800",
      "regionId": "cn-hangzhou",
      "content": {
        "eventId": "e-t4navn7********6x5no",   
        "diskId": "d-t4ndyqve********n4ds",    
        "device": "/dev/xvdb",                 
        "eventType": "Stalled",                
        "executeStartTime": "2019-04-10T01:01:01Z",   
        "executeFinishTime": "2019-04-10T01:03:01Z",  
        "ecsInstanceId": "i-bp1ecr********5go2go",    
        "ecsInstanceName": "ecs-instance-name"        
      }
    }
content字段解释:
  • eventId:系统事件ID。
  • diskId:受影响的块存储ID。
  • device:设备的挂载点。
  • eventType:块存储系统事件类型。取值范围:Degraded | SeverelyDegraded | Stalled,分别表示磁盘性能降级、磁盘性能严重降级和磁盘性能受到严重影响。
  • executeStartTime:系统事件执行开始时间,采用UTC+0时区。
  • executeFinishTime:系统事件执行结束时间,采用UTC+0时区。
  • ecsInstanceId:挂载块存储的实例ID。
  • ecsInstanceName:挂载块存储的实例名称。

实例状态变化事件

实例的状态发生改变时,云服务器ECS会发出实例状态改变事件。有关实例状态变化的更多详情,请参见实例生命周期介绍

运行中Running)的状态变化为例,事件通知的格式如下所示。

{
  "ver": "1.0",
  "id": "2256A988-0B26-4E2B-820A-8A********E5",
  "product": "ECS",
  "resourceId": "acs:ecs:cn-hangzhou:169070********30:instance/i-bp1ecr********5go2go",
  "level": "INFO",
  "name": "Instance:StateChange",
  "userId": "169070********30",
  "eventTime": "20190409T121826.922+0800",
  "regionId": "cn-hangzhou",
  "content": {
    "resourceId": "i-bp1ecr********5go2go",  
    "resourceType": "ALIYUN::ECS::Instance", 
    "state": "Running"                       
  }
}
content字段解释:
  • resourceId:实例ID。
  • resourceType:资源类型。取值范围:ALIYUN::ECS::Instance
  • state:实例状态。取值范围:Pending | Starting | Running | Stopping | Stopped| Deleted,分别表示准备中、启动中、运行中、停止中/重启中、已停止和已释放。

抢占式实例中断事件

抢占式实例会因为市场价格变化或资源库存调整等因素被自动释放。在实例被释放的前五分钟,云服务器ECS会发送抢占式实例中断事件,事件通知的格式如下所示。

{
  "ver": "1.0",
  "id": "2256A988-0B26-4E2B-820A-8A********E5",
  "product": "ECS",
  "resourceId": "acs:ecs:cn-hangzhou:169070********30:instance/i-bp1ecr********5go2go",
  "level": "INFO",
  "name": "Instance:PreemptibleInstanceInterruption",
  "userId": "169070********30",
  "eventTime": "20190409T121826.922+0800",
  "regionId": "cn-hangzhou",
  "content": {
    "instanceId": "i-bp1ecr********5go2go",  
    "action": "delete"                       
  }
}
content字段解释:
  • instanceId:抢占式实例ID。
  • action:抢占式实例的操作事件。取值范围:delete

云盘完成操作事件

当数据盘完成挂载或者卸载时,云服务器ECS会发送云盘完成操作成功或失败的事件,事件通知的格式如下所示。

{
  "ver": "1.0",
  "id": "2256A988-0B26-4E2B-820A-8A********E5",
  "product": "ECS",
  "resourceId": "acs:ecs:cn-hangzhou:169070********30:disk/d-bp1bwa********9ol4mi",
  "level": "INFO",
  "name": "Disk:DiskOperationCompleted",
  "userId": "169070********30",
  "eventTime": "20190409T121826.922+0800",
  "regionId": "cn-hangzhou",
  "content": {
      "diskId" : "d-bp1bwa********9ol4mi",
      "operation" : "AttachDisk",
      "result" : "accomplished"
  }
}
content字段解释:
  • diskId:云盘ID。
  • operation:操作类型。取值范围:AttachDisk | DetachDisk,分别表示挂载云盘和卸载云盘。
  • result:任务结果。取值范围:accomplished | failed,分别表示成功和失败。
    说明 操作成功时事件等级(level)为信息(INFO),操作失败时事件等级为警告(WARN)。

快照完成创建事件

当云盘完成创建快照时,云服务器ECS会发送快照创建成功或失败的事件,事件通知的格式如下所示。

{
  "ver": "1.0",
  "id": "2256A988-0B26-4E2B-820A-8A********E5",
  "product": "ECS",
  "resourceId": "acs:ecs:cn-hangzhou:169070********30:snapshot/s-bp1fis********b859b3",
  "level": "INFO",
  "name": "Snapshot:CreateSnapshotCompleted",
  "userId": "169070********30",
  "eventTime": "20190409T121826.922+0800",
  "regionId": "cn-hangzhou",
  "content": {
    "result": "accomplished",
    "snapshotId": "s-bp1fis********b859b3",
    "snapshotName": "test-snapshot",   
    "diskId": "d-bp1bwa********9ol4mi",      
    "startTime": "2019-04-22T08:36:09Z",     
    "endTime": "2019-04-22T08:37:11Z"        
  }
}
content字段解释:
  • result:任务结果。取值范围:accomplished | failed,分别表示完成和失败。
  • snapshotId:快照ID。
  • snapshotName:快照名称。
  • diskId:云盘ID。
  • startTime:开始创建快照的时间,采用UTC+0时区。
  • endTime:完成创建快照的时间,采用UTC+0时区。
说明 自动快照策略创建的快照不会发送事件通知,您可以在ECS控制台或者调用DescibeSnapshots查看是否成功创建了自动快照。有关快照的类型,请参见快照概述

相关操作

设置事件通知

相关API

PutEventRule