全部产品
Search
文档中心

Simple Log Service:Fungsi bawaan dalam templat peringatan

更新时间:Jul 02, 2025

Templat peringatan baru mendukung fungsi bawaan. Anda dapat menggunakan fungsi bawaan untuk mengonfigurasi format dan gaya notifikasi peringatan. Topik ini menjelaskan sintaksis fungsi bawaan serta memberikan contoh penggunaannya.

Fungsi umum

Fungsi Numerik

FungsiDeskripsiFilterContoh
float(value, default=0.0)Mengonversi bilangan bulat atau string menjadi bilangan titik mengambang.

Secara default, jika konversi gagal, fungsi akan mengembalikan nilai 0.0. Anda juga dapat menentukan nilai pengembalian kustom jika terjadi kegagalan konversi dengan menggunakan parameter default.

Didukung
  • Hasil yang dikembalikan oleh {{ float("123") }} adalah 123.0.
  • Hasil yang dikembalikan oleh {{ float("foo") }} adalah 0.0.
  • Hasil yang dikembalikan oleh {{ float("foo", default=1.23) }} adalah 1.23.
int(value, default=0)Mengonversi string atau angka menjadi bilangan bulat.

Secara default, jika konversi gagal, fungsi akan mengembalikan nilai 0. Anda juga dapat menentukan nilai pengembalian kustom jika terjadi kegagalan konversi dengan menggunakan parameter default.

Didukung
  • Hasil yang dikembalikan oleh {{ int(1.23) }} adalah 1.
  • Hasil yang dikembalikan oleh {{ int("1.23") }} adalah 1.
  • Hasil yang dikembalikan oleh {{ int("foo") }} adalah 0.
  • Hasil yang dikembalikan oleh {{ int("foo", default=5) }} adalah 5.
length(value)Mendapatkan panjang atau jumlah elemen dalam objek seperti string, daftar, atau tuple.Didukung
  • Hasil yang dikembalikan oleh {{ length("foo") }} adalah 3.
  • Hasil yang dikembalikan oleh {{ length([1, 2]) }} adalah 2.
  • Hasil yang dikembalikan oleh {{ length({"foo": "bar"}) }} adalah 1.
abs(value)Mendapatkan nilai absolut dari sebuah angka.DidukungHasil yang dikembalikan oleh {{ abs(-1) }} adalah 1.
min(value)Mendapatkan nilai minimum di antara nilai-nilai yang Anda tentukan.DidukungHasil yang dikembalikan oleh {{ min([1, 3, 2]) }} adalah 1.
max(value)Mendapatkan nilai maksimum di antara nilai-nilai yang Anda tentukan.DidukungHasil yang dikembalikan oleh {{ max([1, 3, 2]) }} adalah 3.
ceil(value)Membulatkan angka ke atas ke bilangan bulat terdekat.DidukungHasil yang dikembalikan oleh {{ ceil(1.23) }} adalah 2.
floor(value)Membulatkan angka ke bawah ke bilangan bulat terdekat.DidukungHasil yang dikembalikan oleh {{ floor(1.23) }} adalah 1.
round(value, 1)Membulatkan angka ke bilangan bulat terdekat.

1 menunjukkan bahwa satu tempat desimal dipertahankan.

Didukung
  • Hasil yang dikembalikan oleh {{ round(1.23) }} adalah 1.
  • Hasil yang dikembalikan oleh {{ round(1.56) }} adalah 2.
  • Hasil yang dikembalikan oleh {{ round(1.56, 1) }} adalah 1.6.
sum(value)Mendapatkan jumlah dari nilai-nilai yang Anda tentukan.DidukungHasil yang dikembalikan oleh {{ sum([1, 2, 3]) }} adalah 6.

Fungsi String

FungsiDeskripsiFilterContoh
string(value)Mengonversi objek menjadi string.DidukungHasil yang dikembalikan oleh {{ string(1.23) }} adalah 1.23.

Nilai 1.23 adalah string.

