Tous les produits
Search
Centre de documentation

Simple Log Service:FAQ sur les webhooks personnalisés

Dernière mise à jour :Aug 19, 2026

Cette rubrique répond aux questions fréquemment posées concernant les webhooks personnalisés.

Comment configurer un modèle d'alerte ?

Pour envoyer des notifications d'alerte via un webhook personnalisé, nous vous recommandons de structurer le contenu de votre modèle d'alerte au format JSON valide. Le résultat du rendu sera ainsi un JSON valide.

Prenons l'exemple d'un modèle d'alerte pour le message suivant. Dans ce message, la valeur du champ alert.annotations.message contient des guillemets doubles (""). Si vous référencez directement le champ {{ alert.annotations.message }}, le rendu produit un format JSON invalide, ce qui empêche l'envoi des notifications d'alerte.

Utilisez la fonction intégrée quote(value) dans vos modèles d'alerte pour référencer ce champ. Cela évite les erreurs de format JSON causées par des caractères spéciaux.

  • Exemple de message d'alerte

    {
        "project": "test-alert",
        "region": "cn-hangzhou",
        "labels": {
            "service": "signin",
            "env": "prod"
        },
        "annotations": {
            "message": "user \"xxx\" signin failed, error is: userNotFound"
        }
    }
  • Exemple de modèle d'alerte

    {
        "project": "{{ alert.project }}",
        "service": "{{ alert.labels.service }}",
        "message": {{ alert.annotations.message | quote }}
    }
  • Exemple de résultat après le rendu

    {
        "project": "test-alert",
        "service": "signin",
        "message": "user \"xxx\" signin failed, error is: userNotFound"
    }

Comment sélectionner un réseau ?

Le système d'alerte de Simple Log Service envoie les notifications d'alerte basées sur des webhooks uniquement via Internet. Si vous utilisez un système interne et ne souhaitez pas lui ouvrir l'accès à Internet, recourez à un proxy Internet. Le schéma ci-dessous illustre l'architecture réseau.

image

Comment vérifier les autorisations d'accès ?

Pour vérifier les autorisations d'accès, configurez une liste blanche d'adresses IP ou un en-tête HTTP.

  • Configurez une liste blanche d'adresses IP pour votre webhook et ajoutez-y les adresses 120.76.47.88 et 119.23.150.175.

  • Configurez un en-tête HTTP.

    • Utilisez un jeton personnalisé. Définissez le paramètre Request Header sur Authorization: Bearer token. Remplacez token par votre jeton personnalisé.

    • Utilisez l'authentification de base. Définissez le paramètre Request Header sur Authorization: Basic $(base64_encode(username:password)). Remplacez username et password par votre nom d'utilisateur et votre mot de passe réels.

Par exemple, si votre webhook utilise le proxy inverse NGINX, configurez l'authentification de base dans NGINX pour vérifier les autorisations d'accès.

  1. Configurez l'authentification de base dans NGINX.

    1. Ajoutez un utilisateur au fichier de mots de passe.

      Important

      Si le fichier conf/passwd n'existe pas, créez un fichier de mots de passe.

      Les exemples suivants utilisent le nom d'utilisateur admin et le mot de passe foobar.

      htpasswd -b conf/passwd admin foobar
    2. Configurez les paramètres auth_basic et auth_basic_user_file dans NGINX pour activer l'authentification de base.

      location / {
          auth_basic  on;
          auth_basic_user_file  conf/passwd;
          root   html;
          index  index.html index.htm;
      }
    3. Redémarrez NGINX.

  2. Configurez un webhook personnalisé dans une politique d'action.

    La commande echo -n admin:foobar | base64 renvoie YWRtaW46Zm9vYmFy. Lors de la configuration d'un webhook personnalisé, définissez donc le paramètre Request Header sur Authorization: Basic YWRtaW46Zm9vYmFy. Pour plus d'informations, consultez la rubrique Webhook-Custom.