All Products
Search
Document Center

Simple Log Service:Parameter templat peringatan baru

Last Updated:Mar 26, 2026

Topik ini menjelaskan variabel dalam versi baru templat peringatan dan cara mereferensikannya.

Sintaks referensi

Penting
  • Saat mereferensikan suatu variabel, nama variabel tersebut harus persis sama.

    • Jika variabel tidak ada atau direferensikan secara salah, SLS akan menggantinya dengan string kosong secara default.

    • Jika nilai yang direferensikan berupa objek, SLS akan mengonversinya menjadi string JSON.

  • Nama variabel harus terdiri dari huruf, angka, dan garis bawah (_), serta tidak boleh diawali dengan angka.

    • Jika nama variabel memenuhi ketentuan ini, Anda dapat mengambil nilainya menggunakan notasi titik, seperti {{alert.xxx}}.

    • Jika nama variabel tidak memenuhi ketentuan ini—misalnya mengandung karakter khusus seperti __tag__:__namespace__—Anda harus menggunakan notasi kurung siku untuk mengambil nilainya: {{alert.annotations["__tag__:__namespace__"] }}.

Saat mengonfigurasi kebijakan tindakan, Anda harus memilih templat peringatan. Templat peringatan menentukan konten dan subjek pemberitahuan peringatan. Di bidang Content dan Subject/Subject, Anda dapat mereferensikan variabel menggunakan sintaks {{ alert.xxx }}. Saat SLS mengirim pemberitahuan peringatan, variabel dalam Content dan Subject/Subject akan diganti dengan nilai aktualnya. Misalnya, {{ alert.project }} diganti dengan nama Proyek yang berisi aturan peringatan tersebut.

image

Selain mereferensikan variabel secara langsung, Anda juga dapat menggunakan struktur kontrol alur dan fungsi bawaan untuk memanipulasi serta memprosesnya. Untuk informasi lebih lanjut tentang sintaks templat dan fungsi bawaan, lihat Sintaks Templat Konten (Baru) dan Fungsi Bawaan Templat.

Atribut peringatan

Parameter

Deskripsi

Type

Nilai

Penggunaan

aliuid

ID akun Alibaba Cloud yang terkait dengan proyek.

string

117918634953****

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

alert_instance_id

ID unik untuk instans peringatan ini.

string

ee16a8f435485f3f-5be6b81edc520-3d6****

ID instans adalah {{ alert.alert_instance_id }}.

alert_id

ID aturan peringatan, yang unik dalam satu proyek.

string

alert-12345

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

alert_name

Nama aturan peringatan.

string

Test alert rule

Aturan peringatan {{ alert.alert_name }} dipicu.

alert_type

Jenis peringatan.

  • sls_alert: Peringatan yang dipicu oleh aturan pemantauan peringatan.

  • sls_pub: Peringatan eksternal.

  • sls_ml: Peringatan yang dipicu oleh inspeksi cerdas.

string

sls_alert

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

region

Wilayah tempat peringatan dipicu.

string

cn-hangzhou

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

project

Proyek tempat aturan peringatan berada.

string

my-project

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

next_eval_interval

Interval sebelum evaluasi berikutnya, dalam detik.

int

300

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

alert_time

Waktu evaluasi saat ini.

int

1616744734

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

fire_time

Waktu pertama kali peringatan dipicu.

int

1616059834

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

status

Status peringatan.

  • firing: Peringatan dipicu.

  • resolved: Peringatan terselesaikan.

string

firing

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

resolve_time

Waktu penyelesaian peringatan.

  • Jika status peringatan adalah firing, nilainya adalah 0.

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

int

0

Peringatan diselesaikan pada {{ alert.resolve_time }}, 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

Peta pasangan kunci-nilai yang mendefinisikan label peringatan.

map

{"env":"test"}

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

annotations

Peta pasangan kunci-nilai yang memberikan informasi tambahan tentang peringatan.

map

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

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

results

Larik yang berisi data kueri dan hasil dari evaluasi peringatan. Untuk detail struktur data, lihat Struktur QueryData.

array

Lihat apendiks di akhir topik ini.

Waktu mulai kueri pertama adalah {{ alert.results[0].start_time }}, waktu akhir adalah {{ alert.results[0].end_time }}, nilai cnt adalah {{ alert.results[0].fire_result.cnt }}, dan pernyataan kueri adalah {{ alert.results[0].query }}.

