全部产品
Search
文档中心

Simple Log Service:Variabel dalam templat konten (versi baru)

更新时间:Nov 10, 2025

Topik ini menjelaskan variabel yang tersedia di versi baru templat konten dan cara mereferensikannya.

Metode referensi

Penting
  • Saat mereferensikan variabel, nama variabel harus cocok secara tepat.

    • Jika variabel yang direferensikan tidak ada atau referensi tidak valid, sistem akan menggantinya dengan string kosong secara default.

    • Jika nilai dari variabel yang direferensikan adalah objek, nilainya akan dikonversi menjadi string JSON.

  • Nama variabel dalam templat hanya dapat berisi huruf besar, huruf kecil, angka, dan garis bawah (_). Nama tersebut tidak boleh dimulai dengan angka.

    • Jika nama variabel mengikuti aturan standar, Anda dapat mereferensikan nilainya menggunakan {{alert.xxx}}.

    • Jika nama variabel tidak mengikuti aturan standar, seperti __tag__:__namespace__, Anda dapat mereferensikan nilainya menggunakan {{alert.annotations["__tag__:__namespace__"] }}.

Saat mengonfigurasi kebijakan aksi, Anda harus memilih templat konten. Templat konten mendefinisikan isi dan subjek notifikasi. Di bidang Content dan Subject/Title, Anda dapat mereferensikan variabel templat menggunakan format {{ alert.xxx }}. Saat Simple Log Service mengirimkan pemberitahuan peringatan, ia mengganti variabel templat di bidang Content dan Subject/Title dengan nilai sebenarnya. Sebagai contoh, {{ alert.project }} diganti dengan nama proyek tempat aturan peringatan milik.

image

Anda juga dapat menggunakan aliran kontrol dan fungsi bawaan untuk memanipulasi dan memproses variabel. Untuk informasi lebih lanjut tentang sintaks templat dan fungsi bawaan, lihat Sintaks untuk Templat Konten Baru dan Fungsi Templat Bawaan.

Properti Peringatan

Variabel

Deskripsi

Tipe Data

Contoh nilai

Contoh referensi

aliuid

ID akun Alibaba Cloud pemilik proyek.

string

117918634953****

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

alert_instance_id

ID instans yang memicu peringatan.

string

ee16a8f435485f3f-5be6b81edc520-3d6****

ID instans adalah {{ alert.alert_instance_id }}.

alert_id

ID aturan peringatan. ID ini harus unik dalam sebuah proyek.

string

alert-12345

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

alert_name

Nama aturan alert.

string

Aturan alert uji

Aturan peringatan {{ alert.alert_name }} dipicu.

alert_type

Tipe peringatan.

  • sls_alert: Peringatan dipicu oleh aturan peringatan.

  • sls_pub: Peringatan berasal dari sistem penerimaan peringatan.

  • sls_ml: Peringatan dipicu oleh inspeksi cerdas.

string

sls_alert

Tipe peringatan adalah {{ alert.alert_type }}, yang ditampilkan sebagai {{ alert.alert_type | format_type }} setelah diformat.

region

Wilayah.

string

cn-hangzhou

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

project

Proyek tempat aturan alert berada.

string

my-project

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

next_eval_interval

Interval evaluasi berikutnya, dalam detik.

int

300

Evaluasi berikutnya dimulai setelah {{ alert.next_eval_interval }} detik.

alert_time

Waktu evaluasi saat ini.

int

1616744734

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

fire_time

Waktu ketika peringatan pertama kali dipicu.

int

1616059834

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

status

Status peringatan.

  • firing: Alert dipicu.

  • resolved: Peringatan telah pulih.

string

firing

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

resolve_time

Waktu ketika peringatan pulih.

  • Jika status peringatan adalah firing, nilainya adalah 0.

  • Jika status peringatan adalah resolved, nilainya adalah waktu pemulihan spesifik.

int

0

Waktu pemulihan peringatan adalah {{ alert.resolve_time }}, yang ditampilkan sebagai {{ alert.resolve_time | format_date }} setelah diformat.

severity

Tingkat keparahan peringatan.

  • 10: Kritis

  • 8: Tinggi

  • 6: Sedang

  • 4: Rendah

  • 2: Hanya Laporan

int

10

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

labels

Daftar label.

map

{"env":"test"}

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

annotations

Daftar anotasi.

map

{ "title": "Judul Peringatan","desc": "Deskripsi Peringatan" }

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

results

Parameter kueri dan hasil antara, dalam format array. Untuk informasi lebih lanjut tentang nilai variabel ini, lihat Struktur QueryData.

array

Lihat Lampiran di akhir topik ini.

Waktu mulai kueri pertama adalah {{ alert.results[0].start_time }}. Waktu akhir adalah {{ alert.results[0].end_time }}. Nilai count adalah {{ alert.results[0].fire_result.cnt }}. Pernyataan kueri adalah {{ alert.results[0].query }}.

fire_results

Data yang memicu peringatan. Ini adalah data setelah operasi himpunan. Maksimal 100 entri data dikembalikan.

Jika nilai variabel fire_results melebihi 2 KB dan panjang bidang dalam hasil kueri melebihi 1 KB, bagian yang berlebih akan dipotong. Untuk informasi lebih lanjut tentang cara menangani data terpotong, lihat Apa yang harus saya lakukan jika peringatan dipicu untuk terlalu banyak log dan pemberitahuan peringatan tidak menampilkan semua log?

array

Lihat Lampiran di akhir topik ini.

