Tous les produits
Search
Centre de documentation

Simple Log Service:Variables dans les modèles d'alerte

Dernière mise à jour :Aug 19, 2026

Utilisez des variables dans les modèles d'alerte pour remplir dynamiquement le contenu et l'objet des notifications.

Référence des variables

Important
  • Les noms de variables doivent correspondre exactement.

    • Si une variable n'existe pas ou si la référence est invalide, la valeur par défaut est une chaîne vide.

    • Les objets référencés sont convertis en chaînes JSON.

  • Les noms de variables peuvent contenir des lettres, des chiffres et des traits de soulignement (_), mais ne doivent pas commencer par un chiffre.

    • Si un nom de variable respecte ces règles, vous pouvez récupérer sa valeur à l'aide de la notation par point, par exemple {{alert.xxx}}.

    • Si un nom de variable contient des caractères spéciaux, tels que __tag__:__namespace__, vous devez utiliser la notation entre crochets pour récupérer sa valeur, par exemple {{alert.annotations["__tag__:__namespace__"] }}.

Lorsque vous configurez une politique d'action, sélectionnez un modèle d'alerte qui définit le contenu et l'objet de la notification. Dans les champs Send Content et Subject/Title, faites référence aux variables du modèle en utilisant la syntaxe {{ alert.xxx }}. Simple Log Service (SLS) remplace chaque variable par sa valeur réelle lors de l'envoi des notifications. Par exemple, {{ alert.project }} est remplacé par le nom du projet de la règle d'alerte.

Par exemple, dans un modèle de canal DingTalk, définissez l'Objet sur SLS Alert et utilisez des variables telles que {{ alert.aliuid }}, {{ alert.project }}, {{ alert.alert_name }} et {{ alert.severity }} dans le Contenu pour inclure l'ID du compte, le nom du projet, le nom de la règle d'alerte et la gravité.

Vous pouvez également utiliser le flux de contrôle et les fonctions intégrées pour traiter les données des variables. Pour plus d'informations, consultez Syntaxe des modèles d'alerte (Nouveau) et Fonctions de modèle intégrées.

Attributs d'alerte

Paramètre

Description

Type

Valeur

Exemple de référence

aliuid

ID du compte Alibaba Cloud du projet.

string

117918634953****

La règle d'alerte pour l'utilisateur {{ alert.aliuid }} a été déclenchée.

alert_instance_id

ID de l'instance qui a déclenché l'alerte.

string

ee16a8f435485f3f-5be6b81edc520-3d6****

L'ID de l'instance est {{ alert.alert_instance_id }}.

alert_id

ID unique de la règle d'alerte au sein du projet.

string

alert-12345

L'ID de la règle d'alerte est {{ alert.alert_id }}.

alert_name

Nom de la règle d'alerte.

string

Règle d'alerte de test

La règle d'alerte {{ alert.alert_name }} a été déclenchée.

alert_type

Type d'alerte.

  • sls_alert : L'alerte est déclenchée par une règle de surveillance d'alerte.

  • sls_pub : L'alerte est une alerte ouverte provenant d'un système externe.

  • sls_ml : L'alerte est déclenchée par une inspection intelligente.

string

sls_alert

Le type d'alerte est {{ alert.alert_type }}, formaté comme {{ alert.alert_type | format_type }}.

region

Région où l'alerte a été déclenchée.

string

cn-hangzhou

L'alerte a été déclenchée dans la région {{ alert.region }}.

project

Projet auquel appartient la règle d'alerte.

string

my-project

Une règle d'alerte a été déclenchée dans le projet {{ alert.project }}.

next_eval_interval

Prochain intervalle d'évaluation, en secondes.

int

300

Prochaine évaluation dans {{ alert.next_eval_interval }} secondes.

alert_time

Horodatage UTC de l'évaluation actuelle.

int

1616744734

L'heure d'évaluation actuelle est {{ alert.alert_time }}, formatée comme {{ alert.alert_time | format_date }}.

fire_time

Horodatage UTC du premier déclenchement de l'alerte.

int

1616059834

L'alerte s'est d'abord déclenchée à {{ alert.fire_time }}, formaté comme {{ alert.fire_time | format_date }}.

status

État actuel de l'alerte.

  • firing : L'alerte est active.

  • resolved : L'alerte est résolue.

string

firing

L'état de l'alerte est {{ alert.status }}, formaté comme {{ alert.status | format_status }}.

resolve_time

Horodatage UTC de la résolution de l'alerte.

  • Si l'état de l'alerte est firing, la valeur est 0.

  • Si l'état de l'alerte est resolved, la valeur correspond à l'heure de résolution.

int

0

L'alerte a été résolue à {{ alert.resolve_time }}, formaté comme {{ alert.resolve_time | format_date }}.

severity

Gravité de l'alerte.

  • 10 : Critique

  • 8 : Élevée

  • 6 : Moyenne

  • 4 : Faible

  • 2 : Rapport

