All Products
Search
Document Center

Simple Log Service:Variabel dalam templat peringatan

Last Updated:Jun 21, 2026

Topik ini menjelaskan variabel yang tersedia dalam templat peringatan baru serta cara menggunakannya.

Referensi variabel

Penting
  • Nama variabel harus sesuai secara eksak.

    • Jika variabel tidak ada atau referensinya tidak valid, nilai default-nya adalah string kosong.

    • Objek yang direferensikan dikonversi menjadi string JSON.

  • Nama variabel dapat berisi huruf, angka, dan garis bawah (_) tetapi tidak boleh diawali dengan angka.

    • Jika nama variabel mengikuti aturan ini, Anda dapat mengambil nilainya menggunakan notasi titik, misalnya {{alert.xxx}}.

    • Jika nama variabel berisi karakter khusus, seperti __tag__:__namespace__, Anda harus menggunakan notasi kurung siku untuk mengambil nilainya, misalnya {{alert.annotations["__tag__:__namespace__"]}}.

Saat mengonfigurasi kebijakan aksi, Anda harus memilih templat peringatan. Templat tersebut menentukan konten dan subjek notifikasi. Di bidang Send Content dan Subject/Title, Anda dapat mereferensikan variabel templat menggunakan sintaks {{ alert.xxx }}. Saat Simple Log Service (SLS) mengirimkan pemberitahuan peringatan, variabel dalam Send Content dan Subject/Title diganti dengan nilai aktualnya. Misalnya, Simple Log Service (SLS) mengganti {{ alert.project }} dengan nama Project tempat aturan peringatan berada.

Sebagai contoh, dalam templat peringatan untuk saluran DingTalk, Anda dapat mengatur Subject menjadi SLS Alert. Di Content, Anda dapat menggunakan variabel {{ alert.aliuid }}, {{ alert.project }}, {{ alert.alert_name }}, dan {{ alert.severity }} untuk mengambil ID akun, nama Project, nama aturan peringatan, dan tingkat keparahan, masing-masing.

Selain mereferensikan variabel secara langsung, Anda juga dapat menggunakan alur kendali dan fungsi bawaan untuk memproses data variabel. Lihat Sintaks Templat Peringatan (Baru) dan Fungsi Bawaan Templat untuk informasi selengkapnya mengenai sintaks templat dan fungsi bawaan.

Atribut peringatan

Parameter

Deskripsi

Tipe

Nilai

Contoh referensi

aliuid

ID akun Alibaba Cloud untuk Project tersebut.

string

117918634953****

Aturan peringatan untuk pengguna {{ alert.aliuid }} telah dipicu.

alert_instance_id

ID instans yang memicu peringatan.

string

ee16a8f435485f3f-5be6b81edc520-3d6****

ID instans adalah {{ alert.alert_instance_id }}.

alert_id

ID unik aturan peringatan dalam Project.

string

alert-12345

ID aturan peringatan adalah {{ alert.alert_id }}.

alert_name

Nama aturan peringatan.

string

Test alert rule

Aturan peringatan {{ alert.alert_name }} telah dipicu.

alert_type

Jenis peringatan.

  • sls_alert: Peringatan dipicu oleh aturan pemantauan peringatan.

  • sls_pub: Peringatan merupakan peringatan terbuka dari sistem eksternal.

  • sls_ml: Peringatan dipicu oleh inspeksi cerdas.

string

sls_alert

Jenis peringatan adalah {{ alert.alert_type }}, yang diformat sebagai {{ alert.alert_type | format_type }}.

region

Wilayah tempat peringatan dipicu.

string

cn-hangzhou

Peringatan dipicu di wilayah {{ alert.region }}.

project

Project tempat aturan peringatan berada.

string

my-project

Aturan peringatan dipicu di Project {{ alert.project }}.

next_eval_interval

Interval evaluasi berikutnya dalam detik.

int

300

Evaluasi berikutnya dalam {{ alert.next_eval_interval }} detik.

alert_time

Timestamp UTC dari evaluasi saat ini.

