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.
Hinweis
Ab dem 3. April 2024 können Sie keine neuen Co-Administratoren für Azure-Benachrichtigungen zur Autoskalierung hinzufügen. Azure Classic-Administratoren werden am 31. August 2024 zurückgezogen, und nach dem 31. August 2024 können Sie keine Azure-Benachrichtigungen zur Autoskalierung mithilfe von Administratoren und Co-Administratoren senden. Weitere Informationen finden Sie unter Vorbereiten der Einstellung von Co-Administratoren.
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.
Geben Sie eine Liste mit E-Mail-Adressen ein, 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "rg-001",
"resourceName": "ScaleableAppServicePlan",
"resourceType": "microsoft.web/serverfarms",
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
"portalLink": "https://portal.azure.com/#resource/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/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. |