

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

# Sesuaikan notifikasi
<a name="v10-alerting-manage-notifications"></a>

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

Sesuaikan notifikasi Anda dengan templat notifikasi.

Anda dapat menggunakan templat notifikasi untuk mengubah judul, pesan, dan format pesan di notifikasi.

Template notifikasi tidak terkait dengan integrasi titik kontak tertentu, seperti Amazon SNS atau Slack. Namun, Anda dapat memilih untuk membuat templat notifikasi terpisah untuk integrasi titik kontak yang berbeda.

Anda dapat menggunakan template notifikasi untuk:
+ Menambahkan, menghapus, atau mengurutkan ulang informasi dalam pemberitahuan termasuk ringkasan, deskripsi, label dan anotasi, nilai, dan tautan
+ Format teks dalam huruf tebal dan miring, dan tambahkan atau hapus jeda baris

Anda tidak dapat menggunakan templat notifikasi untuk:
+ Ubah desain notifikasi di layanan pesan instan seperti Slack dan Microsoft Teams

**Topics**
+ [Menggunakan bahasa template Go](v10-alerting-notifications-go-templating.md)
+ [Buat templat notifikasi](v10-alerting-create-templates.md)
+ [Menggunakan template notifikasi](#v10-alerting-use-notification-templates)
+ [Referensi templat](v10-alerting-template-reference.md)

# Menggunakan bahasa template Go
<a name="v10-alerting-notifications-go-templating"></a>

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

Anda menulis template notifikasi dalam bahasa template Go, [teks/template](https://pkg.go.dev/text/template).

Bagian ini memberikan ikhtisar bahasa template Go dan template penulisan dalam teks/template.

## Dot
<a name="v10-go-dot"></a>

Di text/template sana ada kursor khusus yang disebut titik, dan ditulis sebagai`.`. Anda dapat menganggap kursor ini sebagai variabel yang nilainya berubah tergantung di mana dalam template itu digunakan. Misalnya, pada awal template notifikasi `.` mengacu pada `ExtendedData` objek, yang berisi sejumlah bidang termasuk`Alerts`,,`Status`, `GroupLabels``CommonLabels`, `CommonAnnotations` dan`ExternalURL`. Namun, dot mungkin merujuk ke sesuatu yang lain saat digunakan dalam daftar di `range` atas, saat digunakan di dalam`with`, atau saat menulis templat fitur untuk digunakan di templat lain. Anda dapat melihat contoh ini di[Buat templat notifikasi](v10-alerting-create-templates.md), dan semua data dan fungsi di[Referensi templat](v10-alerting-template-reference.md).

## Membuka dan menutup tag
<a name="v10-go-openclosetags"></a>

Dalam teks/template, template dimulai dengan `{{` dan diakhiri dengan `}}` terlepas dari apakah template mencetak variabel atau menjalankan struktur kontrol seperti pernyataan if. Ini berbeda dari bahasa templating lainnya seperti Jinja di mana pencetakan variabel menggunakan `{{` dan `}}` dan struktur kontrol menggunakan `{%` dan. `%}`

## Cetak
<a name="v10-go-print"></a>

Untuk mencetak nilai sesuatu gunakan `{{` dan`}}`. Anda dapat mencetak nilai titik, bidang titik, hasil fungsi, dan nilai [variabel](#v10-go-variables). Misalnya, untuk mencetak `Alerts` bidang di mana titik mengacu pada `ExtendedData` Anda akan menulis yang berikut:

```
{{ .Alerts }}
```

## Iterasi di atas peringatan
<a name="v10-go-iterate-alerts"></a>

Untuk mencetak hanya label setiap peringatan, bukan semua informasi tentang peringatan, Anda dapat menggunakan a `range` untuk mengulangi peringatan di: `ExtendedData`

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
```

Di dalam rentang titik tidak lagi mengacu pada`ExtendedData`, tetapi ke`Alert`. Anda dapat menggunakan `{{ .Labels }}` untuk mencetak label setiap peringatan. Ini berfungsi karena `{{ range .Alerts }}` perubahan titik untuk merujuk ke peringatan saat ini dalam daftar peringatan. Ketika rentang selesai titik diatur ulang ke nilai yang dimilikinya sebelum dimulainya rentang, yang dalam contoh ini adalah`ExtendedData`:

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
{{/* does not work, .Labels does not exist here */}}
{{ .Labels }}
{{/* works, cursor was reset */}}
{{ .Status }}
```

## Ulangi anotasi dan label
<a name="v10-go-iterate-labels"></a>

Mari kita menulis template untuk mencetak label setiap peringatan dalam format`The name of the label is $name, and the value is $value`, di mana `$name` dan `$value` berisi nama dan nilai setiap label.

Seperti pada contoh sebelumnya, gunakan rentang untuk mengulangi peringatan `.Alerts` sedemikian rupa sehingga titik mengacu pada peringatan saat ini dalam daftar peringatan, dan kemudian gunakan rentang kedua pada label yang diurutkan sehingga titik diperbarui untuk kedua kalinya untuk merujuk ke label saat ini. Di dalam rentang kedua gunakan `.Name` dan `.Value` untuk mencetak nama dan nilai setiap label:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
The name of the label is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ range .Annotations.SortedPairs }}
The name of the annotation is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ end }}
```

## Fungsi indeks
<a name="v10-go-index"></a>

Untuk mencetak anotasi atau label tertentu, gunakan `index` fungsi.

```
{{ range .Alerts }}
The name of the alert is {{ index .Labels "alertname" }}
{{ end }}
```

## Jika pernyataan
<a name="v10-go-if"></a>

Anda dapat menggunakan pernyataan if dalam template. Misalnya, untuk mencetak `There are no alerts` jika tidak ada peringatan di `.Alerts` Anda akan menulis yang berikut:

```
{{ if .Alerts }}
There are alerts
{{ else }}
There are no alerts
{{ end }}
```

## Dengan
<a name="v10-go-with"></a>

Dengan mirip dengan pernyataan if, namun tidak seperti pernyataan if, `with` pembaruan titik untuk merujuk ke nilai with:

```
{{ with .Alerts }}
There are {{ len . }} alert(s)
{{ else }}
There are no alerts
{{ end }}
```

## Variabel
<a name="v10-go-variables"></a>

Variabel dalam text/template harus dibuat dalam template. Misalnya, untuk membuat variabel yang disebut `$variable` dengan nilai titik saat ini Anda akan menulis yang berikut ini:

```
{{ $variable := . }}
```

Anda dapat menggunakan `$variable` di dalam rentang atau `with` dan itu akan merujuk ke nilai titik pada saat variabel didefinisikan, bukan nilai titik saat ini.

Misalnya, Anda tidak dapat menulis templat yang digunakan `{{ .Labels }}` dalam rentang kedua karena di sini titik mengacu pada label saat ini, bukan peringatan saat ini:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* does not work because in the second range . is a label not an alert */}}
There are {{ len .Labels }}
{{ end }}
{{ end }}
```