capitalize(value)Mengubah huruf pertama dari string menjadi huruf besar dan mengubah huruf lainnya dari string menjadi huruf kecil.DidukungHasil yang dikembalikan oleh {{ capitalize("heLLO World") }} adalah Hello world.
lower(value)Mengubah huruf besar dalam string menjadi huruf kecil.DidukungHasil yang dikembalikan oleh {{ lower("FOO") }} adalah foo.
upper(value)Mengubah huruf kecil dalam string menjadi huruf besar.DidukungHasil yang dikembalikan oleh {{ upper("foo") }} adalah FOO.
title(value)Mengubah string menjadi huruf judul. Dalam huruf judul, huruf pertama setiap kata dalam string berada dalam huruf besar, sedangkan huruf lainnya dari setiap kata berada dalam huruf kecil.DidukungHasil yang dikembalikan oleh {{ title("hello world") }} adalah Hello World.
trim(value)Menghapus karakter kosong di awal dan akhir string.DidukungHasil yang dikembalikan oleh {{ trim(" foo\n") }} adalah foo.
replace(value, old, new)Mengganti karakter tertentu dalam string dengan karakter baru.Tidak didukungHasil yang dikembalikan oleh {{ replace("foo", "oo", "ly") }} adalah fly.
wordcount(value)Menghitung jumlah kata dalam string.DidukungHasil yang dikembalikan oleh {{ wordcount("hello world") }} adalah 2.
truncate(value, n, end='')Memotong string.
  • Variabel n menentukan jumlah karakter yang ingin Anda pertahankan dalam string.
  • Variabel end menentukan substring yang ingin Anda tambahkan ke string setelah string dipotong.
Tidak didukung
  • Hasil yang dikembalikan oleh {{ truncate("foo bar", 5) }} adalah foo b.
  • Hasil yang dikembalikan oleh {{ truncate("foo bar", 5, end="...") }} adalah foo b...
quote(value)Mengapit string dengan sepasang tanda kutip ganda ("").Didukung
  • Hasil yang dikembalikan oleh {{ quote(123) }} adalah "123".
  • Hasil yang dikembalikan oleh {{ quote("foo") }} adalah "foo".
indent(value, n=4)Menambahkan indentasi pada setiap baris string dengan sejumlah spasi tertentu. Secara default, setiap baris string diberi indentasi dengan empat spasi.

Anda dapat menggunakan parameter n untuk menentukan jumlah spasi yang ingin Anda gunakan untuk mengindentasi setiap baris string.

Didukung
  • Untuk {{ "foobar\n" }}{{ indent("foo\nbar") }}, hasil yang dikembalikan adalah:
    foobar
        foo
        bar
  • Untuk {{ "foobar\n" }}{{ indent("foo\nbar", 2) }}, hasil yang dikembalikan adalah:
    foobar
      foo
      bar
startswith(value, prefix)Memeriksa apakah string dimulai dengan substring tertentu.DidukungHasil yang dikembalikan oleh {{ startswith("football", "foo") }} adalah true.
endswith(value, suffix)Memeriksa apakah string diakhiri dengan substring tertentu.DidukungHasil yang dikembalikan oleh {{ endswith("football", "all") }} adalah true.
removeprefix(value, prefix)Menghapus substring tertentu dari awal string.DidukungHasil yang dikembalikan oleh {{ removeprefix("football", "foot") }} adalah ball.
removesuffix(value, suffix)Menghapus substring tertentu dari akhir string.DidukungHasil yang dikembalikan oleh {{ removesuffix("football", "ball") }} adalah foot.
split(value, sep=None, maxsplit=-1)Memisahkan string.
  • Anda dapat menggunakan parameter sep untuk menentukan pemisah yang ingin Anda gunakan untuk memisahkan string.
  • Anda dapat menggunakan parameter maxsplit untuk menentukan jumlah maksimum kali string dapat dipisahkan.

    Jika Anda tidak mengonfigurasi parameter maxsplit atau jika Anda mengatur parameter maxsplit ke -1, jumlah kali string dapat dipisahkan tidak dibatasi.

Didukung
  • Hasil yang dikembalikan oleh {{ split('a b c ') }} adalah ['a', 'b', 'c'].
  • Hasil yang dikembalikan oleh {{ split('a-b-c', sep='-') }} adalah ['a', 'b', 'c'].
  • Hasil yang dikembalikan oleh {{ split('a-b-c', sep='-', maxsplit=1) }} adalah ['a', 'b-c'].
  • Hasil yang dikembalikan oleh {{ split('a<>b<>c', sep='<>') }} adalah ['a', 'b', 'c'].

