Wysyłanie powiadomień o alertach wiadomości e-mail i elementów webhook w usłudze Azure Monitor za pomocą akcji autoskalowania
W tym artykule pokazano, jak skonfigurować powiadomienia, aby można było wywoływać określone adresy URL sieci Web lub wysyłać wiadomości e-mail na podstawie akcji autoskalowania na platformie Azure.
Elementy webhook
Elementy webhook umożliwiają wysyłanie żądań HTTP do określonego punktu końcowego adresu URL (adresu URL wywołania zwrotnego) po wystąpieniu określonego zdarzenia lub wyzwalacza. Za pomocą elementów webhook można zautomatyzować i usprawnić procesy, umożliwiając automatyczną wymianę informacji między różnymi systemami lub aplikacjami. Użyj elementów webhook, aby wyzwolić niestandardowy kod, powiadomienia lub inne akcje do uruchomienia po wystąpieniu zdarzenia autoskalowania.
Możesz wysłać wiadomość e-mail na dowolny prawidłowy adres e-mail po wystąpieniu zdarzenia autoskalowania. Administratorzy i współadministratorzy subskrypcji, w której jest uruchomiona reguła, są również powiadamiani.
Konfigurowanie powiadomień
Aby skonfigurować powiadomienia, użyj szablonów Azure Portal, interfejsu wiersza polecenia, programu PowerShell lub Resource Manager.
Skonfiguruj powiadomienia przy użyciu Azure Portal.
Wybierz kartę Powiadamianie na stronie ustawień autoskalowania, aby skonfigurować powiadomienia.
Zaznacz pola wyboru, aby wysłać wiadomość e-mail do administratora subskrypcji lub współadministratorów. Możesz również wprowadzić listę adresów e-mail, do których mają być wysyłane powiadomienia.
Wprowadź identyfikator URI elementu webhook, aby wysłać powiadomienie do usługi internetowej. Możesz również dodać nagłówki niestandardowe do żądania elementu webhook. Możesz na przykład dodać token uwierzytelniania w nagłówku, parametrach zapytania lub dodać nagłówek niestandardowy, aby zidentyfikować źródło żądania.
Uwierzytelnianie w elementach webhook
Element webhook może uwierzytelniać się przy użyciu uwierzytelniania opartego na tokenach, w którym można zapisać identyfikator URI elementu webhook przy użyciu identyfikatora tokenu jako parametru zapytania. Na przykład https://mysamplealert/webcallback?tokenid=123-abc456-7890&myparameter2=value123
.
Schemat ładunku elementu webhook powiadomienia automatycznego skalowania
Po wygenerowaniu powiadomienia automatycznego skalowania następujące metadane są uwzględniane w ładunku elementu webhook:
{
"version": "1.0",
"status": "Activated",
"operation": "Scale Out",
"context": {
"timestamp": "2023-06-22T07:01:47.8926726Z",
"id": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/microsoft.insights/autoscalesettings/AutoscaleSettings-002",
"name": "AutoscaleSettings-002",
"details": "Autoscale successfully started scale operation for resource 'ScaleableAppServicePlan' from capacity '1' to capacity '2'",
"subscriptionId": "123456ab-9876-a1b2-a2b1-123a567b9f8767",
"resourceGroupName": "rg-001",
"resourceName": "ScaleableAppServicePlan",
"resourceType": "microsoft.web/serverfarms",
"resourceId": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
"portalLink": "https://portal.azure.com/#resource/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
"resourceRegion": "West Central US",
"oldCapacity": "1",
"newCapacity": "2"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
Pole | Obowiązkowy | Opis |
---|---|---|
status | Tak | Stan wskazujący, że została wygenerowana akcja automatycznego skalowania. |
operation | Tak | W przypadku zwiększenia liczby wystąpień jest to "Skalowanie w poziomie". W przypadku spadku liczby wystąpień jest to "Skaluj w". |
kontekst | Tak | Kontekst akcji Autoskaluj. |
sygnatura czasowa | Tak | Sygnatura czasowa wyzwolenia akcji autoskalowania. |
identyfikator | Tak | Resource Manager identyfikator ustawienia autoskalowania. |
name | Tak | Nazwa ustawienia autoskalowania. |
szczegóły | Tak | Wyjaśnienie akcji, którą podjęła usługa autoskalowania, oraz zmianę liczby wystąpień. |
subscriptionId | Tak | Identyfikator subskrypcji zasobu docelowego, który jest skalowany. |
resourceGroupName | Tak | Nazwa grupy zasobów zasobu docelowego, który jest skalowany. |
resourceName | Tak | Nazwa zasobu docelowego, który jest skalowany. |
resourceType | Tak | Trzy obsługiwane wartości: "microsoft.classiccompute/domainnames/slots/roles" — Role Cloud Services platformy Azure, "microsoft.compute/virtualmachinescalesets" — Azure Virtual Machine Scale Sets i "Microsoft.Web/serverfarms" — funkcja aplikacji internetowej usługi Azure Monitor. |
resourceId | Tak | Resource Manager identyfikator zasobu docelowego, który jest skalowany. |
portalLink | Tak | Azure Portal link do strony podsumowania zasobu docelowego. |
oldCapacity | Tak | Bieżąca (stara) liczba wystąpień, gdy autoskaluj podjęła akcję skalowania. |
newCapacity | Tak | Nowa liczba wystąpień, do której skalowanie automatyczne skalowało zasób. |
properties | Nie | Opcjonalny. <Zestaw par Klucz, Wartość> (na przykład Ciąg słownika<, Ciąg>). Pole właściwości jest opcjonalne. W niestandardowym interfejsie użytkownika lub przepływie pracy opartym na aplikacji logiki można wprowadzić klucze i wartości, które można przekazać przy użyciu ładunku. Alternatywnym sposobem przekazywania właściwości niestandardowych z powrotem do wychodzącego wywołania elementu webhook jest użycie samego identyfikatora URI elementu webhook (jako parametrów zapytania). |