Tous les produits
Search
Centre de documentation

Simple Log Service:Fonctions de modèle intégrées

Dernière mise à jour :Aug 08, 2026

Les fonctions intégrées pour les modèles de contenu vous permettent de manipuler les données et d'enrichir le format et le style de vos notifications. Cette rubrique décrit la syntaxe et fournit des exemples de ces fonctions intégrées.

Fonctions générales

Fonctions mathématiques

Fonction

Description

Filter

Exemple

float(value, default=0.0)

Convertit un entier ou une chaîne en nombre à virgule flottante.

En cas d'échec de la conversion, la fonction renvoie par défaut 0,0. Utilisez le paramètre default pour spécifier une valeur de retour différente en cas d'échec.

Pris en charge

  • Le résultat de {{ float("123") }} est 123,0.

  • Le résultat de {{ float("foo") }} est 0,0.

  • Le résultat de {{ float("foo", default=1.23) }} est 1,23.

int(value, default=0)

Convertit une chaîne ou un nombre en entier.

En cas d'échec de la conversion, la fonction renvoie par défaut 0. Utilisez le paramètre default pour spécifier une valeur de retour différente en cas d'échec.

Support

  • Le résultat de {{ int(1.23) }} est 1.

  • Le résultat de {{ int("1.23") }} est 1.

  • Le résultat de {{ int("foo") }} est 0.

  • Le résultat de {{ int("foo", default=5) }} est 5.

length(value)

Renvoie la longueur ou le nombre d'éléments d'un objet, tel qu'une chaîne, une liste ou un tuple.

Pris en charge

  • Le résultat de {{ length("foo") }} est 3.

  • Le résultat de {{ length([1, 2]) }} est 2.

  • Le résultat de {{ length({"foo": "bar"}) }} est 1.

abs(value)

Renvoie la valeur absolue d'un nombre.

Support

Le résultat de {{ abs(-1) }} est 1.

min(value)

Renvoie la valeur minimale.

Support

Le résultat de {{ min([1, 3, 2]) }} est 1.

max(value)

Renvoie la valeur maximale.

Pris en charge

Le résultat de {{ max([1, 3, 2]) }} est 3.

ceil(value)

Arrondit un nombre à l'entier supérieur le plus proche.

Support

Le résultat de {{ ceil(1.23) }} est 2.

floor(value)

Arrondit un nombre à l'entier inférieur le plus proche.

Pris en charge

Le résultat de {{ floor(1.23) }} est 1.

round(value, 1)

Arrondit un nombre à l'entier le plus proche.

L'argument spécifie le nombre de décimales à conserver. Par exemple, 1 conserve une décimale.

Support

  • Le résultat de {{ round(1.23) }} est 1.

  • Le résultat de {{ round(1.56) }} est 2.

  • Le résultat de {{ round(1.56, 1) }} est 1,6.

sum(value)

Calcule la somme.

Pris en charge

Le résultat de {{ sum([1, 2, 3]) }} est 6.

String functions

Fonction

Description

Filtre

Exemple

string(value)

Convertit un objet en chaîne de caractères.

Prise en charge

Le résultat de {{ string(1.23) }} est 1.23.

Dans ce cas, 1.23 est une chaîne de caractères.

capitalize(value)

Met la première lettre d'une chaîne en majuscule et les autres en minuscules.

Prise en charge

Le résultat de {{ capitalize("heLLO World") }} est Hello world.

lower(value)

Convertit une chaîne en minuscules.

Prise en charge

Le résultat de {{ lower("FOO") }} est foo.

upper(value)

Convertit une chaîne en majuscules.

Prise en charge

Le résultat de {{ upper("foo") }} est FOO.

title(value)

Renvoie une version de la chaîne avec la première lettre de chaque mot en majuscule et le reste en minuscules.

Prise en charge

Le résultat de {{ title("hello world") }} est Hello World.

trim(value)

Supprime les espaces au début et à la fin d'une chaîne.

Prise en charge

Le résultat de {{ trim(" foo\n") }} est foo.

replace(value, old, new)

Remplace une sous-chaîne dans une chaîne.

Non pris en charge

Le résultat de {{ replace("foo", "oo", "ly") }} est fly.

wordcount(value)

Compte le nombre de mots dans une chaîne.

Prise en charge