Fungsi Daftar dan Fungsi Objek

FungsiDeskripsiFilterContoh
enumerate(value)Mengonversi objek iterable menjadi urutan berindeks dan mencantumkan elemen asli serta subskrip dari elemen asli tersebut.Tidak didukungHasil yang dikembalikan oleh {{ enumerate(["foo", "bar"]) }} adalah [(0, 'foo'), (1, 'bar')].
list(value)Mengonversi objek iterable menjadi daftar.Didukung
  • Hasil yang dikembalikan oleh {{ list(("foo", "bar")) }} adalah ['foo', 'bar'].
  • Hasil yang dikembalikan oleh {{ list("foo") }} adalah ['f', 'o', 'o'].
dict(value)Membuat kamus. Fungsi ini bekerja dengan cara yang mirip dengan metode di mana {} digunakan untuk membuat kamus.Tidak didukungHasil yang dikembalikan oleh {{ dict(foo=1, bar="hello") }} adalah {'foo': 1, 'bar': 'hello'}.
first(value)Mengembalikan item pertama dari daftar.DidukungHasil yang dikembalikan oleh {{ first([1, 2, 3]) }} adalah 1.
last(value)Mengembalikan item terakhir dari daftar.DidukungHasil yang dikembalikan oleh {{ last([1, 2, 3]) }} adalah 3.
sort(value, reverse=true)Mengurutkan elemen-elemen dari daftar.

Jika Anda ingin mengurutkan elemen-elemen dari daftar dalam urutan terbalik, tentukan reverse=true.

Didukung
  • Hasil yang dikembalikan oleh {{ sort([3, 1, 2]) }} adalah [1, 2, 3].
  • Hasil yang dikembalikan oleh {{ sort([3, 1, 2], reverse=true) }} adalah [3, 2, 1].
dictsort(value)Mengurutkan pasangan kunci-nilai dalam objek berdasarkan kunci dan mengembalikan array yang terdiri dari pasangan kunci-nilai yang telah diurutkan.Didukung
  • Contoh pada bidang alert.labels:
    {
        "host": "host-1",
        "app": "nginx"
    }
  • Konfigurasi fungsi dalam templat peringatan:
    {%- for key, val in dictsort(alert.labels) %}
    {{ key }}: {{ val }}
    {%- endfor %}
  • Hasil:
    app: nginx
    host: host-1
join(value, d='')Menggabungkan elemen-elemen dari daftar menggunakan karakter tertentu.

Anda dapat menggunakan parameter d untuk menentukan karakter yang digunakan untuk menggabungkan elemen-elemen dari daftar.

Didukung
  • Hasil yang dikembalikan oleh {{ join([1, 2, 3]) }} adalah 123.
  • Hasil yang dikembalikan oleh {{ join([1, 2, 3], ',') }} adalah 1,2,3.

Fungsi Format

FungsiDeskripsiFilterContoh
escape_markdown(value)Menghindari karakter khusus dalam Markdown.DidukungHasil yang dikembalikan oleh {{ escape_markdown("__a__ **b** #c") }} adalah &#95;&#95;a&#95;&#95; &#42;&#42;b&#42;&#42; &#35;c.
escape_html(value)Menghindari karakter khusus dalam HTML.DidukungHasil yang dikembalikan oleh {{ escape_html("<div>") }} adalah &lt;div&gt;.
to_json(value)Mengonversi objek ke format JSON.Didukung
  • Hasil yang dikembalikan oleh {{ to_json("foo") }} adalah "foo".
  • Hasil yang dikembalikan oleh {{ to_json(1.23) }} adalah 1.23.
  • Hasil yang dikembalikan oleh {{ to_json(True) }} adalah true.
  • Hasil yang dikembalikan oleh {{ to_json(alert.labels) }} adalah {"host": "host-1", "app": "nginx"}.
