Şunlar için geçerlidir: ✔️ Windows VM'leri ✔️ Linux VM'leri ✔️ Şirket içi ortamı ✔️ Azure Arc özellikli sunucular ✔️ Azure VM'leri.
Olaylar öncesi ve sonrası, zamanlanmış bakım yapılandırmasından önce ve sonra kullanıcı tanımlı eylemleri yürütmenize olanak tanır. Daha fazla bilgi için Azure Update Manager'da bir etkinlik öncesi ve sonrası olayının çalışmalarına göz atın.
Bu makalede, Azure Update Manager'da olayları önceden oluşturma ve gönderme işlemleri açıklanmaktadır.
Zamanlama bakım yapılandırmalarında Event Grid
Azure Güncelleme Yöneticisi, ön ve son olayları oluşturmak ve yönetmek için Event Grid'den yararlanır. Daha fazla bilgi için Event Grid'e genel bakış sayfasına gidin. Zamanlanmış bakım penceresinden önce veya sonra bir olayı tetiklemeniz için aşağıdakiler gerekir:
-
Bakım yapılandırmasını zamanlama - Azure Güncelleme Yöneticisi'nde bir bakım yapılandırması zamanlaması için öncesi ve sonrası olaylar oluşturabilirsiniz. Daha fazla bilgi için bkz. Bakım yapılandırmalarını kullanarak güncelleştirmeleri zamanlama.
-
Ön ve son olaylarda gerçekleştirilecek eylemler - Eylemleri veya görevleri tanımlamak için Event Grid tarafından desteklenen Olay işleyicilerini (Uç Noktalar) kullanabilirsiniz. Web Kancaları ve Azure İşlevleri aracılığıyla Azure Otomasyonu Çalışma Kitaplarının nasıl oluşturulacağına ilişkin örnekler aşağıda verilmiştir. Bu Olay işleyicileri/Uç Noktaları içinde ön ve son olayların bir parçası olarak gerçekleştirilmesi gereken eylemleri tanımlamanız gerekir.
-
Web Kancası - PowerShell 7.2 Runbook'u oluşturun ve Runbook'u bir web kancasına bağlayın.
-
Azure İşlevi - Azure İşlevi oluşturma.
-
Ön ve son olay - Bakım yapılandırmasını zamanlamak üzere bir ön ve son olay etkinliği olayı oluşturmak için aşağıdaki bölümde paylaşılan adımları izleyebilirsiniz. Event Grid'in Temel sekmesinde kullanılan terimler hakkında daha fazla bilgi edinmek için bkz. Event Grid terimleri.
Etkinlik öncesi ve sonrası olay oluşturma
Yeni bir zamanlama bakım yapılandırması oluştururken öncesi ve sonrası olaylar oluşturun.
Azure portalda oturum açın ve Azure Güncelleme Yöneticisi'ne gidin.
Yönet'in altında Makineler'i seçin.
Üstteki şeritten Güncellemeleri zamanla seçeneğini seçin.
Bakım yapılandırması oluştur sayfasında Olaylar sekmesini seçin.
Etkinlik öncesi/sonrası olayı oluşturmak için +Olay Aboneliği'ne tıklayın.
Olay Aboneliği Ekle sayfasında aşağıdaki ayrıntıları girin: Olay Aboneliği Ayrıntıları bölümünde uygun bir ad girin.
- Şemayı Event Grid Şeması olarak tutun.
- Bu bakım yapılandırmasında oluşturduğunuz ilk olay için Sistem Konusu Adı'nı girin. Sonuçta oluşan olaylar için aynı Sistem Konusu adı otomatik olarak doldurulur.
-
Olay Türleri bölümünde, Olay Türlerine Göre Filtrele bölümünde, uç noktaya veya hedefe gönderilmesini istediğiniz olay türlerini seçin. Bakım Öncesi Olay veya Bakım Sonrası Olayı ya da her ikisini de seçebilirsiniz. Bakım yapılandırmalarını zamanlamaya özgü olay türleri hakkında daha fazla bilgi edinmek için bkz . Azure Olay Türleri.
-
Uç nokta ayrıntıları bölümünde, yanıtı almak istediğiniz uç noktayı seçin.
Zamanlamanın oluşturulması sırasında önceki ve sonraki etkinlikleri oluşturmak için Ekle'yi seçin.
Not
Yukarıdaki akışta Web kancası ve Azure İşlevleri, aralarından seçim yapabileceğiniz iki Olay işleyicisi/uç noktasıdır. Ekle'yi seçtiğinizde olay aboneliği oluşturulmaz ancak bakım yapılandırmasına eklenir. Olay aboneliği, program bakım yapılandırmasıyla birlikte oluşturulur.
Burada listelenen adımları izleyerek bir bakım yapılandırması oluşturun.
-
# 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
Burada listelenen adımları izleyerek bir bakım yapılandırması oluşturun.
-
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
Burada listelenen adımları izleyerek bir bakım yapılandırması oluşturun.
# Sistem konusu oluşturma Daha fazla bilgi edinin
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
İstek İçeriği:
{
"properties": {
"source": "/subscriptions/<subscription Id>/resourceGroups/<resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenance configuration name> ",
"topicType": "Microsoft.Maintenance.MaintenanceConfigurations"
},
"location": "<location>"
}
# Olay aboneliği oluşturma Daha fazla bilgi edinin
İzin Verilen Olay türleri - 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
İstek Gövdesi:
{
"properties": {
"destination": {
"endpointType": "WebHook",
"properties": {
"endpointUrl": "<Webhook URL>"
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PreMaintenanceEvent"
]
}
}
}
Azure Function
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
İstek Gövdesi
{
"properties": {
"destination": {
"endpointType": "AzureFunction",
"properties": {
"resourceId": "<Azure Function Resource Id>"
}
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PostMaintenanceEvent"
]
}
}
Mevcut bir zamanlama bakım yapılandırmasında öncesi ve sonrası etkinlikleri oluşturun.
Azure portalda oturum açın ve Azure Güncelleme Yöneticisi'ne gidin.
Yönet'in altında Makineler, Bakım Yapılandırmaları'yı seçin.
Bakım Yapılandırması sayfasında, olay öncesi ve sonrası eklemek istediğiniz bakım yapılandırmasını seçin.
Seçili Bakım yapılandırması sayfasında, Ayarlar'ın altında Olaylar'ı seçin. Alternatif olarak, Genel Bakış'ın altında Bakım olayı oluştur kartını seçin.
+Olay Aboneliği'ni seçin ve Bakım Öncesi/Sonrası Etkinliği oluşturun.
Olay Aboneliği Oluştur sayfasında aşağıdaki ayrıntıları girin:
Olay Aboneliği Ayrıntıları bölümünde uygun bir ad girin.
Şemayı Event Grid Şeması olarak tutun.
Konu Ayrıntıları bölümünde, Sistem Konu Adı'na uygun bir ad sağlayın.
Olay Türleri bölümünde, Olay Türlerine Göre Filtrele bölümünde, uç noktaya veya hedefe gönderilmesini istediğiniz olay türlerini seçin. Bakım Öncesi Olay ile Bakım Sonrası Olay arasında seçim yapabilirsiniz. Bakım yapılandırmalarını zamanlamaya özgü olay türleri hakkında daha fazla bilgi edinmek için bkz . Azure Olay Türleri.
Uç nokta ayrıntıları bölümünde, yanıtı almak istediğiniz uç noktayı seçin.
Mevcut bir zamanlamaya göre olayları önceden yapılandırmak ve yayınlamak için Oluştur'u seçin.
$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
# Sistem konusu oluşturma Daha fazla bilgi edinin
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
İstek Gövdesi:
{
"properties": {
"source": "/subscriptions/<subscription Id>/resourceGroups/<resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenance configuration name> ",
"topicType": "Microsoft.Maintenance.MaintenanceConfigurations"
},
"location": "<location>"
}
# Olay aboneliği oluşturma Daha fazla bilgi edinin
İzin Verilen Olay türleri - 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
İstek Gövdesi:
{
"properties": {
"destination": {
"endpointType": "WebHook",
"properties": {
"endpointUrl": "<Webhook URL>"
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PreMaintenanceEvent"
]
}
}
}
Azure Functions
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
İstek Gövdesi
{
"properties": {
"destination": {
"endpointType": "AzureFunction",
"properties": {
"resourceId": "<Azure Function Resource Id>"
}
}
},
"filter": {
"includedEventTypes": [
"Microsoft.Maintenance.PostMaintenanceEvent"
]
}
}
Sonraki adımlar
- Azure Update Manager'daki öncesi ve sonrası olaylara genel bakış için buraya bakın.
- Önceki ve sonraki bakım etkinliklerini yönetme veya bir zamanlama çalıştırmasını iptal etme hakkında bilgi edinmek için bkz önceki ve sonraki bakım yapılandırma etkinlikleri.
- VM'lerinizi açıp kapatmak için ön ve son olayları web kancalarıyla nasıl kullanacağınızı öğrenmek üzere buraya gidin.
- Azure İşlevleri'ni kullanarak VM'lerinizi açıp kapatmak için ön ve son olayları nasıl kullanacağınızı öğrenmek için buraya başvurun.