Le résultat de {{ wordcount("hello world") }} est 2.

truncate(value, n, end='')

Tronque une chaîne.

  • Utilisez truncate(value, n) pour spécifier le nombre de caractères à conserver.

  • Utilisez truncate(value, n, end='...') pour spécifier un suffixe à ajouter.

Non pris en charge

  • Le résultat de {{ truncate("foo bar", 5) }} est foo b.

  • Le résultat de {{ truncate("foo bar", 5, end="...") }} est foo b....

quote(value)

Entoure une chaîne de guillemets doubles ("").

Prise en charge

  • Le résultat de {{ quote(123) }} est "123"

  • Le résultat de {{ quote("foo") }} est "foo".

indent(value, n=4)

Ajoute une indentation à chaque ligne d'une chaîne. L'indentation par défaut est de 4 espaces.

Utilisez le paramètre n pour spécifier le nombre d'espaces pour l'indentation.

Prise en charge

  • Le résultat de {{ "foobar\n" }}{{ indent("foo\nbar") }} est le suivant :

    foobar
            foo
            bar
  • Le résultat de {{ "foobar\n" }}{{ indent("foo\nbar", 2) }} est le suivant :

    foobar
          foo
          bar

startswith(value, prefix)

Vérifie si une chaîne commence par un préfixe spécifique.

Prise en charge

Le résultat de {{ startswith("football", "foo") }} est true.

endswith(value, suffix)

Vérifie si une chaîne se termine par un suffixe spécifique.

Prise en charge

Le résultat de {{ endswith("football", "all") }} est true.

removeprefix(value, prefix)

Supprime le préfixe d'une chaîne.

Prise en charge

Le résultat de {{ removeprefix("football", "foot") }} est ball.

removesuffix(value, suffix)

Supprime le suffixe d'une chaîne.

Prise en charge

Le résultat de {{ removesuffix("football", "ball") }} est foot.

split(value, sep=None, maxsplit=-1)

Divise une chaîne.

  • Utilisez le paramètre sep pour spécifier le séparateur.

  • Utilisez le paramètre maxsplit pour limiter le nombre de divisions.

    Si le paramètre maxsplit n'est pas spécifié ou est défini sur -1, il n'y a aucune limite au nombre de divisions.

Prise en charge

  • Le résultat de {{ split('a b c ') }} est ['a', 'b', 'c'].

  • Le résultat de {{ split('a-b-c', sep='-') }} est ['a', 'b', 'c'].

  • Le résultat de {{ split('a-b-c', sep='-', maxsplit=1) }} est ['a', 'b-c'].

  • Le résultat de {{ split('a<>b<>c', sep='<>') }} est ['a', 'b', 'c'].

List and object functions

Fonction

Description

Filtre

Exemple

enumerate(value)

Associe chaque élément d'un itérable à son index et renvoie une liste de tuples (index, élément).

Non pris en charge

Le résultat de {{ enumerate(["foo", "bar"]) }} est [(0, 'foo'), (1, 'bar')].

list(value)

Convertit un objet itérable en liste.

Prise en charge

  • Le résultat de {{ list(("foo", "bar")) }} est ['foo', 'bar'].

  • Le résultat de {{ list("foo") }} est ['f', 'o', 'o'].

dict(value)

Crée un dictionnaire, de manière similaire à l'utilisation de {}.

Non pris en charge

Le résultat de {{ dict(foo=1, bar="hello") }} est {'foo': 1, 'bar': 'hello'}.

first(value)

Renvoie le premier élément d'une liste.

Prise en charge

Le résultat de {{ first([1, 2, 3]) }} est 1.

last(value)

Renvoie le dernier élément d'une liste.

Prise en charge

Le résultat de {{ last([1, 2, 3]) }} est 3.

sort(value, reverse=true)

Trie les éléments d'une liste.

Pour trier dans l'ordre inverse, spécifiez reverse=true.

Aide et support

  • Le résultat de {{ sort([3, 1, 2]) }} est [1, 2, 3].

  • Le résultat de {{ sort([3, 1, 2], reverse=true) }} est [3, 2, 1].

dictsort(value)

Trie les paires clé-valeur d'un objet par clé et renvoie un tableau des paires triées.

