系统事件由阿里云定义,用于记录和通知云资源的信息,例如运维任务执行情况、资源是否出现异常、资源状态变化等。
阿里云有众多产品支持系统事件,例如ECS、RDS、SLB等。本文仅说明云服务器ECS支持的系统事件,如需了解其他产品的系统事件,请参考对应产品的帮助文档。
使用限制
已停售的实例规格族不支持系统事件功能,更多信息,请参见已停售的实例规格。
应用场景
通知风险和异常
针对未在ECS控制台展示的系统事件(包括影响ECS资源可用性和造成性能受损的系统事件),例如因系统维护重启实例等运维事件、实例到期等费用预警事件,阿里云会将系统事件推送至ECS控制台展示,部分高危事件还会发送邮件、站内信通知,并支持在ECS控制台或者通过OpenAPI响应。建议您及时响应这些系统事件,避免因ECS资源可用性或性能受损影响业务。具体操作,请参见查询和响应ECS系统事件。
例如,包年包月实例即将因到期停止时,在ECS控制台醒目提示您及时续费,避免因到期停止而影响业务。
实现自动化运维
在ECS控制台展示的系统事件均定义了事件状态,方便区分相应系统运维任务的执行情况,而且系统事件产生时及状态变化时会上报至云监控,方便您进一步根据自身需要搭建事件驱动的自动化运维体系。更多事件状态的信息,请参见系统事件的状态和窗口期。
说明每种事件状态都会对应一个云监控事件名称,例如ECS事件Code为InstanceFailure.Reboot支持的事件状态包括Executing、Executed,则其对应的云监控事件名称包括Instance:InstanceFailure.Reboot:Executing、Instance:InstanceFailure.Reboot:Executed。
状态变化事件包括了一些未在ECS控制台中展示的系统事件,例如实例运行状态变化、抢占式实例中断等,这些系统事件不支持直接在ECS控制台和通过OpenAPI响应。ECS中没有针对这些系统事件定义事件状态,但系统事件产生时仍然会上报至云监控,方便您根据自身需要搭建事件驱动的自动化运维体系。
例如,您手动启停实例时会产生实例状态改变的系统事件,并非意味着风险或异常,但您希望向自有系统写入此类操作日志。这时可以自行为实例状态改变事件设置事件通知,并通过回调等方式将启停信息写入操作日志。
系统事件类型
系统事件由阿里云定义,用于记录和通知云资源的信息。按照起因进行分类,系统事件可以分为:
云服务器ECS支持的各类系统事件以及对应的处理建议,请参见ECS系统事件汇总。
类别 | 说明 | 是否在ECS控制台展示 |
计划内运维事件 | 阿里云为提升底层宿主机的安全性而主动升级宿主机软件,或者主动预测并规避底层宿主机的软硬件故障风险。如果在执行相应运维任务过程中可能影响ECS资源可用性或造成性能受损,阿里云会提前告知您执行时间、对象、影响等信息,您可以在这些系统事件的计划执行时间内,选择业务低谷期自行响应系统事件,避免业务在高峰期受到影响。 说明 计划内运维事件也称主动运维事件,是阿里云基于百万级服务器的管理运维经验,服务上万家大型企业客户的能力沉淀,以及达摩院的前沿机器学习算法,对底层宿主机的软硬件故障风险进行预测和主动规避。当宿主机上的故障风险无法规避时,阿里云会通过计划内运维事件提前通知受影响的ECS用户,为用户赢得一定的业务切换的缓冲时间。如果用户未提前响应计划类运维事件,故障风险发生时会导致ECS实例出现宕机或重启。 | 是 说明 当发生计划内运维事件的实例为大数据型或本地SSD型(不包含i4p),该事件将在本地盘实例事件下展示。关于更多本地盘事件信息,请参见本地盘实例运维场景和系统事件。 |
非预期运维事件 | 当底层宿主机出现突发软硬件故障,或者实例发生OOM、内核错误(kernel panic)等情况时,导致实例突发重启、宕机等异常。阿里云会及时发送非预期运维事件,并尽快恢复ECS资源可用性,同时通知您相应系统运维任务的执行情况。 说明 非预期运维事件一般指的是因底层宿主机发生了无法预测的故障,或者ECS实例的操作系统发生了内核错误等问题,导致ECS实例突然出现宕机或重启。
| 是 说明 当发生非预期运维事件的实例为大数据型或本地SSD型(不包含i4p),该事件将在本地盘实例事件下展示。关于更多本地盘事件信息,请参见本地盘实例运维场景和系统事件。 |
本地盘实例事件 | 本地盘实例事件包括本地磁盘事件(如本地盘损坏)和本地盘实例的事件(如因本地盘受损导致实例可能无法正常运行、本地盘实例底层宿主机出现软硬件故障等)。 说明 本地盘实例事件仅为展示发生计划内运维事件或非预期运维事件的大数据型或本地SSD型(不包含i4p)实例,方便您处理本地盘实例事件,并非具体的事件类型。关于本地盘事件说明,请参见本地盘实例运维场景和系统事件。 | 是 |
突发性能实例性能受限事件 | 突发性能实例性能受限事件是指突发性能实例的CPU积分已经耗尽,实例的CPU将会持续运行在基准性能附近,可能对实例的应用运行、实例管控、运维等操作产生影响,包括出现访问缓慢,卡顿等情况的提醒事件。 | 是 |
实例安全事件 | 影响实例安全的事件,例如实例遭遇DDoS攻击或进入黑洞,导致实例的安全受到威胁。 | 是 |
实例因底层升级需迁移事件 | 阿里云在升级和改造物理基础设施时,可能影响对应地域和可用区中的实例,您可以根据系统事件的引导迁移实例。 | 是 |
状态变化事件 | 您自行操作实例,导致实例的生命周期变化,例如手动开关机;或者阿里云发现实例的某些属性发生变化,进而导致实例的生命周期或其他状态发生变化。包括:
|
|
系统事件等级
按照对实例正常运行的影响程度进行划分,系统事件分为以下几个等级:
严重:影响重大,需要尽快处理,否则可能导致实例无法使用,例如因账号欠费释放资源、因实例错误重新部署实例。
警告:有一定影响,需要您在影响持续期间加以关注,或者选择合适时间处理,例如突发性能实例性能受限时可以运行,但无法超过基准性能。
信息:您自行选择是否关注即可,例如磁盘快照已创建完成。
系统事件的状态和窗口期
在ECS控制台中展示的系统事件,按下表所述方式定义事件状态。
不同系统事件支持的事件状态,请参见ECS系统事件汇总中的云监控事件名称列。
状态 | 属性 | 说明 |
Inquiring | 中间状态 | 问询中,等待您授权,授权后会进入Executing状态。 |
Scheduled | 中间状态 | 计划执行运维任务,但尚未开始执行,开始执行后会进入Executing状态。 |
Executing | 中间状态 | 运维任务正在执行中。 |
Executed | 稳定状态 | 运维任务已经执行完成。 |
Avoided | 稳定状态 | 您在用户操作窗口期内自行迁移了实例,规避了系统事件的影响。 |
Failed | 稳定状态 | 运维任务执行失败。 |
Canceled | 稳定状态 | 系统取消了运维任务。 |
典型的事件状态变化示意图如下所示。
系统事件包括的窗口期如下:
用户操作窗口期
从发送系统事件到计划执行时间之间的时间段。您可以在用户操作窗口期内自行操作,或者等待系统自动执行。时长说明如下:
计划内运维事件通常为24~48小时。
说明处于Inquiring状态的系统事件,没有时长限制,在您授权后才会开始执行运维任务。
突发故障、违规操作等非计划内因素导致的非预期运维事件,通常没有用户操作窗口期。
包年包月实例因到期停止的系统事件为3天。
按量付费实例因账号欠费停止的系统事件小于1小时。
事件执行窗口期
开始执行任务到任务执行完成之间的时间段。时长说明如下:
通知修复故障的系统事件通常在10分钟内完成。
突发故障、违规操作等非计划内因素导致的非预期运维事件,只有短暂的事件执行窗口期。
ECS事件Code和云监控事件名称的格式
ECS事件Code、云监控事件名称遵循了一定的命名格式,便于您理解事件的含义。格式如下:
ECS事件Code:包括事件起因、对资源的影响的信息,格式为
<事件起因>.<对资源的影响>
。云监控事件名称:包括资源类型、事件起因、对资源的影响、事件状态的信息,格式为
<资源类型>:<事件起因>.<对资源的影响>:<事件状态>
。
并非所有ECS事件Code和云监控事件名称都会包括所有信息,例如云监控事件名称Disk:ErrorDetected:Executing
代表磁盘已经出现损坏,因此无需包括对资源后续影响的信息。
下表通过几个示例说明ECS事件Code和云监控事件名称中包含的信息。
如果ECS事件Code示例列为未定义,代表该系统事件未在ECS控制台中展示,不支持直接在ECS控制台和通过OpenAPI响应。更多事件说明,请参见ECS系统事件汇总。
类别 | ECS事件Code示例 | 云监控事件名称示例 | 说明 |
计划内运维事件 | SystemMaintenance.Reboot | Instance:SystemMaintenance.Reboot:Inquiring |
|
非预期运维事件 | ErrorDetected | Disk:ErrorDetected:Executing |
|
生命周期变化事件 | Snapshot:CreateSnapshotCompleted | Snapshot:CreateSnapshotCompleted |
|
操作导航
操作 | 说明及相关文档 |
了解系统事件 | 操作前,可参考本文了解系统事件Code、名称、等级、应用场景、使用限制、状态、命名格式等。 |
查看系统事件 | 您可以在通过控制台或者阿里云CLI查看系统事件:
|
响应系统事件 | 对于一些高危系统事件(例如影响ECS资源可用性和造成性能受损的系统事件),建议您及时通过控制台或者OpenAPI响应,按照建议进行处理,以免影响业务运行。
|
监控系统事件 | 为保障ECS实例上业务运行的稳定性以及实现自动化运维,建议您设置事件通知来监听底层环境的变化。设置事件通知后,系统会推送消息到您设置的通知方式。
|
修改系统事件相关设置 | 根据需要修改系统事件相关设置: |