Appeler un webhook avec une alerte de métrique classique dans Azure Monitor

Avertissement

Cet article décrit comment utiliser des alertes de métrique classiques plus anciennes. Azure Monitor prend désormais en charge les alertes de métriques en quasi-temps réel et une nouvelle expérience d’alertes. Les alertes classique sont hors service pour les utilisateurs du cloud public. Les alertes classiques pour le cloud Azure Government et Microsoft Azure géré par 21Vianet seront mises hors service le 29 février 2024.

Les Webhooks permettent de rediriger une notification d’alerte Azure vers d’autres systèmes pour effectuer un post-traitement ou des actions personnalisées. Vous pouvez utiliser un Webhook sur une alerte pour rediriger cette dernière vers des services qui envoient des SMS, consignent des bogues, avertissent une équipe dans des services de conversation instantanée/messagerie ou effectuent d’autres actions.

Cet article décrit comment définir un Webhook sur une alerte de métrique Azure. Il montre également à quoi ressemble la charge utile d’une requête HTTP POST sur un Webhook. Pour plus d’informations sur la configuration et le schéma d’une alerte de journal d’activité Azure (alertes sur les événements), consultez Appeler un Webhook sur une alerte de journal d’activité Azure.

Les alertes Azure utilisent une requête HTTP POST pour envoyer le contenu de l’alerte au format JSON vers un URI de Webhook que vous fournissez lors de la création de l’alerte. Le schéma est défini plus loin dans cet article. L’URI doit être un point de terminaison HTTP ou HTTPS valide. Azure publie une entrée par demande lorsqu’une alerte est activée.

Configurer des Webhooks via le portail Azure

Pour ajouter ou mettre à jour l’URI du Webhook, dans le portail Azure, accédez à Créer/mettre à jour des alertes.

Volet Ajouter une règle d’alerte

Vous pouvez également configurer une alerte à publier vers un URI de Webhook à l’aide des applets de commande Azure PowerShell, de l’interface de ligne de commande multiplateforme ou des API REST Azure Monitor.

Authentifier le Webhook

Le Webhook peut s’authentifier à l’aide de l’autorisation basée sur un jeton. L’URI du Webhook est enregistré avec un ID de jeton. Par exemple : https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue

Schéma de la charge utile

L’opération POST contient le schéma et la charge utile JSON ci-après pour toutes les alertes basées sur des métriques :

{
    "status": "Activated",
    "context": {
        "timestamp": "2015-08-14T22:26:41.9975398Z",
        "id": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.insights/alertrules/ruleName1",
        "name": "ruleName1",
        "description": "some description",
        "conditionType": "Metric",
        "condition": {
            "metricName": "Requests",
            "metricUnit": "Count",
            "metricValue": "10",
            "threshold": "10",
            "windowSize": "15",
            "timeAggregation": "Average",
            "operator": "GreaterThanOrEqual"
        },
        "subscriptionId": "s1",
        "resourceGroupName": "useast",
        "resourceName": "mysite1",
        "resourceType": "microsoft.foo/sites",
        "resourceId": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1",
        "resourceRegion": "centralus",
        "portalLink": "https://portal.azure.com/#resource/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1"
    },
    "properties": {
        "key1": "value1",
        "key2": "value2"
    }
}
Champ Obligatoire Ensemble fixe de valeurs Notes
status O Activated, Resolved État de l’alerte en fonction des conditions que vous avez définies.
contexte O Contexte de l’alerte.
timestamp O Heure à laquelle l’alerte a été déclenchée.
id O Chaque règle d’alerte possède un ID unique.
name O Nom de l’alerte.
description O Description de l’alerte.
conditionType O Metric, Event Deux types d’alertes sont pris en charge : métrique et événement. Les alertes de métrique sont basées sur une condition de métrique. Les alertes d’événement sont basées sur un événement dans le journal d’activité. Utilisez cette valeur pour vérifier si l’alerte est basée sur une métrique ou sur un événement.
condition O Champs à vérifier en fonction de la valeur conditionType.
metricName Pour les alertes de métrique Nom de la métrique qui définit ce que la règle surveille
metricUnit Pour les alertes de métrique Bytes, BytesPerSecond, Count, CountPerSecond, Percent, Seconds Unité autorisée dans la métrique Consultez les valeurs autorisées.
metricValue Pour les alertes de métrique Valeur réelle de la métrique ayant entraîné l’alerte.
threshold Pour les alertes de métrique Valeur de seuil en fonction de laquelle l’alerte est activée.
windowSize Pour les alertes de métrique Période de temps qui est utilisée pour surveiller l’activité d’alerte en fonction du seuil. La valeur doit être comprise entre 5 minutes et 1 jour. La valeur doit être au format de durée ISO 8601.
timeAggregation Pour les alertes de métrique Average, Last, Maximum, Minimum, None, Total Détermine la façon dont les données collectées doivent être combinées au fil du temps. La valeur par défaut est Average. Consultez les valeurs autorisées.
operator Pour les alertes de métrique Opérateur utilisé pour la comparaison des données de métrique actuelles au seuil défini.
subscriptionId O L’ID d’abonnement Azure.
resourceGroupName O Nom du groupe de ressources de la ressource affectée.
resourceName O ID de la ressource affectée.
resourceType O Type de la ressource affectée.
resourceId O ID de la ressource affectée.
resourceRegion O Région ou emplacement de la ressource affectée.
portalLink O Lien direct vers la page de résumé de la ressource sur le portail.
properties N Facultatif Ensemble de paires clé/valeur contenant les détails de l’événement. Par exemple : Dictionary<String, String>. Le champ properties est facultatif. Dans un workflow basé sur une application logique ou une interface utilisateur personnalisée, les utilisateurs peuvent entrer des paires clé/valeur transmissibles par le biais de la charge utile. Une autre manière de transmettre des propriétés personnalisées au Webhook consiste à utiliser l’URI du Webhook (sous la forme de paramètres de requête).

Notes

Vous pouvez définir le champ properties uniquement à l’aide des API REST Azure Monitor.

Étapes suivantes