Didacticiel : activer la notification d’anomalies dans Metrics Advisor

Important

Depuis le 20 septembre 2023, vous ne pouvez plus créer de ressources Metrics Advisor. Le service Metrics Advisor sera mis hors service le 1er octobre 2026.

Dans ce tutoriel, vous allez apprendre à :

  • Créer un raccordement dans Metrics Advisor
  • Envoyer des notifications avec Azure Logic Apps
  • Envoyer des notifications à Microsoft Teams
  • Envoyer des notifications par le biais du serveur SMTP

Prérequis

Créer une ressource Metrics Advisor

Pour explorer les fonctionnalités de Metrics Advisor, vous devrez peut-être Créer une ressource Metrics Advisorcréer une ressource Metrics Advisor dans le portail Azure pour déployer votre instance de Metrics Advisor.

Créer un raccordement dans Metrics Advisor

Un raccordement dans Metrics Advisor est un pont qui permet au client de s’abonner à des anomalies de métriques et d’envoyer des notifications par le biais de différents canaux. Il existe quatre types de raccordements dans Metrics Advisor :

  • Hook par e-mail
  • webhook
  • Raccordement Teams
  • Raccordement Azure DevOps

Chaque type de raccordement correspond à un canal spécifique dans lequel l’anomalie sera notifiée.

Envoyer des notifications avec Azure Logic Apps, Teams et SMTP

Envoyer une notification par e-mail en utilisant Azure Logic Apps

Il existe deux options courantes pour envoyer des notifications par e-mail qui sont prises en charge dans Metrics Advisor. L’une consiste à utiliser des webhooks et Azure Logic Apps pour envoyer des alertes par e-mail, l’autre consiste à configurer un serveur SMTP et à l’utiliser pour envoyer des alertes par e-mail directement. Cette section se concentre sur la première option, qui est plus facile pour les clients qui n’ont pas de serveur SMTP disponible.

Étape 1 : Créer un webhook dans Metrics Advisor

Un webhook est le point d’entrée pour toutes les informations disponibles du service Metrics Advisor et appelle une API fournie par l’utilisateur lorsqu’une alerte est déclenchée. Toutes les alertes peuvent être envoyées via un webhook.

Sélectionnez l’onglet Raccordements dans l’espace de travail Metrics Advisor, puis cliquez sur le bouton Créer un raccordement. Choisissez un type de raccordement Hook Web. Renseignez les paramètres requis et sélectionnez OK. Pour obtenir des instructions détaillées, reportez-vous à Créer un webhook.

Il existe un paramètre supplémentaire de point de terminaison qui doit être rempli, à l’issue de l’étape 3 ci-dessous.

Étape 2 : Créer une ressource d’application logique Consommation

Dans le portail Azure, créez une ressource d’application logique Consommation avec un workflow vide en suivant les instructions fournies dans Créer un exemple de workflow d’application logique Consommation. Lorsque le concepteur de workflow s’ouvre, revenez à ce tutoriel.