Data yang dihasilkan saat peringatan dipicu adalah {{ alert.fire_results | to_json }}.

fire_results_count

Total jumlah entri data yang memicu peringatan. Jumlah ini bisa lebih dari 100. Misalnya, total entri setelah operasi produk Kartesius.

int

3

Total jumlah entri data yang dihasilkan saat peringatan dipicu adalah {{ alert.fire_results_count }}.

condition

Ekspresi evaluasi yang memicu peringatan. Dalam ekspresi ini, variabel yang Anda konfigurasikan diganti dengan nilai yang memicu peringatan. Nilai-nilai tersebut dilingkupi dalam tanda kurung siku (`[]`). Formatnya adalah Count:Quantity expression;Condition:Matching 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 sebenarnya. Formatnya adalah Count:Quantity expression;Condition:Matching 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 Kebijakan.

map

Lihat Lampiran di akhir topik ini.

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

dashboard

Nama dasbor yang terkait dengan alert.

string

mydashboard

Nama dasbor yang terkait dengan peringatan adalah {{ alert.dashboard }}.

alert_url

URL 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 halaman kueri pertama di Query/Analysis.

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 di Query/Analysis adalah {{ alert.query_url }}.

alert_history_dashboard_url

URL laporan statistik sejarah peringatan.

string

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

URL laporan statistik sejarah peringatan adalah {{ alert.alert_history_dashboard_url }}.

dashboard_url

URL dasbor yang terkait dengan alert.

string

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

URL dasbor yang terkait dengan peringatan adalah {{ alert.dashboard_url }}.

fingerprint

Sidik jari peringatan. Untuk informasi lebih lanjut, lihat Deduplikasi peringatan berdasarkan sidik jari.

string

478325709134bc5c

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

signin_url

URL yang dapat Anda gunakan untuk melihat detail peringatan tanpa masuk ke konsol. Untuk informasi lebih lanjut, lihat Lihat detail peringatan tanpa masuk.

string

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

[Lihat Detail]({{ alert.signin_url }}).

Struktur Kebijakan

Tabel berikut menjelaskan variabel yang dapat dirujuk dalam variabel policy.

Variabel

Deskripsi

Tipe Data

Contoh nilai

alert_policy_id

ID kebijakan peringatan.

string

sls.test-alert

action_policy_id

ID kebijakan aksi yang ditentukan dalam aturan peringatan. Variabel ini tersedia hanya jika kebijakan peringatan menggunakan kebijakan aksi dinamis.

string

sls.test-action

repeat_interval

Interval pengulangan. Variabel ini tersedia hanya jika kebijakan peringatan menggunakan kebijakan aksi dinamis.

string

4h

Struktur QueryData

Tabel berikut menjelaskan variabel yang dapat dirujuk dalam variabel results.

Variabel

Deskripsi

Tipe Data

Contoh nilai

store_type

Kelas penyimpanan.

  • log: Log

  • Metric adalah data deret waktu.

  • meta: Data sumber daya

string

log

region

Wilayah tempat database tujuan untuk kueri berada.

Variabel ini kosong jika kelas penyimpanan adalah `meta`.

string

cn-hangzhou

project

Proyek tempat database tujuan untuk kueri berada.

Jika kelas penyimpanan adalah data sumber daya, nilai variabel tersebut kosong.

string

sls-test-alert

store

Nama database tujuan untuk kueri.

string

test-logstore

query

Pernyataan kueri.

string

error | select count(1) as cnt

start_time

Awal rentang waktu untuk kueri.

Variabel ini kosong jika kelas penyimpanan adalah `meta`.

int

1616741485

end_time

Akhir rentang waktu untuk kueri.

Nilai variabel ini kosong ketika kelas penyimpanan adalah data sumber daya.

int

1616745085

raw_results

Data rekaman hasil kueri dalam format array. Maksimal 100 baris dikembalikan.

Jika nilai variabel raw_results melebihi 2 KB dan panjang bidang dalam hasil kueri melebihi 1 KB, bagian yang berlebih akan dipotong.

array

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

raw_results_count

Total jumlah rekaman data hasil kueri. Jumlah ini bisa lebih dari 100.

int

20

fire_result

Data rekaman pertama dalam set hasil yang memicu peringatan. Parameter ini hanya mengembalikan rekaman pertama karena set hasil mungkin berisi beberapa rekaman.

map

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

query_url

URL kueri.

Variabel ini kosong jika kelas penyimpanan 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 ARN (Alibaba Cloud Resource Name) dari peran layanan yang digunakan.

string

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

FAQ

Lampiran

  • results struktur

    [{
        "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": ""
    }]
  • fire_results struktur

    [{
        "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"
    }]
  • policy struktur

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

Contoh

Contoh berikut 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:

    - ID Peringatan: {{ alert.alert_id }}
    - Nama Peringatan: {{ alert.alert_name }}
    - Proyek: {{ alert.project }}
    - Status: {% if alert.status == "firing" %}FIRING{% else %}RESOLVED{% endif %}
    - Label:
    {%- for key, val in alert.labels.items() %}
        - {{ key }}: {{ val }}
    {%- endfor %}
    - Kueri: {{ alert.results[0].query }}
  • Hasil Output:

    - ID Peringatan: test-alert
    - Nama Peringatan: PV/UV Alert
    - Proyek: project-1
    - Status: FIRING
    - Label:
        - app: nginx
        - host: host-1
    - Kueri: * | select count(*) as pv