Применимо: ✔️ виртуальные машины Linux для виртуальных машин ✔️ ✔️ Linux в локальной среде ✔️ с поддержкой Azure Arc серверов ✔️ Azure.
События предварительного и последующего выполнения позволяют выполнять пользовательские действия до и после конфигурации запланированного обслуживания. Дополнительные сведения см. в работе предварительного и последующего события в Диспетчере обновлений Azure.
В этой статье описывается создание событий предварительной и публикации в Диспетчере обновлений Azure.
Сетка событий в конфигурациях обслуживания расписания
Диспетчер обновлений Azure использует сетку событий для создания событий до и публикации и управления ими. Дополнительные сведения см. в обзоре сетки событий. Чтобы активировать событие до или после периода обслуживания расписания, вам потребуется следующее:
Планирование конфигурации обслуживания. Вы можете создавать события предварительного и последующего обслуживания для конфигурации обслуживания расписания в Диспетчере обновлений Azure. Дополнительные сведения см. в разделе "Расписание обновлений" с помощью конфигураций обслуживания.
Действие для выполнения в предварительном или постовом событии . Для определения действий или задач можно использовать обработчики событий (конечные точки), поддерживаемые сеткой событий. Ниже приведены примеры создания модулей Runbook служба автоматизации Azure с помощью веб-перехватчиков и Функции Azure. В этих обработчиках событий или конечных точках необходимо определить действия, которые должны выполняться в рамках предварительных и постовых событий.
Предварительное и последующее событие . Вы можете выполнить действия, описанные в следующем разделе, чтобы создать предварительное и последующее событие для настройки расписания обслуживания. Дополнительные сведения об терминах, используемых на вкладке "Основные сведения" сетки событий, см. в разделе "Условия сетки событий".
Создание события предварительной и публикации
Создание предварительных и постовых событий при создании новой конфигурации обслуживания расписания
Выберите " Расписание обновлений " на ленте в верхней части.
На странице "Создание конфигурации обслуживания" выберите вкладку "События".
Выберите + Подписка на событие для создания события предварительной или публикации .
На странице "Добавить подписку на события" введите следующие сведения: в разделе "Сведения о подписке на события" укажите соответствующее имя.
Сохраните схему как схему сетки событий.
Введите имя раздела системы для первого события, создаваемого в этой конфигурации обслуживания. То же имя system Topic будет автоматически заполнено для последующих событий.
В разделе "Типы событий" выберите типы событий, которые необходимо отправить в конечную точку или назначение. Вы можете выбрать событие предварительного обслуживания или событие после обслуживания или оба события. Дополнительные сведения о типах событий, характерных для планирования конфигураций обслуживания, см. в статье "Типы событий Azure".
В разделе сведений о конечной точке выберите конечную точку, из которой вы хотите получить ответ.
Нажмите кнопку "Добавить ", чтобы создать события предварительной и публикации для расписания после его создания.
Примечание.
В приведенном выше потоке веб-перехватчик и Функции Azure являются двумя обработчиками событий и конечными точками, которые можно выбрать. При нажатии кнопки "Добавить" подписка на события не создается, а добавляется в конфигурацию обслуживания. Подписка на события создается вместе с конфигурацией обслуживания расписания.
Создайте конфигурацию обслуживания, выполнив указанные здесь действия.
# Obtain the Maintenance Configuration ID from Step 1 and assign it to MaintenanceConfigurationResourceId variable
$MaintenanceConfigurationResourceId = "/subscriptions/<subId>/resourceGroups/<Resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<Maintenance configuration Name>"
# Use the same Resource Group that you used to create maintenance configuration in Step 1
$ResourceGroupForSystemTopic = "<Resource Group for System Topic>"
$SystemTopicName = "<System topic name>"
$TopicType = "Microsoft.Maintenance.MaintenanceConfigurations"
$SystemTopicLocation = "<System topic location>"
# System topic creation
New-AzEventGridSystemTopic -ResourceGroupName $ResourceGroupForSystemTopic -Name $SystemTopicName -Source $MaintenanceConfigurationResourceId -TopicType $TopicType -Location $SystemTopicLocation
# Event subscription creation
$IncludedEventTypes = @("Microsoft.Maintenance.PreMaintenanceEvent")
# Webhook
$EventSubscriptionName = "PreEventWebhook"
$PreEventWebhookEndpoint = "<Webhook URL>"
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Endpoint $PreEventWebhookEndpoint -IncludedEventType $IncludedEventTypes
# Azure Function
$dest = New-AzEventGridAzureFunctionEventSubscriptionDestinationObject -ResourceId "<Azure Function Resource Id>"
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Destination $dest -IncludedEventType $IncludedEventTypes
Создайте конфигурацию обслуживания, выполнив указанные здесь действия.
SystemTopicName="<System topic name>
# Use the same Resource Group that you used to create maintenance configuration in Step 1
ResourceGroupName="<Resource Group mentioned in Step 1>"
# Obtain the Maintenance Configuration ID from Step 1 and assign it to Source variable
Source="/subscriptions/<subId>/resourceGroups/<Resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<Maintenance configuration Name>"
TopicType="Microsoft.Maintenance.MaintenanceConfigurations"
Location="<System topic location> "
# System topic creation
az eventgrid system-topic create --name $SystemTopicName --resource-group $ResourceGroupName --source $Source --topic-type $TopicType --location $Location
# Event subscription creation
IncludedEventTypes='("Microsoft.Maintenance.PreMaintenanceEvent")'
# Webhook
az eventgrid system-topic event-subscription create --name "<Event subscription name>" --resource-group $ResourceGroupName --system-topic-name $SystemTopicName --endpoint-type webhook --endpoint "<webhook URL>" --included-event-types IncludedEventTypes
# Azure Function
az eventgrid system-topic event-subscription create –name "<Event subscription name>" --resource-group $ResourceGroupName --system-topic-name $SystemTopicName --endpoint-type azurefunction --endpoint "<Azure Function ResourceId>" --included-event-types IncludedEventTypes
Создайте конфигурацию обслуживания, выполнив указанные здесь действия.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Допустимые типы событий — Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Веб-перехватчик
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
В разделе "Управление" выберите компьютеры, конфигурации обслуживания.
На странице "Конфигурация обслуживания" выберите конфигурацию обслуживания, в которую требуется добавить событие предварительного и последующего выполнения.
На выбранной странице конфигурации обслуживания в разделе "Параметры" выберите "События". Кроме того, в разделе "Обзор" выберите карточку "Создать событие обслуживания".
Выберите +Подписка на события событий, чтобы создать событие предварительного или последующего обслуживания.
На странице "Создание подписки на события" введите следующие сведения:
В разделе "Сведения о подписке на события" укажите соответствующее имя.
Сохраните схему как схему сетки событий.
В разделе "Сведения о разделе разделов" укажите соответствующее имя имени системного раздела.
В разделе "Типы событий" выберите типы событий, которые необходимо отправить в конечную точку или назначение. Можно выбрать событие предварительного обслуживания и событие после обслуживания. Дополнительные сведения о типах событий, характерных для планирования конфигураций обслуживания, см. в статье "Типы событий Azure".
В разделе сведений о конечной точке выберите конечную точку, из которой вы хотите получить ответ.
Выберите "Создать", чтобы настроить события предварительной и публикации в существующем расписании.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Допустимые типы событий — Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Веб-перехватчик
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Общие сведения о событиях предварительной и публикации в Диспетчере обновлений Azure см . здесь.
Чтобы узнать, как управлять событиями предварительной и публикации или отменять выполнение расписания, см . сведения о событиях конфигурации предварительного и последующего обслуживания.
Чтобы узнать, как использовать предварительные и постовые события для включения и отключения виртуальных машин с помощью веб-перехватчиков, см . здесь.
Чтобы узнать, как использовать предварительные и публикации событий для включения и отключения виртуальных машин с помощью Функции Azure, см. здесь.