

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Referensi templat
<a name="v9-alerting-template-reference"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
Untuk ruang kerja Grafana yang mendukung Grafana versi 12.x, lihat. [Bekerja di Grafana versi 12](using-grafana-v12.md)  
Untuk ruang kerja Grafana yang mendukung Grafana versi 10.x, lihat. [Bekerja di Grafana versi 10](using-grafana-v10.md)  
Untuk ruang kerja Grafana yang mendukung Grafana versi 8.x, lihat. [Bekerja di Grafana versi 8](using-grafana-v8.md)

Bagian ini memberikan informasi referensi untuk membuat template Anda.

## Data templat
<a name="v9-alerting-template-data"></a>

Data berikut diteruskan ke template pesan.


| Nama | Tipe | Catatan | 
| --- | --- | --- | 
| `Receiver` | string | Nama titik kontak tempat notifikasi dikirim. | 
| `Status` | string | menembak jika setidaknya satu peringatan ditembakkan, jika tidak diselesaikan. | 
| `Alerts` | Pemberitahuan | Daftar objek peringatan yang disertakan dalam pemberitahuan ini (lihat di bawah). | 
| `GroupLabels` | KeyValue | Label peringatan ini dikelompokkan berdasarkan. | 
| `CommonLabels` | KeyValue | Label umum untuk semua peringatan yang disertakan dalam pemberitahuan ini. | 
| `CommonAnnotations` | KeyValue | Anotasi umum untuk semua peringatan yang disertakan dalam pemberitahuan ini. | 
| `ExternalURL` | string | Tautan kembali ke Grafana yang mengirim notifikasi. Jika menggunakan Alertmanager eksternal, tautan kembali ke Alertmanager ini. | 

`Alerts`Jenis ini mengekspos dua fungsi untuk memfilter peringatan yang dikembalikan.
+ `Alerts.Firing`— Mengembalikan daftar peringatan penembakan.
+ `Alerts.Resolved`— Mengembalikan daftar peringatan diselesaikan.

**Peringatan (tipe)**

Jenis peringatan berisi data berikut.


| Nama | Tipe | Catatan | 
| --- | --- | --- | 
| Status | string | `firing` atau `resolved`. | 
| Label | KeyValue | Satu set label yang dilampirkan pada peringatan. | 
| Anotasi | KeyValue | Satu set anotasi yang dilampirkan pada peringatan. | 
| Nilai | KeyValue | Nilai dari semua ekspresi, termasuk Kondisi Klasik | 
| StartsAt | waktu.waktu | Waktu peringatan mulai menembak. | 
| EndsAt | waktu.waktu | Hanya atur jika waktu akhir peringatan diketahui. Jika tidak, atur ke periode batas waktu yang dapat dikonfigurasi sejak peringatan terakhir diterima. | 
| GeneratorURL | string | Tautan balik ke Grafana atau Alertmanager eksternal. | 
| SilenceUrl | string | Tautan untuk membungkam peringatan (dengan label untuk peringatan ini telah diisi sebelumnya). Hanya untuk peringatan terkelola Grafana. | 
| DashboardURL | string | Tautkan ke dasbor grafana, jika aturan peringatan milik salah satunya. Hanya untuk peringatan terkelola Grafana. | 
| PanelURL | string | Tautkan ke panel dasbor grafana, jika aturan peringatan milik salah satunya. Hanya untuk peringatan terkelola Grafana. | 
| Sidik jari | string | Sidik jari yang dapat digunakan untuk mengidentifikasi peringatan. | 
| ValueString | string | String yang berisi label dan nilai setiap ekspresi yang dikurangi dalam peringatan. | 

 **ExtendedData**

 ExtendedData Objek berisi properti berikut.


| Nama | Jenis | Deskripsi | Contoh | 
| --- | --- | --- | --- | 
| Penerima | `string` | Nama titik kontak yang mengirimkan notifikasi. | `{{ .Receiver }}` | 
| Status | `string` | Statusnya adalah `firing if at least one alert is firing, otherwise resolved.` | `{{ .Status }}` | 
| Pemberitahuan | `[]Alert` | Daftar semua peringatan yang ditembakkan dan diselesaikan dalam pemberitahuan ini. | `There are {{ len .Alerts }} alerts` | 
| Peringatan penembakan | `[]Alert` | Daftar semua peringatan penembakan dalam pemberitahuan ini. | `There are {{ len .Alerts.Firing }} firing alerts` | 
| Peringatan terselesaikan | `[]Alert` | Daftar semua peringatan yang diselesaikan dalam pemberitahuan ini. | `There are {{ len .Alerts.Resolved }} resolved alerts` | 
| GroupLabels | `KeyValue` | Label yang mengelompokkan peringatan ini termasuk pemberitahuannya. | `{{ .GroupLabels }}` | 
| CommonLabels | `KeyValue` | Label umum untuk semua peringatan dalam pemberitahuan ini. | `{{ .CommonLabels }}` | 
| CommonAnnotations | `KeyValue` | Anotasi umum untuk semua peringatan dalam pemberitahuan ini. | `{{ .CommonAnnotations }}` | 
| URL eksternal | `string` | Tautan ke ruang kerja Grafana atau Alertmanager yang mengirimkan pemberitahuan ini. | `{{ .ExternalURL }}` | 

**KeyValue jenis**

`KeyValue`Tipe adalah satu set pasangan key/value string yang mewakili label dan anotasi.

Selain akses langsung dari data yang disimpan sebagai a`KeyValue`, ada juga metode untuk menyortir, menghapus, dan mengubah data.


