Tous les produits
Search
Centre de documentation

Simple Log Service:Référence du contenu des journaux dans les notifications d'alerte

Dernière mise à jour :Sep 22, 2026

Utilisez les variables annotations, fire_results et results dans un modèle d'alerte pour inclure les données de requête de journal dans les notifications d'alerte.

Simple Log Service (SLS) peut intégrer directement les détails de l'alerte dans les notifications, afin que vous disposiez d'un contexte exploitable dès la réception de l'alerte. Pour inclure des données de journal dans une notification, configurez les paramètres requis lors de la création d'une règle de surveillance d'alerte, puis référencez la variable annotations, fire_results ou results dans le modèle d'alerte. Pour plus d'informations, consultez la rubrique Variables dans les modèles d'alerte.

Ces trois variables ont des objectifs distincts :

Variable

Contenu

Cas d'utilisation recommandé

annotations

Paires clé-valeur définies par l'utilisateur, ainsi que deux valeurs par défaut SLS (title, desc)

Résumer le contexte de l'alerte sous une forme lisible

fire_results

Les lignes de données brutes ayant déclenché l'alerte

Lister tous les enregistrements correspondants en un coup d'œil

results

Métadonnées complètes de la requête, résultats bruts et ligne déclencheuse

Débogage ou création de contenu de notification détaillé

  • annotations : les annotations d'une alerte

  • fire_results : les enregistrements de données pour lesquels une alerte est déclenchée

  • results : les paramètres de requête et les résultats intermédiaires

Par exemple, pour surveiller les erreurs d'accès NGINX, exécutez la requête suivante afin d'obtenir le code d'état HTTP, l'adresse IP source et le nombre d'erreurs. Créez ensuite une règle de surveillance d'alerte et référencez ces données dans le modèle d'alerte. Lorsqu'un code d'état atteint 400 ou plus, SLS envoie une notification incluant le code d'état, l'IP source et le compteur.

  • Instruction de requête

    status >=400 | SELECT status, __source__ AS ip, count(*) AS cnt GROUP BY status,ip
  • Résultats de la requête Query results

Utilisation de la variable annotations

Ajoutez la variable annotations à un modèle d'alerte pour inclure les paires clé-valeur d'annotation dans les notifications d'alerte.

  • Règle de surveillance d'alerte

    Ajoutez manuellement des paires clé-valeur d'annotation ou activez Auto-Add Annotations pour permettre à SLS de les remplir automatiquement lorsque l'alerte se déclenche. Pour plus d'informations, consultez la rubrique Annotations.

    Remarque

    SLS fournit deux annotations par défaut.

    Par exemple, pour inclure le code d'état, l'IP source et le nombre d'erreurs dans les messages d'alerte, ajoutez des annotations telles que status:${status}, ip:${ip} et cnt:${cnt}.

    • Ajout manuel d'informations sur les annotations image

    • Activation de l'option Auto-Add Annotations pour ajouter automatiquement des informations sur les annotations image

  • Message d'alerte

    Après le déclenchement d'une alerte, SLS génère un message d'alerte contenant les annotations que vous avez configurées :

    {
        "annotations": {
            "title": "Alert is triggered by an NGINX access error",
            "desc": "The error that is indicated by the status code 400 occurred 15 times"
            "status": "400"
            "ip": "127.0.0.1"
            "cnt": "15"
            "__count__": "1"
        }
    }
  • Modèle d'alerte

    Ajoutez la variable annotations au modèle d'alerte pour référencer un contenu de journal spécifique dans les notifications. Pour plus d'informations sur la création d'un modèle d'alerte, consultez la rubrique Create an alert template.

    Alert template

Utilisation de la variable fire_results