parse_json(value)Mem-parsing string dan mengembalikan nilai dalam format JSON.Didukung
  • Hasil yang dikembalikan oleh {{ parse_json('{"foo": "bar"}').foo }} adalah bar.
  • Hasil yang dikembalikan oleh {{ parse_json('[1, 2, 3]')[1] }} adalah 2.

Fungsi Pengkodean dan Fungsi Dekode

FungsiDeskripsiFilterContoh
base64_encoding(value)Mengkodekan nilai input menggunakan Base64.DidukungHasil yang dikembalikan oleh {{ base64_encoding("foo") }} adalah Zm9v.
base64_decoding(value)Mendekode nilai input menggunakan Base64.DidukungHasil yang dikembalikan oleh {{ base64_decoding("Zm9v") }} adalah foo.
md5_encoding(value)Mengkodekan nilai input menggunakan MD5.DidukungHasil yang dikembalikan oleh {{ md5_encoding("foo") }} adalah acbd18db4cc2f85cedef654fccc4a4d8.
url_encoding(value)Mengkodekan nilai input menggunakan pengkodean URL.DidukungHasil yang dikembalikan oleh {{ url_encoding("https://example.com?a=b&c=d") }} adalah https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd.
url_decoding(value)Mendekode nilai input menggunakan pengkodean URL.DidukungHasil yang dikembalikan oleh {{ url_decoding("https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd") }} adalah https://example.com?a=b&c=d.

Fungsi Tanggal dan Waktu

FungsiDeskripsiFilterContoh
parse_date(value, fmt="%Y-%m-%d %H:%M:%S")Mengonversi nilai input menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp.

Anda dapat menggunakan parameter fmt untuk menentukan format ekspresi datetime.

Didukung
  • Hasil yang dikembalikan oleh {{ parse_date(1629820800) }} adalah 2021-08-25 00:00:00.
  • Hasil yang dikembalikan oleh {{ parse_date("2021|08|25|00|00|00", fmt="%Y|%m|%d|%H|%M|%S") }} adalah 2021-08-25 00:00:00.
format_date(value, tz=None, fmt="%Y-%m-%d %H:%M:%S")Memformat nilai input.

Anda dapat menggunakan parameter fmt untuk menentukan format ekspresi datetime.

Jika nilai input bukan objek tanggal, fungsi akan mengonversi nilai input menjadi objek tanggal sebelum memformat nilai input. Untuk informasi lebih lanjut tentang direktif yang digunakan untuk memformat string tanggal dan waktu, lihat Direktif pemformatan tanggal dan waktu. Untuk informasi lebih lanjut tentang zona waktu, lihat Zona waktu.

Tidak didukung
  • Hasil yang dikembalikan oleh {{ format_date(1629820800) }} adalah 2021-08-25 00:00:00.
  • Hasil yang dikembalikan oleh {{ format_date(1629820800, fmt="%Y/%m/%d %H:%M:%S") }} adalah 2021/08/25 00:00:00.
  • Hasil yang dikembalikan oleh {{ format_date(1629820800, tz="UTC", fmt="%Y/%m/%d %H:%M:%S") }} adalah 2021/08/24 16:00:00.
timestamp(value)Mengonversi string tanggal dan waktu menjadi timestamp UNIX.

Jika nilai input bukan objek tanggal, fungsi akan mengonversi nilai input menjadi objek tanggal sebelum memformat nilai input.

Didukung
  • Hasil yang dikembalikan oleh {{ timestamp("2021-08-25 00:00:00") }} adalah 1629820800.
  • Hasil yang dikembalikan oleh {{ timestamp(parse_date("2021-08-25 00:00:00")) }} adalah 1629820800.
format_duration(value, locale='en-US', sep='')Memformat interval. Satuan dari value adalah detik.

Anda dapat menggunakan parameter locale untuk menentukan bahasa deskripsi teks. Untuk informasi lebih lanjut tentang nilai valid dari parameter locale, lihat bagian "Nilai valid dari parameter locale dalam fungsi peringatan" dari topik ini.