int

1616744734

Waktu evaluasi saat ini adalah {{ alert.alert_time }}, yang diformat sebagai {{ alert.alert_time | format_date }}.

fire_time

Timestamp UTC saat peringatan pertama kali dipicu.

int

1616059834

Peringatan pertama kali dipicu pada {{ alert.fire_time }}, yang diformat sebagai {{ alert.fire_time | format_date }}.

status

Status peringatan saat ini.

  • firing: Peringatan aktif.

  • resolved: Peringatan terselesaikan.

string

firing

Status peringatan adalah {{ alert.status }}, diformat sebagai {{ alert.status | format_status }}.

resolve_time

Timestamp UTC saat peringatan diselesaikan.

  • Jika status peringatan adalah firing, nilainya adalah 0.

  • Jika status peringatan adalah resolved, nilainya adalah waktu penyelesaian.

int

0

Peringatan diselesaikan pada {{ alert.resolve_time }}, yang diformat sebagai {{ alert.resolve_time | format_date }}.

severity

Tingkat keparahan peringatan.

  • 10: Critical

  • 8: High

  • 6: Medium

  • 4: Low

  • 2: Report

int

10

Tingkat keparahan peringatan adalah {{ alert.severity }}, diformat sebagai {{ alert.severity | format_severity }}.

labels

Kumpulan label pasangan kunci-nilai yang ditentukan pengguna.

map

{"env":"test"}

Label peringatan adalah {{ alert.labels | to_list }}.

annotations

Kumpulan anotasi pasangan kunci-nilai yang ditentukan pengguna.

map

{ "title": "Alert title","desc": "Alert description" }

Anotasi peringatan adalah {{ alert.annotations | to_list }}.

results

Array parameter kueri dan hasil antara. Untuk informasi lebih lanjut tentang nilai variabel ini, lihat struktur QueryData.

array

Lihat apendiks di akhir topik ini.

Waktu mulai kueri pertama adalah {{ alert.results[0].start_time }}, waktu selesai adalah {{ alert.results[0].end_time }}, jumlah adalah {{ alert.results[0].fire_result.cnt }}, dan kuerinya adalah {{ alert.results[0].query }}.

fire_results

Data yang memicu peringatan. Ini adalah hasil operasi himpunan. Maksimal 100 baris dikembalikan.

Jika ukuran variabel fire_results melebihi 2 KB, atau jika konten satu bidang melebihi 1 KB, data akan dipotong. Untuk informasi tentang cara menangani data yang terpotong, lihat Apa yang harus saya lakukan jika terlalu banyak log memicu peringatan dan notifikasi menampilkan informasi yang tidak lengkap?

array

Lihat apendiks di akhir topik ini.

Data yang memicu peringatan adalah {{ alert.fire_results | to_json }}.

fire_results_count

Jumlah total baris data yang memicu peringatan. Nilai ini bisa lebih besar dari 100, misalnya setelah operasi Produk Kartesius.

int

3

Peringatan dipicu oleh {{ alert.fire_results_count }} baris data.

condition

Ekspresi evaluasi yang memicu peringatan. Dalam ekspresi ini, variabel diganti dengan nilai pemicu aktualnya, diapit tanda kurung siku []. Formatnya adalah Count:Expression;Condition:Expression.

string

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

Ekspresi evaluasi peringatan adalah {{ alert.condition }}.

raw_condition

Ekspresi evaluasi asli di mana variabel tidak diganti dengan nilai aktualnya. Formatnya adalah Count:Expression;Condition:Expression.

string

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

Ekspresi evaluasi asli adalah {{ alert.raw_condition }}.

policy

Kebijakan peringatan atau kebijakan aksi. Untuk informasi lebih lanjut tentang nilai variabel ini, lihat struktur Policy.

map

Lihat apendiks di akhir topik ini.

ID kebijakan peringatan adalah {{ alert.policy.alert_policy_id }}.

dashboard

Nama dasbor yang terkait dengan peringatan.

string

mydashboard

Dasbor terkait adalah {{ alert.dashboard }}.