Ajoutez la variable fire_results à un modèle d'alerte pour lister chaque ligne de données ayant déclenché l'alerte.

  • Règle de surveillance d'alerte

    SLS génère des messages d'alerte basés sur la règle de surveillance d'alerte que vous créez. image

  • Message d'alerte

    Après le déclenchement d'une alerte, SLS génère un message d'alerte contenant toutes les lignes correspondant à la condition de déclenchement — dans cet exemple, le code d'état, l'IP source et le nombre d'erreurs pour chaque ligne correspondante.

    {
        "fire_results": [
            { "status": "401", "ip": "127.0.0.1", "cnt": "3" },
            { "status": "400", "ip": "127.0.0.1", "cnt": "7" },
            { "status": "501", "ip": "127.0.0.1", "cnt": "4" },
            { "status": "404", "ip": "127.0.0.1", "cnt": "4" },
            { "status": "402", "ip": "127.0.0.1", "cnt": "6" },
            null
        ]
    }
  • Modèle d'alerte

    Ajoutez la variable fire_results au modèle d'alerte pour référencer un contenu de journal spécifique dans les notifications. Pour plus d'informations sur la création d'un modèle d'alerte, consultez la rubrique Create an alert template.

    Alert template

Utilisation de la variable results

Ajoutez la variable results à un modèle d'alerte pour inclure le contexte complet de la requête dans les notifications d'alerte.

  • Règle de surveillance d'alerte

    SLS génère des messages d'alerte basés sur la règle de surveillance d'alerte que vous créez. image

  • Message d'alerte

    Après le déclenchement d'une alerte, SLS génère un message d'alerte contenant le contexte complet de la requête.

    Remarque

    Si une règle de surveillance d'alerte contient plusieurs instructions de requête, le tableau results/@parmname contient plusieurs éléments. Chaque élément correspond à une instruction de requête.

    {
        "results": [{
            "store_type": "log",
            "region": "cn-hangzhou",
            "project": "test-alert",
            "store": "nginx-access-log",
            "query": "status >= 400 | select status, __source__ as ip, count(*) as cnt group by status, ip",
            "start_time": 1640006894,
            "end_time": 1640007014,
            "dashboard_id": "",
            "raw_results": [
                { "status": "401", "ip": "127.0.0.1", "cnt": "3" },
                { "status": "400", "ip": "127.0.0.1", "cnt": "7" },
                { "status": "501", "ip": "127.0.0.1", "cnt": "4" },
                { "status": "404", "ip": "127.0.0.1", "cnt": "4" },
                { "status": "402", "ip": "127.0.0.1", "cnt": "6" },
                null
            ],
            "raw_result_count": 6,
            "fire_result": {
                "status": "401",
                "ip": "127.0.0.1",
                "cnt": "3"
            },
            "has_sql": true,
            "truncated": false,
            "role_arn": ""
        }]
    }

    Chaque élément du tableau results contient les champs suivants :

    Champ

    Description

    store_type

    Type de magasin de données interrogé, par exemple log

    region

    Région du projet

    project

    Nom du projet SLS

    store

    Nom du Logstore

    query

    Instruction de requête exécutée

    start_time

    Heure de début de la requête (horodatage Unix)

    end_time

    Heure de fin de la requête (horodatage Unix)

    dashboard_id

    ID du tableau de bord associé, le cas échéant

    raw_results

    Toutes les lignes renvoyées par la requête

    raw_result_count

    Nombre total de lignes dans raw_results

    fire_result

    Ligne spécifique ayant déclenché l'alerte

    has_sql

    Indique si la requête contient une instruction d'analyse SQL

    truncated

    Indique si l'ensemble de résultats a été tronqué

    role_arn

    ARN du rôle RAM utilisé pour la requête, le cas échéant

  • Modèle d'alerte

    Ajoutez la variable results au modèle d'alerte pour référencer un contenu de journal spécifique dans les notifications. Pour plus d'informations sur la création d'un modèle d'alerte, consultez la rubrique Create an alert template.

    Alert template

Variables de modèle

Lorsque vous référencez une variable au format JSON dans un modèle d'alerte — par exemple, {{ alert.results[0].raw_results | to_json }} — la valeur apparaît sous forme de chaîne JSON dans la notification. Utilisez une boucle pour afficher les résultats multilignes ligne par ligne. Pour plus d'informations, consultez la rubrique Syntax for new alert templates.

{%- for result in alert.fire_results %}
- status: {{ result.status }}, count: {{ result.cnt }}
{%- endfor %}

SLS fournit des fonctions intégrées pour formater le contenu des notifications. Pour plus d'informations, consultez les rubriques Syntax for new alert templates et Built-in template functions.