Personnaliser des notifications d’alerte en tirant parti de Logic Apps

Cet article vous présente comment créer une application logique et l’intégrer à une alerte Azure Monitor.

Vous pouvez utiliser Azure Logic Apps pour générer et personnaliser des workflows pour une intégration. Utilisez Logic Apps pour personnaliser vos notifications d’alerte. Vous pouvez :

  • Personnalisez l’e-mail des alertes en utilisant votre propre format d’objet et de corps d’e-mail.
  • Personnalisez les métadonnées d’alerte en recherchant des balises pour les ressources concernées ou en extrayant un résultat de recherche de requête de journal. Pour plus d’informations sur l’accès aux lignes de résultats de recherche contenant des données d’alertes, consultez :
  • Intégrez des services externes en tirant parti de connecteurs existants comme Outlook, Microsoft Teams, Slack et PagerDuty. Vous pouvez également configurer l’application logique pour vos propres services.

Cet exemple crée une application logique qui utilise le schéma d’alerte commun pour envoyer les détails de l’alerte.

Créer une application logique

  1. Dans le Portail Azure, créez une application logique. Dans la Barre de recherche située en haut de la page, entrez Application logique.

  2. Dans la page Application logique, sélectionnez Ajouter.

  3. Sélectionnez Abonnement et Groupe de ressources pour votre application logique.

  4. Définissez le Nom de l’application logique. Pour Type de plan, sélectionnez Consommation.

  5. Sélectionnez Vérifier + créer>Créer.

  6. Sélectionnez Accéder à la ressource après la fin du déploiement.

    Capture d’écran montrant la page Créer une application logique.

  7. Dans la page Concepteur Logic Apps, sélectionnez Lorsqu’une requête HTTP est reçue.

    Capture d’écran montrant la page de démarrage du concepteur Logic Apps.

  8. Collez le schéma d’alerte commun dans le champ Schéma JSON du corps de la demande à partir du code JSON suivant :

     {
        "type": "object",
        "properties": {
            "schemaId": {
                "type": "string"
            },
            "data": {
                "type": "object",
                "properties": {
                    "essentials": {
                        "type": "object",
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "alertRule": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string"
                            },
                            "signalType": {
                                "type": "string"
                            },
                            "monitorCondition": {
                                "type": "string"
                            },
                            "monitoringService": {
                                "type": "string"
                            },
                            "alertTargetIDs": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "originAlertId": {
                                "type": "string"
                            },
                            "firedDateTime": {
                                "type": "string"
                            },
                            "resolvedDateTime": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "essentialsVersion": {
                                "type": "string"
                            },
                            "alertContextVersion": {
                                "type": "string"
                            }
                        }
                    },
                    "alertContext": {
                        "type": "object",
                        "properties": {}
                    }
                }
            }
        }
    }
    

    Capture d’écran montrant l’onglet Paramètres du volet Quand une requête HTTP est reçue.

  9. (Facultatif). Vous pouvez personnaliser la notification d’alerte en extrayant des informations sur la ressource affectée qui a déclenché l’alerte, par exemple, les balises de la ressource. Vous pouvez ensuite inclure ces balises de ressources dans la charge utile de l’alerte et utiliser les informations de vos expressions logiques pour envoyer les notifications. Pour effectuer cette étape, nous allons effectuer ce qui suit :

    • Créez une variable pour les ID de ressource affectés.
    • Fractionner l’ID de ressource dans un tableau de manière à pouvoir utiliser ses différents éléments (par exemple, un abonnement ou un groupe de ressources).
    • Utiliser le connecteur Azure Resource Manager pour lire les métadonnées de la ressource.
    • Récupérer les balises de la ressource qui peuvent ensuite être utilisées lors des étapes suivantes de l’application logique.
    1. Sélectionnez +>Ajouter une action pour insérer une nouvelle étape.

    2. Dans le champ Rechercher, recherchez et sélectionnez Initialiser la variable.

    3. Dans le champ Nom, entrez le nom de la variable, par exemple AffectedResource.

    4. Dans le champ Type, sélectionnez Groupe.

    5. Dans le champ Valeur, sélectionnez Ajouter du contenu dynamique. Sélectionnez l’onglet Expression, puis entrez la chaîne split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/').

      Capture d’écran montrant l’onglet Paramètres du volet Initialiser la variable.

    6. Sélectionnez +>Ajouter une action pour insérer une autre étape.

    7. Dans le champ Rechercher, recherchez et sélectionnez Azure Resource Manager>Lire une ressource.

    8. Renseignez les champs de l’action Lire une ressource avec les valeurs de tableau de la AffectedResource variable. Dans chacun des champs, sélectionnez le champ, puis faites défiler vers le bas jusqu’à Entrer une valeur personnalisée. Sélectionnez Ajouter du contenu dynamique, puis sélectionnez l’onglet Expression. Entrez les chaînes de cette table :

      Champ Valeur de chaîne
      Abonnement variables('AffectedResource')[2]
      Groupe de ressources variables('AffectedResource')[4]
      Fournisseur de ressources variables('AffectedResource')[6]
      ID court de ressource concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
      Version d’API client Version d’API du type de ressource

      Pour trouver la version d’API de votre type de ressource, sélectionnez le lien Affichage JSON en haut à droite de la page de vue d’ensemble des ressources. La page Ressource JSON s’affiche avec ResourceID et la Version d’API en haut de la page.

    Le contenu dynamique inclut désormais des balises de la ressource affectée. Vous pouvez utiliser ces balises lorsque vous configurez vos notifications comme décrit dans les étapes suivantes.

  10. Envoyez un e-mail ou publiez un message Teams.

  11. Sélectionnez +>Ajouter une action pour insérer une nouvelle étape.

    Capture d’écran montrant les paramètres pour Quand une requête HTTP est reçue.

  1. Dans le champ de recherche, recherchez Outlook.

  2. Sélectionnez Office 365 Outlook.

    Capture d’écran montrant la page Ajouter une action du concepteur Logic Apps avec la sélection d’Office 365 Outlook.

  3. Sélectionnez Envoyer un message électronique (V2) dans la liste des actions.

  4. Connectez-vous à Office 365 lorsque vous êtes invité à créer une connexion.

  5. Créez le corps de l’e-mail en entrant du texte statique et en incluant le contenu extrait de la charge utile de l’alerte en choisissant des champs dans la liste Contenu dynamique. Par exemple :

    • Une alerte a une condition de surveillance : sélectionnez monitorCondition dans la liste Contenu dynamique.
    • Date de déclenchement : sélectionnez firedDateTime dans la liste Contenu dynamique.
    • Ressources affectées : sélectionnez alertTargetIDs dans la liste Contenu dynamique.
  6. Dans le champ Objet, créez le texte d’objet en entrant du texte statique et en incluant le contenu extrait de la charge utile de l’alerte en choisissant des champs dans la liste Contenu dynamique. Par exemple :

    • Alerte : sélectionnez alertRule dans la liste Contenu dynamique.
    • avec la gravité : sélectionnez gravité dans la liste Contenu dynamique.
    • a la condition : sélectionnez monitorCondition dans la liste Contenu dynamique.
  7. Entrez l’adresse e-mail à laquelle envoyer l’alerte dans le champ À.

  8. Sélectionnez Enregistrer.

    Capture d’écran montrant l’onglet Paramètres dans le volet Envoyer un e-mail.

