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.

E-mail

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.

Zrzut ekranu przedstawiający kartę powiadamiania na stronie ustawień automatycznego skalowania.

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).