Didukung
  • Hasil yang dikembalikan oleh {{ 10 | format_duration }} adalah 10s.
  • Hasil yang dikembalikan oleh {{ 60 | format_duration }} adalah 1m.
  • Hasil yang dikembalikan oleh {{ 3600 | format_duration }} adalah 1h.
  • Hasil yang dikembalikan oleh {{ 86400 | format_duration }} adalah 1d.
  • Hasil yang dikembalikan oleh {{ 100000 | format_duration }} adalah 1d3h46m40s.
  • Hasil yang dikembalikan oleh {{ 100000 | format_duration(sep=",") }} adalah 1d,3h,46m,40s.

Fungsi peringatan

Fungsi peringatan bervariasi berdasarkan konteks peringatan dan templat peringatan yang dikonfigurasi. Fungsi-fungsi ini secara otomatis memahami informasi berikut:
Catatan Fungsi peringatan dapat mengembalikan hasil berbeda tergantung pada konteks peringatan.
  • Atribut peringatan, seperti tingkat keparahan dan status peringatan yang dipicu.
  • Bahasa templat peringatan, misalnya Cina atau Inggris.
  • Metode notifikasi, seperti DingTalk dan email.
FungsiDeskripsiFilterContoh
format_type(alert.type, locale=None)Mengonversi tipe peringatan menjadi deskripsi teks.

Anda dapat menggunakan parameter locale untuk menentukan bahasa deskripsi teks. Untuk informasi lebih lanjut tentang nilai valid dari parameter locale, lihat bagian "Nilai valid dari parameter locale dalam fungsi peringatan" dari topik ini.

Didukung
  • Tipe peringatan adalah sls_pub.
  • Konfigurasi fungsi dalam templat peringatan:
    {{ format_type(alert.type) }}
  • Hasil:
    • Jika nilai parameter locale adalah en-US, tipe peringatan dalam notifikasi peringatan adalah Pub Alert.
format_region(alert.region, locale=None)Mengonversi wilayah tempat peringatan dipicu menjadi deskripsi teks.

Anda dapat menggunakan parameter locale untuk menentukan bahasa deskripsi teks. Untuk informasi lebih lanjut tentang nilai valid dari parameter locale, lihat bagian "Nilai valid dari parameter locale dalam fungsi peringatan" dari topik ini.

Didukung
  • Wilayah peringatan adalah cn-hangzhou.
  • Konfigurasi fungsi dalam templat peringatan:
    {{ format_region(alert.region) }}
  • Hasil:
    • Jika nilai parameter locale adalah en-US, wilayah peringatan dalam notifikasi peringatan adalah China (Hangzhou).
format_severity(alert.severity, locale=None)Mengonversi tingkat keparahan peringatan menjadi deskripsi teks. Fungsi ini mendukung font berwarna.
Catatan Hanya DingTalk, Enterprise WeChat, Email, dan Pusat Pesan yang mendukung font berwarna.

Anda dapat menggunakan parameter locale untuk menentukan bahasa deskripsi teks. Untuk informasi lebih lanjut tentang nilai valid dari parameter locale, lihat bagian "Nilai valid dari parameter locale dalam fungsi peringatan" dari topik ini.

Didukung
  • Tingkat keparahan peringatan adalah 6
  • Konfigurasi fungsi dalam templat peringatan:
    {{ format_severity(alert.severity) }}
  • Hasil:
    • Jika nilai parameter locale adalah en-US, tingkat keparahan peringatan dalam notifikasi peringatan adalah Medium dalam warna kuning.
format_status(alert.status, locale=None)Mengonversi status peringatan menjadi deskripsi teks. Fungsi ini mendukung font berwarna.
Catatan Hanya DingTalk, Enterprise WeChat, Email, dan Pusat Pesan yang mendukung font berwarna. Jika Anda menggunakan metode notifikasi yang tidak mendukung font berwarna, notifikasi peringatan tetap tidak berubah setelah fungsi dipanggil.

Anda dapat menggunakan parameter locale untuk menentukan bahasa deskripsi teks. Untuk informasi lebih lanjut tentang nilai valid dari parameter locale, lihat bagian "Nilai valid dari parameter locale dalam fungsi peringatan" dari topik ini.

Didukung
  • Status peringatan adalah Firing.
  • Konfigurasi fungsi dalam templat peringatan:
    {{ format_status(alert.status) }}
  • Hasil:
    • Jika nilai parameter locale adalah en-US, status peringatan dalam notifikasi peringatan adalah Firing dalam warna merah.
