Platí pro: ✔️ Virtuální ✔️ počítače s Windows s Linuxem ✔️ v místním prostředí ✔️ Azure Arc s podporou serverů ✔️ Azure Arc.
Předběžné a následné události umožňují spouštět akce definované uživatelem před a po konfiguraci plánované údržby. Další informace najdete v části před a po události v Azure Update Manageru.
Tento článek popisuje, jak vytvořit události před a po publikování v Azure Update Manageru.
Event Grid v konfiguracích plánování údržby
Azure Update Manager využívá Event Grid k vytváření a správě událostí před a po publikování. Další informace najdete v přehledu služby Event Grid. Pokud chcete aktivovat událost před nebo po časovém období údržby plánu, potřebujete následující:
-
Plánování konfigurace údržby – Pro konfiguraci plánované údržby v Azure Update Manageru můžete vytvořit události před a po dokončení. Další informace najdete v tématu Plánování aktualizací pomocí konfigurací údržby.
-
Akce, která se má provést v před nebo po události – k definování akcí nebo úkolů můžete použít obslužné rutiny událostí (koncové body) podporované službou Event Grid. Tady jsou příklady, jak vytvářet runbooky Azure Automation prostřednictvím webhooků a Azure Functions. V rámci těchto obslužných rutin událostí nebo koncových bodů musíte definovat akce, které by se měly provádět jako součást událostí před a po publikování.
-
Webhook - Vytvořte runbook PowerShellu 7.2 a propojte runbook s webhookem.
-
-
Funkce AzureVytvořte funkci Azure Functions.
-
Předběžná a pozálohovací událost – Podle kroků sdílených v následující části můžete vytvořit předběžnou a pozálohovací událost pro konfiguraci plánované údržby. Další informace o termínech použitých na kartě Základy event Gridu najdete v tématu Termíny Event Gridu .
Vytvoření předběžné a následné události
Vytvoření událostí před a po vytvoření nové konfigurace údržby plánu
Přihlaste se k webu Azure Portal a přejděte na Azure Update Manager.
V části Spravovat vyberte Počítače.
Na pásu karet nahoře vyberte Naplánovat aktualizace .
Na stránce Vytvořit konfiguraci údržby vyberte kartu Události .
Vyberte +Odběr události a vytvořte událost před odesláním.
Na stránce Přidat odběr události zadejte následující podrobnosti: V části Podrobnosti odběru událostí zadejte odpovídající název.
- Ponechte schéma jako schéma Event Gridu.
- Zadejte název tématu systému pro první událost, kterou vytvoříte v této konfiguraci údržby. Stejný název systémového tématu se automaticky vyplní pro následné události.
- V části Typy událostívyfiltrujte typy událostí a vyberte typy událostí, které chcete odeslat do koncového bodu nebo cíle. Můžete vybrat buď událost před údržbou , nebo událost po údržbě , nebo obojí. Další informace o typech událostí, které jsou specifické pro plánování konfigurací údržby, najdete v tématu Typy událostí Azure.
- V části Podrobnosti o koncovém bodu vyberte koncový bod, ze kterého chcete získat odpověď.
Výběrem možnosti Přidat vytvoříte události před vytvořením plánu a publikujte je.
Note
Ve výše uvedeném toku jsou Webhook a Azure Functions dvěma obslužné rutiny událostí a koncovými body, ze které si můžete vybrat. Když vyberete Přidat, odběr události se nevytvořil, ale přidá se do konfigurace údržby. Odběr událostí se vytvoří spolu s konfigurací plánované údržby.
Podle zde uvedených kroků vytvořte konfiguraci údržby.
-
# 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>"
$dest = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl $PreEventWebhookEndpoint
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Endpoint $PreEventWebhookEndpoint -IncludedEventType $IncludedEventTypes -Destination $dest
# Azure Function
$dest = New-AzEventGridAzureFunctionEventSubscriptionDestinationObject -ResourceId "<Azure Function Resource Id>"
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Destination $dest -IncludedEventType $IncludedEventTypes
Podle zde uvedených kroků vytvořte konfiguraci údržby.
-
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
Podle zde uvedených kroků vytvořte konfiguraci údržby.
# Vytvoření systémového tématu Další informace
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Text požadavku:
{
"properties": {
"source": "/subscriptions/<subscription Id>/resourceGroups/<resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenance configuration name> ",
"topicType": "Microsoft.Maintenance.MaintenanceConfigurations"
},
"location": "<location>"
}
# Vytváření odběru událostí – Další informace
Povolené typy událostí – Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Webhook
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Text požadavku:
{
"properties": {
"destination": {
"endpointType": "WebHook",
"properties": {
"endpointUrl": "<Webhook URL>"
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PreMaintenanceEvent"
]
}
}
}
Funkce Azure
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Text požadavku
{
"properties": {
"destination": {
"endpointType": "AzureFunction",
"properties": {
"resourceId": "<Azure Function Resource Id>"
}
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PostMaintenanceEvent"
]
}
}
Vytvoření předpřipravených a pozálohovacích událostí v existující konfiguraci údržby plánu
Přihlaste se k webu Azure Portal a přejděte na Azure Update Manager.
V části Spravovat vyberte Počítače, Konfigurace údržby.
Na stránce Konfigurace údržby vyberte konfiguraci údržby, do které chcete přidat před a po události.
Na vybrané stránce Konfigurace údržby v části Nastavení vyberte Události. Případně v části Přehled vyberte kartu Vytvořit událost údržby.
Výběrem možnosti +Odběr události vytvořte událost před údržbou nebo po dokončení údržby.
Na stránce Vytvořit odběr události zadejte následující podrobnosti:
V části Podrobnosti odběru událostí zadejte odpovídající název.
Ponechte schéma jako schéma Event Gridu.
V části Podrobnosti tématu zadejte odpovídající název názvu systémového tématu.
V části Typy událostívyfiltrujte typy událostí a vyberte typy událostí, které chcete odeslat do koncového bodu nebo cíle. Můžete vybrat mezi událostí před údržbou a událostí po údržbě. Další informace o typech událostí, které jsou specifické pro plánování konfigurací údržby, najdete v tématu Typy událostí Azure.
V části Podrobnosti o koncovém bodu vyberte koncový bod, ze kterého chcete přijmout odpověď.
Výběrem možnosti Vytvořit nakonfigurujte události před a po publikování v existujícím plánu.
$MaintenanceConfigurationResourceId = "/subscriptions/<subId>/resourceGroups/<Resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<Maintenance configuration Name>"
$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>"
$dest = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl $PreEventWebhookEndpoint
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Endpoint $PreEventWebhookEndpoint -IncludedEventType $IncludedEventTypes -Destination $dest
# 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>
ResourceGroupName="<Resource Group for System Topic>"
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
# Vytvoření systémového tématu Další informace
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Text požadavku:
{
"properties": {
"source": "/subscriptions/<subscription Id>/resourceGroups/<resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenance configuration name> ",
"topicType": "Microsoft.Maintenance.MaintenanceConfigurations"
},
"location": "<location>"
}
# Vytváření odběru událostí – Další informace
Povolené typy událostí – Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Webhook
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Text požadavku:
{
"properties": {
"destination": {
"endpointType": "WebHook",
"properties": {
"endpointUrl": "<Webhook URL>"
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PreMaintenanceEvent"
]
}
}
}
Funkce Azure
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Text požadavku
{
"properties": {
"destination": {
"endpointType": "AzureFunction",
"properties": {
"resourceId": "<Azure Function Resource Id>"
}
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PostMaintenanceEvent"
]
}
}
Další kroky
- Přehled událostí před a po publikování v Azure Update Manageru najdete tady.
- Informace o správě událostí před a po odeslání nebo zrušení spuštění plánu najdete v tématu události konfigurace před a po dokončení údržby.
- Informace o tom, jak pomocí předpřipravených událostí zapnout a vypnout virtuální počítače pomocí webhooků, najdete tady.
- Informace o tom, jak pomocí předpřipravených událostí zapnout a vypnout virtuální počítače pomocí Azure Functions, najdete tady.