int

10

La gravité de l'alerte est {{ alert.severity }}, formatée comme {{ alert.severity | format_severity }}.

labels

Ensemble de libellés clé-valeur définis par l'utilisateur.

map

{"env":"test"}

Les libellés de l'alerte sont {{ alert.labels | to_list }}.

annotations

Ensemble d'annotations clé-valeur définies par l'utilisateur.

map

{ "title": "Titre de l'alerte","desc": "Description de l'alerte" }

Les annotations de l'alerte sont {{ alert.annotations | to_list }}.

results

Tableau des paramètres de requête et des résultats intermédiaires. Pour plus d'informations sur les valeurs de cette variable, consultez Structure QueryData.

array

Voir l'annexe à la fin de cette rubrique.

L'heure de début de la première requête est {{ alert.results[0].start_time }}, l'heure de fin est {{ alert.results[0].end_time }}, le nombre est {{ alert.results[0].fire_result.cnt }} et la requête est {{ alert.results[0].query }}.

fire_results

Données ayant déclenché l'alerte, correspondant au résultat de l'opération d'ensemble. Un maximum de 100 lignes est renvoyé.

Si la taille de la variable fire_results dépasse 2 Ko, ou si le contenu d'un seul champ dépasse 1 Ko, les données sont tronquées. Pour savoir comment gérer les données tronquées, consultez Que faire si une alerte est déclenchée par trop de journaux et que la notification affiche des informations incomplètes ?

array

Voir l'annexe à la fin de cette rubrique.

Les données ayant déclenché l'alerte sont {{ alert.fire_results | to_json }}.

fire_results_count

Nombre total de lignes de données ayant déclenché l'alerte. Cette valeur peut être supérieure à 100, par exemple après une opération de produit cartésien.

int

3

L'alerte a été déclenchée par {{ alert.fire_results_count }} lignes de données.

condition

Expression d'évaluation ayant déclenché l'alerte, avec les variables remplacées par leurs valeurs de déclenchement réelles entre crochets []. Le format est Count:Expression;Condition:Expression.

string

Count:[5] > 3;Condition:[example.com]=='example.com'

L'expression d'évaluation de l'alerte est {{ alert.condition }}.

raw_condition

Expression d'évaluation d'origine, sans remplacement des variables par leurs valeurs réelles. Le format est Count:Expression;Condition:Expression.

string

Count:__count__ > 3;Condition:host=='example.com'

L'expression d'évaluation d'origine est {{ alert.raw_condition }}.

policy

Politique d'alerte ou politique d'action. Pour plus d'informations sur les valeurs de cette variable, consultez Structure Policy.

map

Voir l'annexe à la fin de cette rubrique.

L'ID de la politique d'alerte est {{ alert.policy.alert_policy_id }}.

dashboard

Nom du tableau de bord associé à l'alerte.

string

mydashboard

Le tableau de bord associé est {{ alert.dashboard }}.

alert_url

URL de la page de détails de l'alerte.

string

https://sls.console.alibabacloud.com/lognext/project/test-xxxx/alert/alert-1617164106-940166

L'URL de l'alerte est {{ alert.alert_url }}.

query_url

URL de la page de recherche de la première requête.

string

https://sls.console.alibabacloud.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcyBjbn****&queryTimeType=99&startTime=1617175089

L'URL de la première page de requête est {{ alert.query_url }}.

alert_history_dashboard_url

URL du tableau de bord Statistiques de l'historique des alertes.

string

https://sls.console.alibabacloud.com/lognext/project/test-xx/dashboard/internal-alert-analysis

L'URL du tableau de bord Statistiques de l'historique des alertes est {{ alert.alert_history_dashboard_url }}.

dashboard_url

URL du tableau de bord associé à l'alerte.

string

https://sls.console.alibabacloud.com/next/project/myproject/dashboard/mydashboard

L'URL du tableau de bord associé est {{ alert.dashboard_url }}.

fingerprint

Empreinte digitale de l'alerte. Pour plus d'informations, consultez Déduplication des alertes basée sur les empreintes digitales.

string

478325709134bc5c

L'empreinte digitale de l'alerte est {{ alert.fingerprint }}.

signin_url

URL permettant de consulter les détails de l'alerte sans se connecter à la console. Pour plus d'informations, consultez Afficher les détails d'une alerte sans connexion.

string

https://sls.console.alibabacloud.com/console/AlertAjax/slsSignIn.json?token=xxxx

Voir les détails

Structure Policy

La variable policy contient les champs suivants.

Paramètre

Description

Type

Exemple de valeur

alert_policy_id

ID de la politique d'alerte.

string

sls.test-alert

action_policy_id

ID de la politique d'action configurée pour la règle d'alerte. Disponible uniquement lorsque la règle d'alerte utilise une politique d'action dynamique.