Prise en charge

  • Exemple du champ alert.labels

    {
        "host": "host-1",
        "app": "nginx"
    }
  • Configuration du modèle de contenu

    {%- for key, val in dictsort(alert.labels) %}
    {{ key }}: {{ val }}
    {%- endfor %}
  • Résultat

    app: nginx
    host: host-1

join(value, d='')

Concatène les éléments d'une liste avec un séparateur.

Utilisez le paramètre d pour spécifier le séparateur.

Prise en charge

  • Le résultat de {{ join([1, 2, 3]) }} est 123.

  • Le résultat de {{ join([1, 2, 3], ',') }} est 1,2,3.

Formatting functions

Function

Description

Filter

Example

escape_markdown(value)

Échappe les caractères Markdown spéciaux.

Support

Le résultat de {{ escape_markdown("__a__ b #c") }} est &#95;&#95;a&#95;&#95; &#42;&#42;b&#42;&#42; &#35;c.

escape_html(value)

Échappe les caractères HTML spéciaux.

Support

Le résultat de {{ escape_html("<div>") }} est &lt;div&gt;.

to_json(value)

Convertit un objet au format JSON.

Support

  • Le résultat de {{ to_json("foo") }} est "foo".

  • Le résultat de {{ to_json(1.23) }} est 1.23.

  • Le résultat de {{ to_json(True) }} est true.

  • Le résultat de {{ to_json(alert.labels) }} est {"host": "host-1", "app": "nginx"}.

parse_json(value)

Analyse une chaîne de caractères pour la convertir en structure de données JSON.

Support

  • Le résultat de {{ parse_json('{"foo": "bar"}').foo }} est bar.

  • Le résultat de {{ parse_json('[1, 2, 3]')[1] }} est 2.

Encoding and decoding functions

Function

Description

Filter

Example

base64_encoding(value)

Encode la valeur d'entrée en Base64.

Supported

Le résultat de {{ base64_encoding("foo") }} est Zm9v.

base64_decoding(value)

Décode la valeur d'entrée encodée en Base64.

Support

Le résultat de {{ base64_decoding("Zm9v") }} est foo.

md5_encoding(value)

Génère le hachage MD5 de la valeur d'entrée.

Support

Le résultat de {{ md5_encoding("foo") }} est acbd18db4cc2f85cedef654fccc4a4d8.

url_encoding(value)

Encode l'URL de la valeur d'entrée.

Support

Le résultat de {{ url_encoding("https://example.com?a=b&c=d") }} est https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd.

url_decoding(value)

Décode l'URL de la valeur d'entrée.

Support

Le résultat de {{ url_decoding("https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd") }} est https://example.com?a=b&c=d.

Date and time functions

Function

Description

Filter

Example

parse_date(value, fmt="%Y-%m-%d %H:%M:%S")

Convertit un horodatage Unix ou une chaîne formatée en objet datetime.

Utilisez le paramètre fmt pour spécifier le format de date et d'heure.

Support

  • Le résultat de {{ parse_date(1629820800) }} est 2021-08-25 00:00:00.

  • Le résultat de {{ parse_date("2021|08|25|00|00|00", fmt="%Y|%m|%d|%H|%M|%S") }} est 2021-08-25 00:00:00.

format_date(value, tz=None, fmt="%Y-%m-%d %H:%M:%S")

Formate une valeur datetime sous forme de chaîne.

Utilisez le paramètre fmt pour spécifier le format de sortie.

Si la valeur d'entrée n'est pas un objet date, la fonction la convertit d'abord en objet date avant de la formater. Pour plus d'informations sur les directives de formatage des dates, consultez les instructions de formatage des dates et heures. Pour plus d'informations sur les fuseaux horaires, consultez les fuseaux horaires.

Not supported

  • Le résultat de {{ format_date(1629820800) }} est 2021-08-25 00:00:00.

  • Le résultat de {{ format_date(1629820800, fmt="%Y/%m/%d %H:%M:%S") }} est 2021/08/25 00:00:00.

  • Le résultat de {{ format_date(1629820800, tz="UTC", fmt="%Y/%m/%d %H:%M:%S") }} est 2021/08/24 16:00:00.

timestamp(value)

Convertit une chaîne de date et d'heure en horodatage Unix.

Si la valeur d'entrée n'est pas un objet date, la fonction la convertit d'abord en objet date avant de renvoyer l'horodatage.

