Peta dunia

 

EN: Read in English

Dunia O3: Penggera & Skrin

Peraturan amaran: for, label, anotasi

Anda akan belajar: menulis alert rule yang berbunyi hanya bila ada masalah sebenar.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Prometheus 3 pada 1 Nov 2026

Masalahnya

Tekan Run. Lihat shop-1 pada graf.

Metric dalam data ini (tekan untuk tambah):

Masa 0 ialah saat data bermula. Query melihat ke belakang dari masa nilai.

Pada minit ke-11, shop-1 berhenti menjawab. Tiada siapa tengok skrin. Macam mana bilik kawalan boleh bunyikan loceng sendiri?

Tengok

Ketik baris yang kata berapa lama perlu tunggu.

0 daripada 1 dijumpai

alert rule: Soalan PromQL yang Prometheus tanya berulang kali. Bila jawapannya ada baris, loceng bilik kawalan bersedia. (peraturan amaran) ialah soalan yang Prometheus tanya setiap minit. Ada baris dalam jawapan? Loceng bersedia.

Teka

db-1 mati selama 3 minit sahaja. Rule itu tunggu for: 5m. Apa jadi?

Pilih satu jawapan.

Cuba

Bina rule itu. Panggil orang bila target betul-betul mati, bukan untuk kelip sekejap.

Bina rule alert daripada blok. Garis masa papar bila ia menunggu dan bila ia berbunyi.

Bila (expr)
Tunggu dahulu (for)
Label
Mesej (annotations)
Rule anda: rules.yml
groups:
- name: kedai
rules:
- alert: InstanceDown
expr: up == 0
annotations:
summary: Something is down
Nilai yang alert perhatikan
00.250.50.7510s10m20m30mhad 0
Graf sebagai jadual
Graf sebagai jadual
Masaup{instance="db-1", job="db"}up{instance="shop-1", job="shop"}up{instance="shop-2", job="shop"}
0s111
1m111
2m111
3m111
4m111
5m111
6m011
7m011
8m011
9m111
10m111
11m101
12m101
13m101
14m101
15m101
16m101
17m101
18m101
19m101
20m101
21m101
22m101
23m101
24m101
25m101
26m101
27m101
28m101
29m101
30m101
31m101

Apa alert buat sepanjang masa

Kelabu: senyap. Kuning: pending (benar, tetapi menunggu). Merah: firing.

  • {instance="db-1", job="db"}

    ๐Ÿ”” firing 6m hingga 8m

  • {instance="shop-1", job="shop"}

    ๐Ÿ”” firing 11m hingga 31m

Pada 12m:

  • FIRING InstanceDown instance="shop-1", job="shop"Something is down
Garis masa sebagai jadual
Masa{instance="db-1", job="db"}{instance="shop-1", job="shop"}
0ssenyapsenyap
1msenyapsenyap
2msenyapsenyap
3msenyapsenyap
4msenyapsenyap
5msenyapsenyap
6m๐Ÿ”” firingsenyap
7m๐Ÿ”” firingsenyap
8m๐Ÿ”” firingsenyap
9msenyapsenyap
10msenyapsenyap
11msenyap๐Ÿ”” firing
12msenyap๐Ÿ”” firing
13msenyap๐Ÿ”” firing
14msenyap๐Ÿ”” firing
15msenyap๐Ÿ”” firing
16msenyap๐Ÿ”” firing
17msenyap๐Ÿ”” firing
18msenyap๐Ÿ”” firing
19msenyap๐Ÿ”” firing
20msenyap๐Ÿ”” firing
21msenyap๐Ÿ”” firing
22msenyap๐Ÿ”” firing
23msenyap๐Ÿ”” firing
24msenyap๐Ÿ”” firing
25msenyap๐Ÿ”” firing
26msenyap๐Ÿ”” firing
27msenyap๐Ÿ”” firing
28msenyap๐Ÿ”” firing
29msenyap๐Ÿ”” firing
30msenyap๐Ÿ”” firing
31msenyap๐Ÿ”” firing

Semak

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Label kemudi loceng ke orang yang betul. Anotasi ialah nota yang dilekat padanya.

      Semak

      bash
      promtool check rules broken.yml
      Checking broken.yml
      FAILED:
      broken.yml: 5:15: group "kedai", rule 1, "InstanceDown": could not parse expression: 1:4: parse error: unexpected "="
      promtool check rules rules.yml
      Checking rules.yml
      SUCCESS: 1 rules found
      promtool semak broken.yml: FAILED, parse error unexpected =. Kemudian ia semak rules.yml: SUCCESS, 1 rules found.

      promtool check rules uji fail itu sebelum Prometheus memuatkannya. Baris merah bermaksud: = bukan semakan. PromQL banding dengan ==.

      Anda berjaya!

      Kini anda boleh tulis alert rule yang menunggu, kemudian panggil orang yang betul.

      Nak tahu lebih (pilihan)

      keep_firing_for: 5m biar loceng terus berbunyi sekejap selepas masalah tamat. Ia hentikan bunyi hidup-mati-hidup. Dalam mesej, {{ $labels.instance }} ialah target dan {{ $value }} ialah nombornya.

      Latihan sebenar: jalankan promtool dari image rasmi. Laptop anda sendiri pun boleh.

      Misi sebenar

      1. docker run --rm --entrypoint promtool -v "$PWD:/w" -w /w quay.io/prometheus/prometheus:v3.13.5 check rules rules.yml

      0 daripada 3 langkah siap ยท Tanda anda disimpan.