Anda dapat memperbaikinya dengan mendefinisikan variabel yang disebut `$alert` dalam rentang pertama dan sebelum rentang kedua:

```
{{ range .Alerts }}
{{ $alert := . }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* works because $alert refers to the value of dot inside the first range */}}
There are {{ len $alert.Labels }}
{{ end }}
{{ end }}
```

## Rentang dengan indeks
<a name="v10-go-rangeindex"></a>

Anda bisa mendapatkan indeks setiap peringatan dalam rentang dengan mendefinisikan indeks dan variabel nilai di awal rentang:

```
{{ $num_alerts := len .Alerts }}
{{ range $index, $alert := .Alerts }}
This is alert {{ $index }} out of {{ $num_alerts }}
{{ end }}
```

## Tentukan templat
<a name="v10-go-define"></a>

Anda dapat menentukan template yang dapat digunakan dalam template lain, menggunakan `define` dan nama template dalam tanda kutip ganda. Anda tidak boleh mendefinisikan template dengan nama yang sama dengan template lain, termasuk template default seperti`__subject`,`__text_values_list`,`__text_alert_list`, `default.title` dan`default.message`. Jika templat telah dibuat dengan nama yang sama dengan templat default, atau templat di templat notifikasi lain, Grafana mungkin menggunakan salah satu templat. Grafana tidak mencegah, atau menampilkan pesan kesalahan, ketika ada dua atau lebih templat dengan nama yang sama.