Supported

  • Le résultat de {{ timestamp("2021-08-25 00:00:00") }} est 1629820800.

  • Le résultat de {{ timestamp(parse_date("2021-08-25 00:00:00")) }} est 1629820800.

format_duration(value, locale='en-US', sep='')

Formate un intervalle de temps. L'unité de value est la seconde.

Utilisez le paramètre locale pour spécifier la langue. Pour connaître les valeurs valides du paramètre locale, consultez la section Valeurs valides pour le paramètre locale dans les fonctions d'alerte.

Support

  • Le résultat de {{ 10 | format_duration }} est 10s.

  • Le résultat de {{ 60 | format_duration }} est 1m.

  • Le résultat de {{ 3600 | format_duration }} est 1h.

  • Le résultat de {{ 86400 | format_duration }} est 1d.

  • Le résultat de {{ 100000 | format_duration }} est 1d3h46m40s.

  • Le résultat de {{ 100000 | format_duration(sep=",") }} est 1d,3h,46m,40s.

Fonctions d'alerte

Les fonctions d'alerte s'exécutent dans le contexte de l'alerte et s'adaptent à la configuration du modèle de contenu. Elles détectent automatiquement les éléments suivants :

Remarque

L'exécution des fonctions d'alerte dans différents contextes peut renvoyer des résultats différents.

  • Les propriétés de l'alerte, telles que la gravité et l'état de l'alerte actuelle.

  • La langue configurée dans le modèle de contenu, comme le chinois ou l'anglais.

  • Le canal de notification, tel que DingTalk ou l'e-mail.

Fonction

Description

Filtre

Exemple

format_type(alert.type, locale=None)

Convertit le type d'alerte en description textuelle.

Utilisez le paramètre locale pour spécifier la langue. Pour connaître les valeurs valides du paramètre locale, consultez la section Valeurs valides pour le paramètre locale dans les fonctions d'alerte.

Pris en charge

  • Le type d'alerte est sls_pub.

  • Configuration du modèle de contenu

    {{ format_type(alert.type) }}
  • Résultat

    • Si la langue du modèle de contenu est définie sur le chinois, le contenu de la notification est alert ingestion system.

    • Si la langue du modèle de contenu est définie sur l'anglais, le contenu de la notification est Pub Alert.

format_region(alert.region, locale=None)

Convertit la région de l'alerte en description textuelle.

Utilisez le paramètre locale pour spécifier la langue. Pour connaître les valeurs valides du paramètre locale, consultez la section Valeurs valides pour le paramètre locale dans les fonctions d'alerte.

Pris en charge

  • La région actuelle de l'alerte est cn-hangzhou.

  • Configuration du modèle de contenu

    {{ format_region(alert.region) }}
  • Résultat

    • Si la langue du modèle de contenu est définie sur le chinois, le contenu de la notification est China (Hangzhou).

    • Si la langue du modèle de contenu est définie sur l'anglais, le contenu de la notification est China (Hangzhou).

format_severity(alert.severity, locale=None)

Convertit la gravité de l'alerte en description textuelle avec une mise en forme colorée.

Remarque

Le texte coloré est pris en charge uniquement dans les notifications DingTalk, WeCom, par e-mail et via le Message Center.

Utilisez le paramètre locale pour spécifier la langue. Pour connaître les valeurs valides du paramètre locale, consultez la section Valeurs valides pour le paramètre locale dans les fonctions d'alerte.

Pris en charge

  • La gravité de l'alerte est 6.

  • Configuration du modèle de contenu

    {{ format_severity(alert.severity) }}
  • Résultat

    • Si la langue du modèle de contenu est définie sur le chinois, le contenu de la notification est Medium en police jaune.

    • Si la langue du modèle de contenu est définie sur l'anglais, le contenu de la notification est Medium en police jaune.

format_status(alert.status, locale=None)

Convertit l'état de l'alerte en description textuelle avec une mise en forme colorée.

Remarque

Le texte coloré est pris en charge uniquement dans les notifications DingTalk, WeCom, par e-mail et via le Message Center. Pour les autres canaux, la sortie reste inchangée.

Utilisez le paramètre locale pour spécifier la langue. Pour connaître les valeurs valides du paramètre locale, consultez la section Valeurs valides pour le paramètre locale dans les fonctions d'alerte.

