Tous les produits
Search
Centre de documentation

Managed Service for Prometheus:Personnaliser les destinataires des alertes avec un webhook

Dernière mise à jour :Aug 27, 2026

Lors de la création d'une politique de notification, vous pouvez envoyer des notifications d'alerte à une URL de webhook personnalisée. La fonctionnalité de gestion des alertes permet d'acheminer les alertes vers des services tiers via une intégration webhook. Cette rubrique utilise Lark comme exemple pour illustrer la création et la configuration d'un webhook pour les alertes.

Étape 1 : Obtenir une URL de webhook

  1. Ouvrez Lark et connectez-vous.

  2. Cliquez sur l'icône +, puis sur Create Group pour créer un groupe destiné à recevoir les alertes.

  3. Cliquez sur l'icône des paramètres du groupe, puis sélectionnez l'onglet Bots.

  4. Dans l'onglet Bots, cliquez sur Add Bot.

  5. Dans le panneau Add Bot, sélectionnez Custom Bot.

  6. Sur la page de configuration, définissez le Display name et la Description, puis cliquez sur Add.

  7. Dans la section Webhook URL, cliquez sur Copy Link, puis sur Finish.

    Dans la section Security Settings, cochez la case Custom Keywords et ajoutez le mot-clé alert.

Étape 2 : Créer une intégration webhook

  1. Connectez-vous à la console Managed Service for Prometheus. Dans le volet de navigation de gauche, choisissez Alert Management > Notification Objects.

  2. Sélectionnez l'onglet Webhook integration, cliquez sur Create webhook en haut à droite, puis configurez les paramètres suivants dans le panneau Create webhook.

    Paramètre

    Description

    Webhook name

    Saisissez un nom personnalisé pour le webhook.

    Méthode de requête

    Sélectionnez la méthode de requête (POST ou GET) et saisissez une URL commençant par http:// ou https://. L'URL ne doit pas dépasser 100 caractères.

    Pour cet exemple, sélectionnez POST et collez l'URL du webhook obtenue à l'Étape 1 : Obtenir une URL de webhook dans la zone de texte à droite.

    En-tête, paramètre

    Définissez l'en-tête de requête et les paramètres. Chaque en-tête et paramètre ne doit pas dépasser 200 caractères.

    Cliquez sur + Add pour ajouter d'autres en-têtes ou paramètres. L'en-tête de requête par défaut est Content-Type: text/plain; charset=UTF-8. Le nombre total d'en-têtes et de paramètres ne peut pas dépasser six.

    Pour cet exemple, définissez les deux en-têtes suivants :

    • Arms-Content-Type : json

    • Content-Type : application/json

    Si vous sélectionnez POST comme méthode de requête, vous devez également configurer les paramètres suivants.

    Notification template

    Modèle pour les notifications d'alertes déclenchées. Vous pouvez utiliser l'espace réservé $content pour afficher le contenu de la notification. Le modèle ne doit pas dépasser 500 caractères. Pour plus d'informations, consultez la rubrique Configurer les modèles de notification et les modèles webhook.

    Voici un exemple de modèle de notification :

    {
    "Alert name":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "Cluster name":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "Application name":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "Notification policy":"{{ .dispatchRuleName }}",
    "Alert time":"{{ .startTime }}",
    "Alert content":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    Pour l'exemple avec Lark, vous pouvez définir le format de texte suivant :

    {
      "msg_type": "text",
      "content": {
        "text": "Alert name: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}Cluster name: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Application name: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Notification policy: {{ .dispatchRuleName }} \nAlert time: {{ .startTime }} \nAlert content: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }

    Template to Clear Alerts

    Modèle pour les notifications envoyées lors de la résolution d'une alerte. Vous pouvez utiliser l'espace réservé $content pour afficher le contenu de la notification. Le modèle ne doit pas dépasser 500 caractères. Pour plus d'informations, consultez la rubrique Configurer les modèles de notification et les modèles webhook.

    Voici un exemple :

    {
    "Alert name":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "Cluster name":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "Application name":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "Notification policy":"{{ .dispatchRuleName }}",
    "Recovery time":"{{ .endTime }}",
    "Alert content":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    Pour l'exemple avec Lark, vous pouvez définir le format de texte suivant :

    {
      "msg_type": "text",
      "content": {
        "text": "Alert name: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}Cluster name: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Application name: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Recovery time: {{ .startTime }} \nNotification policy: {{ .dispatchRuleName }} \nResolved alert content: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }
  3. (Facultatif) Cliquez sur Test pour vérifier votre configuration.

  4. Cliquez sur OK.

Étape 3 : Configurer une politique de notification

Créez ou modifiez une politique de notification. Pour les Notification objects, sélectionnez Universal webhook, puis choisissez l'intégration webhook que vous avez créée. Pour plus d'informations, consultez la rubrique Politique de notification.

Remarque

Le délai d'expiration d'une requête webhook est de 5 secondes. Si l'endpoint ne répond pas dans ce délai, la livraison de la notification échoue.