```
{{ define "print_labels" }}
{{ end }}
```

## Jalankan template
<a name="v10-go-execute"></a>

Anda dapat mengeksekusi template yang ditentukan dalam template Anda menggunakan`template`, nama template dalam tanda kutip ganda, dan kursor yang harus diteruskan ke template:

```
{{ template "print_labels" . }}
```

## Meneruskan data ke template
<a name="v10-go-passdata"></a>

Dalam titik template mengacu pada nilai yang diteruskan ke template.

Misalnya, jika templat dilewatkan daftar peringatan penembakan maka dot mengacu pada daftar peringatan penembakan tersebut:

```
{{ template "print_alerts" .Alerts }}
```

Jika templat dilewatkan label yang diurutkan untuk peringatan maka dot mengacu pada daftar label yang diurutkan:

```
{{ template "print_labels" .SortedLabels }}
```

Ini berguna saat menulis templat yang dapat digunakan kembali. Misalnya, untuk mencetak semua peringatan, Anda dapat menulis yang berikut ini:

```
{{ template "print_alerts" .Alerts }}
```

Kemudian untuk mencetak hanya peringatan penembakan Anda dapat menulis ini:

```
{{ template "print_alerts" .Alerts.Firing }}
```

Ini berfungsi karena keduanya `.Alerts` dan `.Alerts.Firing` merupakan daftar peringatan.

```
{{ define "print_alerts" }}
{{ range . }}
{{ template "print_labels" .SortedLabels }}
{{ end }}
{{ end }}
```

## Komentar
<a name="v10-go-comments"></a>

Anda dapat menambahkan komentar dengan `{{/*` dan`*/}}`:

```
{{/* This is a comment */}}
```

Untuk mencegah komentar menambahkan jeda baris gunakan:

```
{{- /* This is a comment with no leading or trailing line breaks */ -}}
```

## Lekukan
<a name="v10-go-indentation"></a>

Anda dapat menggunakan lekukan, baik tab maupun spasi, dan jeda baris, untuk membuat templat lebih mudah dibaca:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Namun, lekukan dalam template juga akan ada dalam teks. Selanjutnya kita akan melihat cara menghapusnya.

## Hapus spasi dan jeda baris
<a name="v10-go-removespace"></a>

 text/template Digunakan `{{-` dan `-}}` untuk menghapus spasi depan dan trailing dan jeda garis.

Misalnya, saat menggunakan lekukan dan jeda baris untuk membuat templat lebih mudah dibaca:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Lekukan dan jeda baris juga akan ada dalam teks:

```
    alertname = "Test"

    grafana_folder = "Test alerts"
```

Anda dapat menghapus lekukan dan jeda baris dari teks yang berubah `}}` menjadi `-}}` di awal setiap rentang:

