Verwenden von automatischen Skalierungsvorgängen zum Senden von E-Mail- und Webhook-Warnbenachrichtigungen in Azure Monitor
In diesem Artikel wird beschrieben, wie Sie Benachrichtigungen einrichten, damit Sie basierend auf Autoskalierungsvorgängen in Azure bestimmte Web-URLs aufrufen oder E-Mails senden können.
webhooks
Mit Webhooks können Sie HTTP-Anforderungen an einen bestimmten URL-Endpunkt (Rückruf-URL) senden, wenn ein bestimmtes Ereignis oder ein bestimmter Trigger auftritt. Mithilfe von Webhooks können Sie Prozesse automatisieren und optimieren, indem Sie den automatischen Informationsaustausch zwischen verschiedenen Systemen oder Anwendungen ermöglichen. Verwenden Sie Webhooks, um benutzerdefinierten Code, Benachrichtigungen oder andere Aktionen auszulösen, die ausgeführt werden, wenn ein Ereignis für die automatische Skalierung auftritt.
Sie können E-Mails an eine beliebige gültige E-Mail-Adresse senden, wenn ein Autoskalierungsereignis auftritt. Administratoren und Co-Administratoren des Abonnements, in der die Regel ausgeführt wird, werden ebenfalls benachrichtigt.
Konfigurieren von Benachrichtigungen
Verwenden Sie das Azure-Portal, die CLI, PowerShell oder Resource Manager-Vorlagen, um Benachrichtigungen zu konfigurieren.
Einrichten von Benachrichtigungen mithilfe des Azure-Portals.
Wählen Sie auf der Einstellungsseite für die Autoskalierung die Registerkarte Benachrichtigen aus, um Benachrichtigungen zu konfigurieren.
Aktivieren Sie die Kontrollkästchen, um eine E-Mail an den Abonnementadministrator oder die Co-Administratoren zu senden. Außerdem können Sie eine Liste mit E-Mail-Adressen eingeben, an die Benachrichtigungen gesendet werden sollen.
Geben Sie einen Webhook-URI ein, um eine Benachrichtigung an einen Webdienst zu senden. Sie können der Webhookanforderung auch benutzerdefinierte Header hinzufügen. Beispielsweise können Sie ein Authentifizierungstoken im Header, Abfrageparameter oder einen benutzerdefinierten Header hinzufügen, um die Quelle der Anforderung zu identifizieren.
Authentifizierung in Webhooks
Die Authentifizierung des Webhooks kann mithilfe der Token-basierten Authentifizierung erfolgen, wobei der Webhook-URI mit einer Token-ID (z. B. einem Abfrageparameter) gespeichert wird. Beispiel: https://mysamplealert/webcallback?tokenid=123-abc456-7890&myparameter2=value123
.
Benachrichtigung über automatische Skalierung mit dem Webhook-Nutzlastschema
Beim Generieren der Benachrichtigung über automatische Skalierung werden die folgenden Metadaten in die Webhook-Nutzlast aufgenommen:
{
"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"
}
}
Feld | Obligatorisch. | BESCHREIBUNG |
---|---|---|
status | Ja | Status, der angibt, dass ein Autoskalierungsvorgang generiert wurde. |
operation | Ja | Für eine Zunahme von Instanzen ist es „Aufskalieren“. Für eine Verringerung der Instanzen ist es „Abskalieren“. |
context | Ja | Der Kontext des Autoskalierungsvorgangs. |
timestamp | Ja | Zeitstempel der Auslösung des Autoskalierungsvorgangs. |
id | Ja | Resource Manager-ID der Einstellung für die automatische Skalierung. |
name | Ja | Name der Einstellung für die automatische Skalierung. |
Details | Ja | Erläuterung der Aktion, die der Dienst für die automatische Skalierung ausgeführt hat, und der Änderung der Instanzenanzahl. |
subscriptionId | Ja | Abonnement-ID der Zielressource, die skaliert wird. |
resourceGroupName | Ja | Ressourcengruppenname der Zielressource, die skaliert wird |
resourceName | Ja | Name der Zielressource, die skaliert wird. |
resourceType | Ja | Drei unterstützte Werte: „microsoft.classiccompute/domainnames/slots/roles“ – Azure Cloud Services-Rollen, „microsoft.compute/virtualmachinescalesets“ – Azure-VM-Skalierungsgruppen und „Microsoft.Web/serverfarms“ – Web-App-Feature von Azure Monitor. |
resourceId | Ja | Resource Manager-ID der Zielressource, die skaliert wird. |
portalLink | Ja | Link vom Azure-Portal zur Zusammenfassungsseite der Zielressource. |
oldCapacity | Ja | Aktuelle (alte) Anzahl von Instanzen, wenn die automatische Skalierung eine Skalierungsaktion durchgeführt hat. |
newCapacity | Ja | Neue Anzahl der Instanzen, auf die die automatische Skalierung die Ressource skaliert hat. |
properties | Nein | Optional. Eine Reihe von <Schlüssel-Wert>-Paaren (Beispiel: Wörterbuch <Zeichenfolge, Zeichenfolge>). Das Feld "properties" ist optional. In einer angepassten Benutzeroberfläche oder einem auf Logik-Apps basierenden Workflow können Sie Schlüssel und Werte eingeben, die mithilfe der Nutzlast übergeben werden können. Alternativ können benutzerdefinierte Eigenschaften über den Webhook-URI selbst (als Abfrageparameter) an den ausgehenden Webhook-Aufruf zurückgegeben werden. |