关于前置事件和后置事件

适用于:✔️ Windows VM ✔️ Linux VM ✔️ 本地环境 ✔️ 已启用 Azure Arc 的服务器。

借助 Azure 更新管理器中的前期事件和后期事件,可以在计划性维护配置前后自动执行某些任务。 以下列表非详尽列表,你可以根据需要创建前置事件和后置事件。

示例任务

下面是你可以定义前置事件和后置事件的场景:

方案 描述
打开计算机 打开计算机以应用更新。
创建快照 用于恢复数据的磁盘对齐。
通知电子邮件 在触发修补之前发送通知警报。
停止服务 停止网关服务、NPExServices、SQL 服务等服务。

使用前置事件和后置事件计划执行顺序

对于给定的计划,你可以包含前置事件、后置事件或同时包含两者。 此外,还可以具有多个前置事件和/或后置事件。 具有前置事件和后置事件的计划的执行顺序如下:

  1. 前置事件 - 在计划维护时段开始前运行的任务。 例如 - 在修补之前将计算机开机。

  2. 取消 - 在此步骤中,你可以启动计划运行的取消。 在某些情况下,你可能会选择取消计划运行,这些情况包括前置事件失败或后置事件未完成执行。

    注意

    你必须将取消作为前置事件的一部分启动;Azure 更新管理器或维护配置不会自动取消计划。 如果未能取消,计划运行将在用户定义的维护时段中继续安装更新。

  3. 更新安装 - 更新在用户定义的计划维护时段内进行安装。

  4. 后置事件 - 后置事件在更新安装后立即运行。 如果更新安装完成后维护时段还有剩余,则该事件发生在维护时段内;如果维护时段已结束,则它发生在维护时段外。 例如:在修补完成后关闭 VM。

    注意

    在 Azure 更新管理器中,前置事件在维护时段外运行,后置事件可能在维护时段外运行。 你必须计划在计算机上完成计划执行所需的此额外时间。

  5. 计划状态 - 计划运行的成功或失败状态仅指作为计划的一部分在计算机上执行的更新安装。 计划运行状态不包括前置事件和后置事件状态。 如果前置事件失败,并且你调用了取消 API,则计划运行状态显示为“已取消”。

    Azure 更新管理器使用事件网格在计划的维护配置上创建和管理前置事件和后置事件。 在事件网格中,你可以选择从 Azure Webhook、Azure Functions 等事件处理程序来触发前置活动和后置活动。

    屏幕截图显示了具有前置事件和后置事件的计划的执行顺序。

    注意

    如果你要在 Azure 自动化更新管理中的前置事件和后置事件中使用 Runbook,并在 Azure 更新管理器中重复使用它们,我们建议你使用链接到自动化 Runbook 的 Azure Webhook。 了解详细信息

预维护和后期维护事件的时间线

屏幕截图显示了具有前置事件和后置事件的计划的时间线。

建议你浏览下表,了解计划的前置事件和后置事件的时间线。

例如,如果维护计划设置为从下午 3:00 开始,来宾维护范围的维护时段为 3 小时 55 分钟。 该计划有一个前置事件和后置事件,下面是详细信息:

时间 详细信息
下午 2:19 由于计划运行在下午 3:00 开始,因此你可以在开始时间前 40 分钟(即下午 2:19)修改计算机或范围。
注意 如果你要创建新计划或编辑具有前置事件的现有计划,则此操作适用。
下午 2:20 - 下午 2:30 由于前置事件至少提前 30 分钟触发,因此它可以在下午 2:20 至 2:30 之间的任何时间触发。
下午 2:30 - 下午 2:50 前置事件在下午 2:30 到下午 2:50 范围内运行。 前置事件必须在下午 2:50 之前完成任务。
注意 如果配置了多个前置事件,则所有事件都必须在 20 分钟内运行。 如果有多个前置事件,则所有前置事件都将彼此独立执行。 你可以通过在前置事件中定义逻辑来根据需要进行自定义。 例如,如果你希望两个前置事件按顺序运行,则可以在第二个前置事件的逻辑中包含延迟的开始时间。
如果前置事件持续运行超过 20 分钟或失败,你可以选择取消计划运行,否则无论前置事件运行状态如何,修补程序安装都将继续进行。
下午 2:50 可以调用取消 API 的最后时间是下午 2:50。
注意 如果取消 API 无法调用或尚未设置,则补丁安装将继续运行。
下午 3:00 计划运行在下午 3:00 触发。
下午 6:55 下午 6:55,计划在 3 小时 55 分钟的维护时段内完成更新的安装。
在安装更新后,事件在下午 6:55 触发。
注意 如果你定义了较短的 2 小时维护时段,则维护后事件将在 2 小时后触发,如果更新安装在规定的 2 小时之前(即 1 小时 50 分钟内)完成,则后置事件将立即开始。

建议注意以下事项:

  • 如果是创建具有前置事件的新计划或编辑具有前置事件的现有计划,则在维护时段开始(上述示例中的下午 3:00)之前至少需要有 40 分钟用于运行前置事件,否则将导致当前计划的运行自动取消。
  • 从脚本或代码调用取消 API 会取消计划运行,而不是取消整个计划。
  • 可以在你选择的事件处理程序中检查前置事件和后置事件运行的状态。

后续步骤

  • 若要了解如何创建预维护和后期维护事件,请参阅预维护和后期维护配置事件
  • 若要了解如何配置前置事件和后置事件或取消计划运行,请参阅维护配置前事件和维护配置后事件
  • 若要了解如何使用预维护和后期维护事件来通过 Webhook 打开和关闭 VM,请参阅此处
  • 若要了解如何使用预维护和后期维护事件来通过 Azure Functions 打开和关闭 VM,请参阅此处