```
{{ range .Alerts -}}
  {{ range .Labels.SortedPairs -}}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Indentasi dan jeda baris dalam template sekarang tidak ada dari teks:

```
alertname = "Test"
grafana_folder = "Test alerts"
```

# Buat templat notifikasi
<a name="v10-alerting-create-templates"></a>

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

Buat templat notifikasi yang dapat digunakan kembali untuk dikirim ke titik kontak Anda.

Anda dapat menambahkan satu atau beberapa templat ke templat notifikasi Anda.

Nama template notifikasi Anda harus unik. Anda tidak dapat memiliki dua templat dengan nama yang sama di templat notifikasi yang sama atau di templat notifikasi yang berbeda. Hindari mendefinisikan template dengan nama yang sama dengan template default, seperti:`__subject`,, `__text_values_list``__text_alert_list`, `default.title` dan`default.message`.

Di tab Titik kontak, Anda dapat melihat daftar templat notifikasi Anda.

## Membuat template notifikasi
<a name="v10-alerting-creating-templates"></a>

**Untuk membuat template notifikasi**

1. Pilih **Peringatan, Titik** **kontak**.

1. Pilih tab **Template Pemberitahuan**, lalu **\$1 Tambahkan templat notifikasi**.

1. Pilih nama untuk template notifikasi, seperti`email.subject`.

1. Tulis konten template di bidang konten.

   Contoh:

   ```
   {{ if .Alerts.Firing -}}
      {{ len .Alerts.Firing }} firing alerts
      {{ end }}
      {{ if .Alerts.Resolved -}}
      {{ len .Alerts.Resolved }} resolved alerts
      {{ end }}
   ```

1. Simpan perubahan Anda.

   `{{ define "email.subject" }}`(di `email.subject` mana nama template Anda) dan `{{ end }}` secara otomatis ditambahkan ke awal dan akhir konten.

**Untuk membuat template notifikasi yang berisi lebih dari satu template**

1. Pilih **Peringatan, Titik** **kontak**.

1. Pilih tab **Template Pemberitahuan**, lalu **\$1 Tambahkan templat notifikasi**.

1. Masukkan nama untuk template notifikasi keseluruhan. Misalnya, `email`.

1. Tulis setiap templat di bidang Konten, termasuk `{{ define "name-of-template" }}` dan `{{ end }}` di awal dan akhir setiap templat. Anda dapat menggunakan nama deskriptif untuk setiap templat di templat notifikasi, misalnya, `email.subject` atau`email.message`. Dalam hal ini, jangan gunakan kembali nama template notifikasi yang Anda masukkan di atas.

   Bagian selanjutnya menunjukkan contoh rinci untuk template yang mungkin Anda buat.

1. Klik Simpan.

## Templat pemberitahuan pratinjau
<a name="v10-alerting-preview-templates"></a>

Pratinjau bagaimana template notifikasi Anda akan terlihat sebelum menggunakannya di titik kontak Anda, membantu Anda memahami hasil template yang Anda buat serta memberi Anda kesempatan untuk memperbaiki kesalahan sebelum menyimpan template.

**catatan**  
Pratinjau notifikasi hanya tersedia untuk Grafana Alertmanager.

**Untuk melihat pratinjau templat notifikasi**

1. Pilih **Peringatan, Titik** **kontak**.

1. Pilih tab **Template Pemberitahuan**, lalu **\$1 Tambahkan templat notifikasi**, atau edit templat yang ada.

1. Tambahkan atau perbarui konten template Anda.

   Data default disediakan dan Anda dapat menambahkan atau mengedit data peringatan ke dalamnya serta instance peringatan. Anda dapat menambahkan data peringatan langsung di jendela data Payload itu sendiri, atau klik **Pilih instance peringatan** atau **Tambahkan peringatan khusus**.

1. [Opsional] Untuk menambahkan data peringatan dari instance peringatan yang ada:

   1. Pilih **Pilih instans peringatan**.

   1. Arahkan kursor ke instance peringatan untuk melihat informasi selengkapnya tentang setiap instance peringatan/

   1. Pilih **Konfirmasi** untuk menambahkan instance peringatan ke payload.

1. [Opsional] Untuk menambahkan data peringatan menggunakan editor data Peringatan, pilih **Tambahkan data khusus**:

   1. Tambahkan anotasi, label khusus, atau atur dasbor atau panel.

   1. Alihkan Penembakan atau diselesaikan, tergantung pada apakah Anda ingin menambahkan peringatan yang diaktifkan atau diselesaikan ke notifikasi Anda.

   1. Pilih **Tambahkan data peringatan**.

   1. Pilih **Refresh preview** untuk melihat seperti apa konten template Anda nantinya dan data payload yang sesuai.

   Jika ada kesalahan dalam template Anda, mereka ditampilkan di Pratinjau dan Anda dapat memperbaikinya sebelum menyimpan.

1. Simpan perubahan Anda.

## Membuat template untuk subjek pesan
<a name="v10-alerting-create-template-subject"></a>

Buat templat untuk subjek email yang berisi jumlah peringatan yang ditembakkan dan diselesaikan, seperti dalam contoh ini:

```
1 firing alerts, 0 resolved alerts
```

**Untuk membuat template untuk subjek email**

1. Buat template yang disebut `email.subject` dengan konten berikut:

   ```
   {{ define "email.subject" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Gunakan template saat membuat integrasi titik kontak Anda dengan memasukkannya ke bidang **Subjek** dengan `template` kata kunci.

   ```
   {{ template "email.subject" . }}
   ```

## Membuat template untuk pesan email
<a name="v10-alerting-create-template-message"></a>

Buat templat untuk pesan email yang berisi ringkasan semua peringatan yang diaktifkan dan diselesaikan, seperti dalam contoh ini:

```
There are 2 firing alerts, and 1 resolved alerts

Firing alerts:

- alertname=Test 1 grafana_folder=GrafanaCloud has value(s) B=1
- alertname=Test 2 grafana_folder=GrafanaCloud has value(s) B=2

Resolved alerts:

- alertname=Test 3 grafana_folder=GrafanaCloud has value(s) B=0
```

**Untuk membuat template untuk pesan email**

1. Buat template notifikasi yang disebut `email` dengan dua templat dalam konten: `email.message_alert` dan`email.message`.

   `email.message_alert`Template digunakan untuk mencetak label dan nilai untuk setiap peringatan yang diaktifkan dan diselesaikan sementara `email.message` template berisi struktur email.

   ```
   {{- define "email.message_alert" -}}
   {{- range .Labels.SortedPairs }}{{ .Name }}={{ .Value }} {{ end }} has value(s)
   {{- range $k, $v := .Values }} {{ $k }}={{ $v }}{{ end }}
   {{- end -}}
   
   {{ define "email.message" }}
   There are {{ len .Alerts.Firing }} firing alerts, and {{ len .Alerts.Resolved }} resolved alerts
   
   {{ if .Alerts.Firing -}}
   Firing alerts:
   {{- range .Alerts.Firing }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ if .Alerts.Resolved -}}
   Resolved alerts:
   {{- range .Alerts.Resolved }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ end }}
   ```

1. Gunakan template saat membuat integrasi titik kontak Anda dengan memasukkannya ke dalam bidang **Text Body** dengan `template` kata kunci.

   ```
   {{ template "email.message" . }}
   ```

## Membuat template untuk judul pesan Slack
<a name="v10-alerting-create-template-slack-title"></a>

Buat template untuk judul pesan Slack yang berisi jumlah peringatan yang diaktifkan dan diselesaikan, seperti pada contoh berikut:

```
1 firing alerts, 0 resolved alerts
```

**Untuk membuat template untuk judul pesan Slack**

1. Buat template yang disebut `slack.title` dengan konten berikut:

   ```
   {{ define "slack.title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Jalankan template dari bidang judul dalam integrasi titik kontak Anda.

   ```
   {{ template "slack.title" . }}
   ```

## Membuat template untuk konten pesan Slack
<a name="v10-alerting-create-template-slack-message"></a>

Buat template untuk konten pesan Slack yang berisi deskripsi semua peringatan yang diaktifkan dan diselesaikan, termasuk label, anotasi, dan URL Dasbor.

**catatan**  
Template ini hanya untuk peringatan terkelola Grafana. Untuk menggunakan template untuk lansiran terkelola sumber data, hapus referensi ke DashboardURL dan SilenceUrl. [Untuk informasi selengkapnya tentang mengonfigurasi notifikasi Prometheus, lihat dokumentasi Prometheus tentang notifikasi.](https://prometheus.io/docs/alerting/latest/notifications/)

```
1 firing alerts:

[firing] Test1
Labels:
- alertname: Test1
- grafana_folder: GrafanaCloud
Annotations:
- description: This is a test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1

1 resolved alerts:

[firing] Test2
Labels:
- alertname: Test2
- grafana_folder: GrafanaCloud
Annotations:
- description: This is another test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1
```

**Untuk membuat template untuk konten pesan Slack**

1. Buat template yang disebut `slack` dengan dua template dalam konten: `slack.print_alert` dan`slack.message`.

   `slack.print_alert`Template digunakan untuk mencetak label, anotasi, dan dasbordURL sementara `slack.message` template berisi struktur notifikasi.

   ```
   {{ define "slack.print_alert" -}}
   [{{.Status}}] {{ .Labels.alertname }}
   Labels:
   {{ range .Labels.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ if .Annotations -}}
   Annotations:
   {{ range .Annotations.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ end -}}
   {{ if .DashboardURL -}}
     Go to dashboard: {{ .DashboardURL }}
   {{- end }}
   {{- end }}
   
   {{ define "slack.message" -}}
   {{ if .Alerts.Firing -}}
   {{ len .Alerts.Firing }} firing alerts:
   {{ range .Alerts.Firing }}
   {{ template "slack.print_alert" . }}
   {{ end -}}
   {{ end }}
   {{ if .Alerts.Resolved -}}
   {{ len .Alerts.Resolved }} resolved alerts:
   {{ range .Alerts.Resolved }}
   {{ template "slack.print_alert" .}}
   {{ end -}}
   {{ end }}
   {{- end }}
   ```

1. Jalankan template dari bidang isi teks dalam integrasi titik kontak Anda:

   ```
   {{ template "slack.message" . }}
   ```

## Template email dan Slack dengan template bersama
<a name="v10-alerting-create-shared-templates"></a>

Alih-alih membuat template notifikasi terpisah untuk setiap titik kontak, seperti email dan Slack, Anda dapat berbagi template yang sama.

Misalnya, jika Anda ingin mengirim email dengan subjek ini dan pesan Slack dengan judul ini`1 firing alerts, 0 resolved alerts`, Anda dapat membuat templat bersama.

**Untuk membuat template bersama**

1. Buat template yang disebut `common.subject_title` dengan konten berikut:

   ```
   {{ define "common.subject_title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Untuk email, jalankan template dari bidang subjek dalam integrasi titik kontak email Anda:

   ```
   {{ template "common.subject_title" . }}
   ```

1. Untuk Slack, jalankan template dari bidang judul di integrasi titik kontak Slack Anda:

   ```
   {{ template "common.subject_title" . }}
   ```

## Menggunakan template notifikasi
<a name="v10-alerting-use-notification-templates"></a>

Gunakan templat di titik kontak untuk menyesuaikan notifikasi Anda.

**Untuk menggunakan template saat membuat titik kontak**

1. Dari menu **Peringatan**, pilih tab **Titik kontak** untuk melihat daftar titik kontak yang ada.

1. Pilih **Baru**. Sebagai alternatif, Anda dapat mengedit titik kontak yang ada dengan memilih ikon **Edit**.

1. Masukkan templat yang ingin Anda gunakan di bidang, seperti **Pesan** atau **Subjek**. Untuk memasukkan templat, gunakan formulir`{{ template "template_name" . }}`, ganti *template\$1name* dengan nama templat yang ingin Anda gunakan.

1. Pilih **Simpan titik kontak**.

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

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 10.x.**  
Untuk ruang kerja Grafana yang mendukung Grafana versi 9.x, lihat. [Bekerja di Grafana versi 9](using-grafana-v9.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.

**Peringatan (tipe)**

Jenis peringatan berisi data berikut.


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

 **ExtendedData**

 ExtendedData Objek berisi properti berikut.


| Nama | Jenis | Deskripsi | Contoh | 
| --- | --- | --- | --- | 
|  Penerima  |  `string`  |  Nama titik kontak yang mengirimkan notifikasi.  |  `{{ .Receiver }}`  | 
|  Status  |  `string`  |  Statusnya adalah `firing` jika setidaknya satu peringatan ditembakkan, jika tidak`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 yang umum untuk semua peringatan dalam notifikasi 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 | Pendapat | Pengembalian | Catatan | Contoh | 
| --- | --- | --- | --- | --- | 
|  SortedPairs  |    |  Daftar yang diurutkan dari pasangan string kunci dan nilai  |    | `{{ .Annotations.SortedPairs }}` | 
|  Menghapus  |  [] string  |  KeyValue  |  Mengembalikan salinan Key/Value peta tanpa kunci yang diberikan.  | `{{ .Annotations.Remove "summary" }}` | 
|  Nama  |    |  [] string  |  Daftar nama  | `{{ .Names }}` | 
|  Nilai  |    |  [] string  |  Daftar nilai  | `{{ .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).