fire_results

Data yang memicu peringatan, yaitu hasil operasi himpunan. Maksimal 100 entri data dikembalikan.

Jika nilai variabel fire_results melebihi 2 KB dan konten bidang hasil kueri melebihi 1 KB, data berlebih akan dipotong. Untuk informasi lebih lanjut, lihat Bagaimana cara menangani tampilan log yang tidak lengkap dalam pemberitahuan peringatan?

array

Lihat apendiks di akhir topik ini.

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

fire_results_count

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

int

3

Jumlah total entri data yang memicu peringatan adalah {{ alert.fire_results_count }}.

condition

Kondisi pemicu yang dievaluasi, di mana variabel diganti dengan nilai yang memicu peringatan dan diapit tanda kurung siku ([]). Formatnya adalah Count:expression;Condition:expression.

string

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

Kondisi pemicu adalah {{ alert.condition }}.

raw_condition

Kondisi pemicu asli, di mana variabel tidak diganti dengan nilai aktualnya. Formatnya adalah Count:expression;Condition:expression.

string

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

Kondisi pemicu asli adalah {{ alert.raw_condition }}.

policy

Objek yang berisi detail kebijakan peringatan atau kebijakan tindakan yang dipicu. Untuk detail struktur data, lihat Struktur Kebijakan.

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 langsung ke halaman detail peringatan di konsol.

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 dan analitik, telah diisi sebelumnya dengan kueri pertama dari evaluasi peringatan.

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 untuk 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 Menghapus duplikat peringatan berdasarkan sidik jari.

string

478325709134bc5c

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

signin_url

URL untuk melihat detail peringatan tanpa login ke konsol. Untuk informasi lebih lanjut, lihat Lihat detail peringatan dalam mode tanpa login.

string

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

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

Struktur kebijakan

Tabel berikut mencantumkan variabel yang dapat Anda referensikan dalam policy.

Parameter

Deskripsi

Tipe

Contoh

alert_policy_id

ID kebijakan peringatan.

string

sls.test-alert

action_policy_id

ID kebijakan tindakan yang ditentukan dalam aturan peringatan. Variabel ini hanya tersedia jika kebijakan peringatan menggunakan Dynamic Action Policy.

string

sls.test-action

repeat_interval

Interval pengulangan. Variabel ini hanya tersedia jika kebijakan peringatan menggunakan Dynamic Action Policy.

string

4h

Struktur QueryData

Tabel berikut menjelaskan bidang dalam variabel results.

Parameter

Deskripsi

Tipe

Nilai

store_type

Jenis penyimpanan. Nilai yang valid:

  • log: Data log.

  • metrik: data metrik.

  • meta: data resource.

string

log

region

Wilayah penyimpanan target.

Bidang ini kosong jika store_type adalah meta.

string

cn-hangzhou

Project

Proyek toko target.

Bidang ini kosong jika store_type adalah meta.

string

sls-test-alert

store

Nama penyimpanan target.

string

test-LogStore

query

Pernyataan kueri.

string

error | select count(1) as cnt

start_time

Awal rentang waktu kueri, dalam bentuk Unix timestamp dalam detik.

Bidang ini kosong jika store_type adalah meta.

int

1616741485

end_time

Akhir rentang waktu kueri, dalam bentuk Unix timestamp dalam detik.

Bidang ini kosong jika store_type adalah meta.

int

1616745085

raw_results

Larik berisi maksimal 100 catatan hasil kueri.

Jika ukuran nilai raw_results melebihi 2 KB, atau jika konten satu bidang melebihi 1 KB, data akan dipotong.

array

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

raw_results_count

Jumlah total catatan yang dikembalikan oleh kueri, yang bisa lebih dari 100.

int

20

fire_result

Catatan pertama dalam set hasil yang memicu peringatan.

map

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

query_url

URL konsol untuk melihat hasil kueri.

Bidang ini kosong jika 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

  • results structure

    [{
        "store_type": "Logstore",
        "region": "China (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 structure

    [{
        "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 structure

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

Contoh

Contoh ini menunjukkan cara menentukan konten notifikasi menggunakan templat konten:

  • 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