to_list(value)Mengonversi array atau objek menjadi daftar.Didukung
  • Label peringatan berikut ditambahkan:
    {
        "app": "nginx",
        "host": "host-1"
    }
  • Konfigurasi fungsi dalam templat peringatan:
    {{ to_list(alert.labels) }}
  • Hasil:
    • Jika notifikasi peringatan dalam format Markdown, fungsi mengembalikan hasil berikut:

      Fungsi dapat secara otomatis menghindari karakter dalam hasil berdasarkan konfigurasi metode notifikasi.

      - app: nginx
      - host: host&#45;1
    • Jika notifikasi peringatan dalam format HTML, fungsi mengembalikan hasil berikut:
      <ul>
        <li>app: nginx</li>
        <li>host: host-1</li>
      </ul>
    • Jika notifikasi peringatan dalam format teks, fungsi mengembalikan hasil berikut:
      [app: nginx][host: host-1]
annotations_to_list(alert.annotations, locale=None)Mengonversi anotasi peringatan menjadi daftar. Fungsi ini mirip dengan fungsi to_list(alert.annotations). Perbedaan antara kedua fungsi ini terletak pada bahwa fungsi annotations_to_list dapat secara otomatis mengonversi nama standar menjadi deskripsi teks. Misalnya, fungsi annotations_to_list dapat mengonversi bidang title menjadi Title. Untuk informasi lebih lanjut tentang nama standar, lihat bagian "Anotasi dalam fungsi peringatan" dari topik ini.

Anda dapat menggunakan parameter locale untuk menentukan bahasa deskripsi teks. Untuk informasi lebih lanjut tentang nilai valid dari parameter locale, lihat bagian "Nilai valid dari parameter locale dalam fungsi peringatan" dari topik ini.

Didukung
  • Anotasi berikut ditambahkan:
    {
        "title": "NGINX access error",
        "desc": "80% penurunan tahunan pada PVs",
        "cnt": "120"
    }
  • Konfigurasi fungsi dalam templat peringatan:
    {{ annotations_to_list(alert.annotations) }}
  • Hasil:
    Jika notifikasi peringatan dalam format Markdown, fungsi mengembalikan hasil berikut:
    -Title: NGINX access error
    -Description: 80% penurunan tahunan pada PVs
    - cnt: 120
blockquote(value)Menambahkan gaya kutipan ke notifikasi peringatan.
  • Jika notifikasi peringatan dalam format Markdown, tanda kurung sudut penutup > ditambahkan ke awal setiap baris.
  • Jika notifikasi peringatan dalam format HTML, tag <blockquote> digunakan untuk mengapit konten notifikasi peringatan.
Didukung
  • Konfigurasi fungsi dalam templat peringatan:
    {{ blockquote("foo\nbar") }}
  • Hasil:
    • Jika notifikasi peringatan dalam format Markdown, fungsi mengembalikan hasil berikut:
      > foo
      > bar
    • Jika notifikasi peringatan dalam format HTML, fungsi mengembalikan hasil berikut:
      <blockquote>
      foo
      bar
      </blockquote>

Referensi

  • Nilai valid dari parameter locale dalam fungsi peringatan
    Nilai validDeskripsi
    None atau string kosongMenentukan untuk menggunakan bahasa yang Anda pilih saat mengonfigurasi templat peringatan.
    en-USMenentukan untuk menggunakan bahasa Inggris.
    zh-CNMenentukan untuk menggunakan bahasa Cina.
  • Anotasi dalam fungsi peringatan
    AnotasiNilai pemetaan (Inggris)
    titleJudul
    descDeskripsi
    anomaly_scoreSkor Anomali
    job_idID Pekerjaan
    model_idID Model
    severityTingkat Anomali
    __pub_alert_app__Aplikasi
    __pub_alert_protocol__Protokol
    __pub_alert_region__Wilayah
    __pub_alert_service__Layanan
    __ensure_url__Konfirmasi Anomali
    __mismatch_url__Konfirmasi Positif Salah
    __plot_image__Grafik Seri Waktu
    __host_ip__Alamat Mesin
    __host_group_name__Nama Grup Mesin
    __cloud_monitor_type__CloudMonitor