Utilisation d’actions de mise à l’échelle automatique pour envoyer des notifications d’alerte webhook et par courrier électronique dans Azure Moonitor

Cet article explique comment configurer des notifications pour vous permettre d’appeler des URL web spécifiques ou d’envoyer des e-mails en fonction d’actions de mise à l’échelle automatique dans Azure.

Webhooks

Les webhooks vous permettent d’envoyer des requêtes HTTP à un point de terminaison d’URL spécifique (URL de rappel) lorsqu’un événement ou un déclencheur spécifique se produit. À l’aide de webhooks, vous pouvez automatiser et simplifier les processus en activant l’échange automatique d’informations entre différents systèmes ou applications. Utilisez des webhooks pour déclencher du code personnalisé, des notifications ou d’autres actions à exécuter lorsqu’un événement de mise à l’échelle automatique se produit.

Courrier

Vous pouvez envoyer un e-mail à n’importe quelle adresse e-mail valide lorsqu’un événement de mise à l’échelle automatique se produit. Les administrateurs et les coadministrateurs de l’abonnement dans lequel la règle est exécutée seront également avertis.

Configurez les notifications

Utilisez les modèles Portail Azure, CLI, PowerShell ou Resource Manager pour configurer les notifications.

Configurez les notifications à l’aide du Portail Azure.

Sélectionnez l’onglet Notifier dans la page paramètres de mise à l’échelle automatique pour configurer les notifications.

Cochez les cases pour envoyer un e-mail à l’administrateur ou aux coadministrateurs de l’abonnement. Vous pouvez également entrer une liste d’adresses e-mail à laquelle envoyer des notifications.

Entrez un URI de webhook pour envoyer une notification à un service web. Vous pouvez également ajouter des en-têtes personnalisés à la requête de webhook. Par exemple, vous pouvez ajouter un jeton d’authentification dans l’en-tête, les paramètres de requête ou ajouter un en-tête personnalisé pour identifier la source de la demande.

Une capture d’écran montrant l’onglet notification sur la page des paramètres de mise à l’échelle automatique.

Authentification dans des webhooks

Le webhook peut s’authentifier à l’aide de l’authentification par jeton, où vous enregistrez l’URI du webhook avec un ID de jeton comme paramètre de requête. Par exemple : https://mysamplealert/webcallback?tokenid=123-abc456-7890&myparameter2=value123.

Schéma de la charge utile du webhook de notification de mise à l’échelle automatique

Lorsque la notification de mise à l’échelle automatique est générée, les métadonnées suivantes sont incluses dans la charge utile du 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"
    }   
}
Champ Obligatoire Description
status Oui État qui indique qu’une action de mise à l’échelle automatique a été générée.
opération Oui Pour une augmentation du nombre d’instances, il s’agit de « Scale Out ». Pour une diminution du nombre d’instances, il s’agit de « Scale In ».
contexte Oui Contexte de l’action de mise à l’échelle automatique.
timestamp Oui Horodatage du déclenchement de l’action de mise à l’échelle automatique.
id Oui ID Resource Manager du paramètre de mise à l’échelle automatique.
name Oui Nom du paramètre de mise à l’échelle automatique.
details Oui Explication de l’action exécutée par le service de mise à l’échelle automatique et de la modification du nombre d’instances.
subscriptionId Oui ID d’abonnement de la ressource cible mise à l’échelle.
resourceGroupName Oui Nom de groupe de ressources de la ressource cible mise à l’échelle.
resourceName Oui Nom de la ressource cible mise à l’échelle.
resourceType Oui Trois valeurs sont prises en charge : « microsoft.classiccompute/domainnames/slots/roles » - Rôles Azure Cloud Services, « microsoft.compute/virtualmachinescalesets » - Groupes de machines virtuelles identiques Azure et « Microsoft.Web/serverfarms » - Fonctionnalité d’application web d’Azure Monitor.
resourceId Oui ID Resource Manager de la ressource cible mise à l’échelle.
portalLink Oui Lien du portail Azure vers la page de résumé de la ressource cible.
oldCapacity Oui Nombre d’instances (anciennes) actuel lors de l’exécution d’une action de mise à l’échelle par la mise à l’échelle automatique.
newCapacity Oui Nouveau nombre d’instances auquel la mise à l’échelle automatique a mis la ressource à l’échelle.
properties Non facultatif. Jeu de paires <Clé, Valeur> (par exemple, Dictionary <String, String>). Le champ properties est facultatif. Dans un flux de travail basé sur une application logique ou une interface utilisateur personnalisée, vous pouvez entrer des clés et des valeurs transmissibles à l’aide de la charge utile. Une autre manière de transmettre des propriétés personnalisées à l’appel webhook sortant consiste à utiliser l’URI du webhook (sous la forme de paramètres de requête).