Pris en charge

  • L'alerte actuelle est dans l'Firing state.

  • Configuration du modèle de contenu

    {{ format_status(alert.status) }}
  • Résultat

    • Si la langue du modèle de contenu est définie sur le chinois, le contenu de la notification est Firing en police rouge.

    • Si la langue du modèle de contenu est définie sur l'anglais, le contenu de la notification est Firing en police rouge.

to_list(value)

Convertit un tableau ou un objet en liste.

Pris en charge

  • Libellés d'alerte

    {
        "app": "nginx",
        "host": "host-1"
    }
  • Configuration du modèle de contenu

    {{ to_list(alert.labels) }}
  • Résultat

    • Si le contenu de la notification est au format Markdown, le résultat est le suivant :

      La fonction échappe automatiquement les caractères Markdown en fonction des exigences du canal de notification.

      - app: nginx
      - host: host&#45;1
    • Si le contenu de la notification est au format HTML, le résultat est le suivant :

      <ul>
        <li>app: nginx</li>
        <li>host: host-1</li>
      </ul>
    • Si le contenu de la notification est au format texte brut, le résultat est le suivant :

      [app: nginx][host: host-1]

annotations_to_list(alert.annotations, locale=None)

Convertit les annotations d'alerte en liste. Cette fonction fonctionne comme to_list(alert.annotations), mais mappe automatiquement les noms de champs standard vers des libellés lisibles. Par exemple, elle convertit le champ title en Title ou Title. Pour obtenir la liste des noms standard, consultez la section Mappages des champs d'annotation d'alerte.

Utilisez le paramètre locale pour spécifier la langue. Pour connaître les valeurs valides du paramètre locale, consultez la section Valeurs valides pour le paramètre locale dans les fonctions d'alerte.

Pris en charge

  • Annotations d'alerte

    {
        "title": "Nginx access abnormal",
        "desc": "PV decreased by 80% year-over-year",
        "cnt": "120"
    }
  • Configuration du modèle de contenu

    {{ annotations_to_list(alert.annotations) }}
  • Résultat

    Si le contenu de la notification est au format Markdown, le résultat est le suivant :

    - Title: Nginx access abnormal
    - Description: PV decreased by 80% year-over-year
    - cnt: 120

blockquote(value)

Ajoute une mise en forme de citation au contenu de la notification.

  • Si le contenu de la notification est au format Markdown, un symbole > est ajouté au début de chaque ligne.

  • Si le contenu de la notification est au format HTML, le contenu est encapsulé dans une balise <blockquote>.

Pris en charge

  • Configuration du modèle de contenu

    {{ blockquote("foo\nbar") }}
  • Résultat

    • Si le contenu de la notification est au format Markdown, le résultat est le suivant :

      > foo
      > bar
    • Si le contenu de la notification est au format HTML, le résultat est le suivant :

      <blockquote>
      foo
      bar
      </blockquote>

Références

  • Valeurs valides pour le paramètre locale dans les fonctions d'alerte

    Valeur locale

    Description

    None ou une chaîne vide

    Utilise la langue configurée dans le modèle de contenu.

    en-US

    Anglais.

    zh-CN

    Chinois.

  • Mappages des champs d'annotation d'alerte

    Annotation

    Valeur de mappage (chinois)

    Valeur de mappage (anglais)

    title

    Title

    Title

    desc

    Description

    Description

    anomaly_score

    Anomaly Score

    Anomaly Score

    job_id

    Task ID

    Task ID

    model_id

    Model ID

    Model ID

    severity

    Anomaly Severity

    Anomaly Severity

    __pub_alert_app__

    Application

    Application

    __pub_alert_protocol__

    Protocol

    Protocol

    __pub_alert_region__

    Region

    Region

    __pub_alert_service__

    Service

    Service

    __ensure_url__

    Anomaly Confirmation

    Anomaly Confirmation

    __mismatch_url__

    False Positive Confirmation

    False Positive Confirmation

    __plot_image__

    Time Series Chart

    Time Series Chart

    __host_ip__

    Machine Address

    Machine Address

    __host_group_name__

    Machine Group Name

    Machine Group Name

    __cloud_monitor_type__

    CloudMonitor

    CloudMonitor