Étape 3 : Ajouter le déclencheur Quand une requête HTTP est reçue

  • Azure Logic Apps utilise différentes actions pour déclencher des flux de travail définis. Pour ce cas d’usage, elle utilise le déclencheur nommé Quand une requête HTTP est reçue.

  • Dans la boîte de dialogue Lors de la réception d’une demande HTTP, sélectionnez Utiliser l’exemple de charge utile pour générer le schéma.

    Screenshot that shows the When an HTTP request dialog box and the Use sample payload to generate schema option selected.

    Copiez l’exemple JSON suivant dans la zone de texte et sélectionnez Terminé.

    {
    "properties": {
        "value": {
            "items": {
                "properties": {
                    "alertInfo": {
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "anomalyAlertingConfigurationId": {
                                "type": "string"
                            },
                            "createdTime": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "alertType": {
                        "type": "string"
                    },
                    "callBackUrl": {
                        "type": "string"
                    },
                    "hookId": {
                        "type": "string"
                    }
                },
                "required": [
                    "hookId",
                    "alertType",
                    "alertInfo",
                    "callBackUrl"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
     }
    
  • Choisissez la méthode « POSTER », puis sélectionnez Enregistrer. Vous voyez maintenant l’URL de votre déclencheur de requête HTTP. Sélectionnez l’icône de copie pour la copier et la replacer dans le point de terminaison à l’étape 1.

    Screenshot that highlights the copy icon to copy the URL of your HTTP request trigger.

Étape 4 : Ajouter une étape suivante en utilisant l’action « HTTP »

Les signaux qui font l’objet d’un push via le webhook contiennent uniquement des informations limitées comme timestamp, alertID, configurationID, etc. Des informations détaillées doivent être interrogées à l’aide de l’URL de rappel fournie dans le signal. Cette étape consiste à interroger les informations d’alerte détaillées.

  • Choisir une méthode GET

  • Sélectionnez « callBackURL » dans la liste « Contenu dynamique » dans « URI ».

  • Entrer une clé de « Content-type » dans « En-têtes » et saisissez une valeur de « application/JSON »

  • Entrez la clé « x-api-key » dans « En-têtes » pour l’obtenir en cliquant sur l’onglet « Clés API » dans votre espace de travail Metrics Advisor. Cette étape consiste à s’assurer que le flux de travail dispose des autorisations suffisantes pour les appels d’API.

    Screenshot that highlights the api-keys

Étape 5 : Ajouter une étape suivante pour « Analyser JSON »

Vous devez analyser la réponse de l’API pour faciliter la mise en forme du contenu de l’e-mail.

Notes

Ce didacticiel ne partage qu’un simple exemple, le format d’e-mail final doit être conçu.

  • Sélectionner « Corps » dans la liste « Contenu dynamique » dans « Contenu »
  • Sélectionnez Utiliser l’exemple de charge utile pour générer le schéma. Copiez l’exemple JSON suivant dans la zone de texte et sélectionnez Terminé.
{
    "properties": {
        "@@nextLink": {},
        "value": {
            "items": {
                "properties": {
                    "properties": {
                        "properties": {
                            "IncidentSeverity": {
                                "type": "string"
                            },
                            "IncidentStatus": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "rootNode": {
                        "properties": {
                            "createdTime": {
                                "type": "string"
                            },
                            "detectConfigGuid": {
                                "type": "string"
                            },
                            "dimensions": {
                                "properties": {
                                },
                                "type": "object"
                            },
                            "metricGuid": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "properties": {
                                "properties": {
                                    "AnomalySeverity": {
                                        "type": "string"
                                    },
                                    "ExpectedValue": {}
                                },
                                "type": "object"
                            },
                            "seriesId": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            },
                            "value": {
                                "type": "number"
                            }
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "rootNode",
                    "properties"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
}

Étape 6 : Ajouter une étape suivante pour « créer une table HTML »

Une série d’informations ont été retournées par l’appel d’API, cependant, en fonction de vos scénarios, les informations ne sont pas toutes utiles. Choisissez les éléments qui vous intéressent et que vous aimeriez inclure dans l’e-mail d’alerte.

Voici un exemple de table HTML qui choisit « timestamp », « metricGUID » et « dimension » pour les inclure dans l’e-mail d’alerte.

Screenshot of html table example

Étape 7 : Ajouter l’étape finale pour « envoyer un e-mail »

Il existe plusieurs options pour envoyer des e-mails, à la fois hébergées par Microsoft et des offres tierces. Le client peut avoir besoin d’un locataire ou d’un compte pour l’option choisie. Par exemple, lorsque vous choisissez « Office 365 Outlook » comme serveur. Le processus de connexion sera pompé pour la création de la connexion et de l’autorisation. Une connexion d’API sera établie pour utiliser le serveur de messagerie pour envoyer une alerte.

Renseignez le contenu que vous souhaitez inclure dans « Body », « Subject » dans l’e-mail et indiquez une adresse e-mail dans « To ».

Screenshot of send an email

Étapes suivantes

Passez à l’article suivant pour découvrir comment créer.