alert_url

URL ke halaman detail peringatan.

string

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

URL peringatan adalah {{ alert.alert_url }}.

query_url

URL ke halaman pencarian kueri pertama.

string

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

URL halaman kueri pertama adalah {{ alert.query_url }}.

alert_history_dashboard_url

URL dasbor Statistik Riwayat Peringatan.

string

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

URL dasbor Statistik Riwayat Peringatan adalah {{ alert.alert_history_dashboard_url }}.

dashboard_url

URL dasbor yang terkait dengan peringatan.

string

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

URL dasbor terkait adalah {{ alert.dashboard_url }}.

fingerprint

Sidik jari peringatan. Untuk informasi selengkapnya, lihat Mendeduplikasi peringatan berdasarkan sidik jari peringatan.

string

478325709134bc5c

Sidik jari peringatan adalah {{ alert.fingerprint }}.

signin_url

URL untuk melihat detail peringatan tanpa masuk ke konsol. Untuk informasi lebih lanjut, lihat Melihat detail peringatan tanpa masuk.

string

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

[View Details]({{ alert.signin_url }})

Struktur kebijakan

Tabel berikut mencantumkan variabel yang tersedia dalam policy.

Parameter

Deskripsi

Tipe

Contoh nilai

alert_policy_id

ID kebijakan peringatan.

string

sls.test-alert

action_policy_id

ID kebijakan aksi yang dikonfigurasi untuk aturan peringatan. Variabel ini hanya tersedia jika aturan peringatan menggunakan Dynamic Action Policy.

string

sls.test-action

repeat_interval

Interval pengiriman ulang notifikasi untuk peringatan aktif. Variabel ini hanya tersedia jika aturan peringatan menggunakan Dynamic Action Policy.

string

4h

Struktur data kueri

Tabel ini menjelaskan variabel yang tersedia dalam variabel results.

Parameter

Deskripsi

Tipe

Nilai

store_type

Jenis penyimpanan. Nilai yang valid adalah:

  • log: Data log.

  • metric: Data metrik.

  • meta: Data sumber daya.

string

log

region

Wilayah tempat penyimpanan tujuan berada.

Variabel ini kosong jika nilai store_type adalah meta.

string

cn-hangzhou

project

Project tempat penyimpanan tujuan berada.

Variabel ini kosong jika nilai store_type adalah meta.

string

sls-test-alert

store

Nama toko tujuan.

string

test-LogStore

query

Pernyataan kueri.

string

error | select count(1) as cnt

start_time

Waktu mulai kueri, dinyatakan sebagai timestamp UTC.

Variabel ini kosong jika nilai store_type adalah meta.

int

1616741485

end_time

Waktu selesai kueri, dinyatakan sebagai timestamp UTC.

Variabel ini kosong jika nilai store_type adalah meta.

int

1616745085

raw_results

Array hasil kueri, berisi maksimal 100 baris.

Jika variabel raw_results melebihi 2 KB, atau jika satu bidang dalam hasil melebihi 1 KB, data berlebih akan dipotong.

array

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

raw_results_count

Jumlah total baris dalam set hasil, yang bisa lebih dari 100.

int

20

fire_result

Catatan pertama dari hasil pemicu peringatan. Parameter ini hanya berisi catatan pertama, meskipun set hasil berisi lebih dari satu.

map

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

query_url

URL halaman kueri di konsol.

Variabel ini kosong jika nilai store_type adalah 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 dasbor yang terkait dengan kueri.

string

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

role_arn

Nama Sumber Daya Alibaba Cloud (ARN) dari peran layanan.

string

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

FAQ

Apendiks

  • Contoh 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": ""
    }]
  • Contoh 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"
    }]
  • Contoh policy:

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

Contoh

Contoh ini menunjukkan cara mendefinisikan konten notifikasi menggunakan templat konten baru:

  • Konten peringatan:

    {
        "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"
            }
        ]
    }
  • Konfigurasi templat peringatan:

    - 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 }}
  • Hasil output:

    - 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