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.
Remarque
À compter du 3 avril 2024, vous ne pourrez pas ajouter de nouveaux coadministrateurs pour les notifications de mise à l’échelle automatique Azure. Les administrateurs Azure Classic seront mis hors service le 31 août 2024 et vous ne serrez plus en mesure d’envoyer des notifications de mise à l’échelle automatique Azure à l’aide des administrateurs et des coadministrateurs après le 31 août 2024. Pour plus d’informations, consultez Préparer la mise hors service des coadministrateurs
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.
Entrez 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.
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/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"
}
}
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). |