| Nama | Argumen | Pengembalian | Catatan | Contoh | 
| --- | --- | --- | --- | --- | 
| SortedPairs |  | Daftar pasangan string kunci dan nilai yang diurutkan |  | `{{ .Annotations.SortedPairs }}` | 
| Menghapus | [] string | KeyValue | Mengembalikan salinan Key/Value peta tanpa kunci yang diberikan. | `{{ .Annotations.Remove "summary" }}` | 
| Nama |  | [] string | Daftar nama label | `{{ .Names }}` | 
| Nilai |  | [] string | Daftar nilai label | `{{ .Values }}` | 

**Waktu**

Waktu dari [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time)paket Go. Anda dapat mencetak waktu dalam sejumlah format berbeda. Misalnya, untuk mencetak waktu peringatan diaktifkan dalam format`Monday, 1st January 2022 at 10:00AM`, Anda menulis template berikut:

```
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
```

Anda dapat menemukan referensi untuk format waktu Go [di sini](https://pkg.go.dev/time#pkg-constants).

## Fungsi template
<a name="v9-alerting-template-functions"></a>

Dengan menggunakan fungsi template, Anda dapat memproses label dan anotasi untuk menghasilkan notifikasi dinamis. Fungsi-fungsi berikut tersedia.


| Nama | Jenis Argumen | Jenis pengembalian | Deskripsi | 
| --- | --- | --- | --- | 
| `humanize` | nomor atau string | string | Mengonversi angka ke format yang lebih mudah dibaca, menggunakan awalan metrik. | 
| `humanize1024` | nomor atau string | string | Seperti memanusiakan, tetapi menggunakan 1024 sebagai basis daripada 1000. | 
| `humanizeDuration` | nomor atau string | string | Mengonversi durasi dalam hitungan detik ke format yang lebih mudah dibaca. | 
| `humanizePercentage` | nomor atau string | string | Mengkonversi nilai rasio menjadi pecahan dari 100. | 
| `humanizeTimestamp` | nomor atau string | string | Mengonversi stempel waktu Unix dalam hitungan detik ke format yang lebih mudah dibaca. | 
| `title` | string | string | Strings.title, mengkapitalisasi karakter pertama dari setiap kata. | 
| `toUpper` | string | string | string. ToUpper, mengonversi semua karakter ke huruf besar. | 
| `toLower` | string | string | string. ToLower, mengonversi semua karakter ke huruf kecil. | 
| `match` | pola, teks | Boolean | regexp. MatchString Tes untuk pertandingan regexp yang tidak ditambatkan. | 
| `reReplaceAll` | pola, penggantian, teks | string | Regexp.ReplaceAllString Regexp substitusi, tidak berlabuh. | 
| `graphLink` | string - Objek JSON dengan `expr` dan bidang `datasource` | string | Mengembalikan jalur ke tampilan grafis di Jelajahi untuk ekspresi dan sumber data yang diberikan. | 
| `tableLink` | string - Objek JSON dengan `expr` dan bidang `datasource` | string | Mengembalikan jalur ke tampilan tabel di Jelajahi untuk ekspresi dan sumber data yang diberikan. | 
| `args` | [] antarmuka {} | peta [string] antarmuka {} | Mengkonversi daftar objek ke peta dengan kunci, misalnya, arg0, arg1. Gunakan fungsi ini untuk meneruskan beberapa argumen ke template. | 
| `externalURL` | tidak ada | string | Mengembalikan string yang mewakili URL eksternal. | 
| `pathPrefix` | tidak ada | string | Mengembalikan jalur URL eksternal. | 

Tabel berikut menunjukkan contoh penggunaan setiap fungsi.


| Fungsi | TemplateString | Input | Expected | 
| --- | --- | --- | --- | 
| memanusiakan | {memanusiakan $value} | 1234567.0 | 1.235 M | 
| manusia1024 | {humanize1024 $nilai} | 1048576.0 | 1Mi | 
| HumanizeUrasi | {HumanizeDuration $value} | 899,99 | 14m 59s | 
| HumanizePersentase | {HumanizePersentase $ nilai} | 0.1234567 | 12,35% | 
| HumanizeTimestamp | {HumanizeTimeStamp $nilai} | 1435065584.128 | 2015-06-23 13:19:44.128 \+0000 UTC | 
| title | {$value \| judul} | aa bB CC | Aa Bb Cc | 
| toUpper | {$nilai \| TouPper} | aa bB CC | AA BB CC | 
| toLower | {$value \| toLower} | aa bB CC | aa bb cc | 
| match | {cocokkan “a\+” $labels.instance} | aa | true | 
| kembali ReplaceAll | {{re ReplaceAll “localhost :( .\*)” “my.domain: $1" $labels.instance}} | localhost:3000 | domain.my:3000 | 
| GraphLink | {{GraphLink “{\\" expr\\”:\\ "up\\”,\\ "sumber data\\”:\\ "gdev-prometheus\\"}”}} |  | /jelajahi? left= ["now-1h”, "now”, "gdev-prometheus”, {"datasource” :"gdev-prometheus”, "expr” :"up”, "instant” :false, "range” :true}] | 
| TableLink | {{TableLink “{\\" expr\\”:\\ "up\\”,\\ "sumber data\\”:\\ "gdev-prometheus\\"}”}} |  | /jelajahi? left= ["now-1h”, "now”, "gdev-prometheus”, {"datasource” :"gdev-prometheus”, "expr” :"up”, "instant” :true, "range” :false}] | 
| argumen | {{define “x"}} {{.arg0}} {{.arg1}} {{end}} {{template “x” (argumen 1 “2")}} |  | 1 2 | 
| URL eksternal | {ExternalUrl} |  | http://localhost/path/prefix | 
| PathPrefix | {PathPrefix} |  | /path/prefix | 