Vous avez créé une application logique qui envoie un e-mail à l’adresse spécifiée, avec les détails de l’alerte qui l’a déclenchée.

L’étape suivante consiste à créer un groupe d’actions afin de déclencher votre application logique.

Créer un groupe d’actions

Pour déclencher votre application logique, créez un groupe d’actions. Créez ensuite une alerte qui utilise ce groupe d’actions.

  1. Accédez à la page Azure Monitor et sélectionnez Alertes dans le volet gauche.

  2. Sélectionnez Groupes d’actions>Créer.

  3. Sélectionnez les valeurs appropriées pour l’Abonnement, le Groupe de ressources et la Région.

  4. Entrez un nom pour Nom du groupe d’actions et Nom d’affichage.

  5. Sélectionnez l’onglet Actions.

    Capture d’écran montrant l’onglet Actions sur la page Créer un groupe d’actions.

  6. Sous l’onglet Actions, sous Type d’action, sélectionnez Application logique.

  7. Dans la section Application logique, sélectionnez votre application logique dans la liste déroulante.

  8. Définissez Activer le schéma d’alerte commun sur Oui. Si vous sélectionnez Non, le type d’alerte détermine le schéma d’alerte utilisé. Pour plus d’informations sur les schémas d’alerte, voir Schémas d’alerte spécifiques au contexte.

  9. Sélectionnez OK.

  10. Entrez un nom dans le champ Nom.

  11. Sélectionnez Vérifier + créer>Créer.

    Capture d’écran montrant l’onglet Actions de la page Créer un groupe d’actions et le volet Application logique.

Tester votre groupe d’actions

  1. Sélectionnez votre groupe d’actions.

  2. Dans la section Application logique, sélectionnez Tester le groupe d’actions (préversion).

    Capture d’écran montrant une page de détails du groupe d’actions avec l’option Tester le groupe d’actions.

  3. Sélectionnez un exemple de type d’alerte dans la liste déroulante de Sélectionner un exemple de type .

  4. Sélectionnez Test.

    Capture d’écran montrant une page Test des détails d’un groupe d’actions.

    L’e-mail suivant est envoyé au compte spécifié :

    Capture d’écran montrant d’un exemple d’e-mail envoyé par la page Test.

Créez une règle en utilisant votre groupe d’actions

  1. Créez une règle pour l’une de vos ressources.

  2. Sous l’onglet Actions de votre règle, choisissez Sélectionner des groupes d’actions.

  3. Sélectionnez votre groupe d’actions dans la liste.

  4. Choisissez Sélectionner.

  5. Terminez la création de votre règle.

    Capture d’écran montrant l’onglet Actions dans le volet Créer une règle d’alerte et le volet Sélectionner des groupes d’actions.

Étapes suivantes