string

sls.test-action

repeat_interval

Intervalle de renvoi des notifications pour une alerte active. Disponible uniquement lorsque la règle d'alerte utilise une politique d'action dynamique.

string

4h

Structure des données de requête

La variable results contient les champs suivants.

Paramètre

Description

Type

Valeur

store_type

Type de stockage. Les valeurs valides sont :

  • log : Données de journal.

  • metric : Données de métriques.

  • meta : Données de ressources.

string

log

region

Région où se trouve le magasin de destination.

Cette variable est vide si la valeur de store_type est meta.

string

cn-hangzhou

project

Projet où se trouve le magasin de destination.

Cette variable est vide si la valeur de store_type est meta.

string

sls-test-alert

store

Nom du magasin de destination.

string

test-LogStore

query

Instruction de requête.

string

error | select count(1) as cnt

start_time

Heure de début de la requête, spécifiée sous forme d'horodatage UTC.

Cette variable est vide si la valeur de store_type est meta.

int

1616741485

end_time

Heure de fin de la requête, spécifiée sous forme d'horodatage UTC.

Cette variable est vide si la valeur de store_type est meta.

int

1616745085

raw_results

Tableau des résultats de la requête, contenant jusqu'à 100 lignes.

Si la variable raw_results dépasse 2 Ko, ou si un champ des résultats dépasse 1 Ko, les données excédentaires sont tronquées.

array

[{
    "host": "example.com",
    "slbid": "slb-02",
    "status": "200"
}, {
    "host": "example.com",
    "slbid": "slb-01",
    "status": "200"
}]

raw_results_count

Nombre total de lignes dans l'ensemble de résultats, qui peut être supérieur à 100.

int

20

fire_result

Premier enregistrement du résultat de déclenchement de l'alerte, même si l'ensemble de résultats contient plusieurs enregistrements.

map

{
    "host": "example.com",
    "slbid": "slb-02",
    "status": "200"
}

query_url

URL de la page de requête dans la console.

Cette variable est vide si la valeur de store_type est meta.

string

https://sls.console.alibabacloud.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcy***&queryTimeType=99&startTime=1617175089

dashboard_url

URL du tableau de bord associé à la requête.

string

https://sls.console.alibabacloud.com/next/project/myproject/dashboard/mydashboard

role_arn

Nom de ressource Alibaba Cloud (ARN) du rôle de service.

string

acs:ram::117918634953****:role/aliyunslsalertmonitorrole

FAQ

Annexe

  • Exemple pour results :

    [{
        "store_type": "log",
        "region": "cn-hangzhou",
        "project": "sls-alert-test",
        "store": "test",
        "query": "* | select count(1) as cnt",
        "start_time": 1616741485,
        "end_time": 1616745085,
        "dashboard_id": "mydashboard",
        "raw_results": [{
            "cnt": "4"
        }],
        "raw_result_count": 1,
        "fire_result": {
            "cnt": "4"
        },
        "truncated": false,
        "role_arn": ""
    }]
  • Exemple pour fire_results :

    [{
        "host": "example.com",
        "host__1": "example.com",
        "pv": "836",
        "slbid": "slb-02",
        "status": "200"
    }, {
        "host": "example.com",
        "host__1": "example.com",
        "pv": "836",
        "slbid": "slb-02",
        "status": "200"
    }]
  • Exemple pour policy :

    {
        "alert_policy_id": "sls.test-alert",
        "action_policy_id": "sls.test-action",
        "repeat_interval": "5m0s"
    }

Exemple

L'exemple suivant définit le contenu de la notification à l'aide du nouveau modèle de contenu :

  • Contenu de l'alerte :

    {
        "alert_id": "test-alert",
        "alert_name": "PV/UV Alert",
        "project": "project-1",
        "status": "firing",
        "severity": 6,
        "labels": {
            "app": "nginx",
            "host": "host-1"
        },
        "results": [
            {
                "project": "project-1",
                "logstore": "logstore-1",
                "query": "* | select count(*) as pv"
            },
            {
                "project": "project-2",
                "logstore": "logstore-2",
                "query": "* | select count(distinct user_id) as uv"
            }
        ]
    }
  • Configuration du modèle d'alerte :

    - Alert ID: {{ alert.alert_id }}
    - Alert Name: {{ alert.alert_name }}
    - Project: {{ alert.project }}
    - Status: {% if alert.status == "firing" %}FIRING{% else %}RESOLVED{% endif %}
    - Labels:
    {%- for key, val in alert.labels.items() %}
        - {{ key }}: {{ val }}
    {%- endfor %}
    - Query: {{ alert.results[0].query }}
  • Résultat de sortie :

    - Alert ID: test-alert
    - Alert Name: PV/UV Alert
    - Project: project-1
    - Status: FIRING
    - Labels:
        - app: nginx
        - host: host-1
    - Query: * | select count(*) as pv