

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

# Mengelola notifikasi peringatan
<a name="v9-alerting-managenotifications"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

Memilih bagaimana, kapan, dan di mana mengirim pemberitahuan peringatan Anda adalah bagian penting dari pengaturan sistem peringatan Anda. Keputusan ini akan berdampak langsung pada kemampuan Anda untuk menyelesaikan masalah dengan cepat dan tidak melewatkan sesuatu yang penting.

Sebagai langkah pertama, tentukan *titik kontak* Anda; ke mana harus mengirim pemberitahuan peringatan Anda. Titik kontak dapat berupa serangkaian tujuan untuk pemberitahuan yang cocok. Tambahkan templat notifikasi ke titik kontak untuk digunakan kembali dan pesan yang konsisten di notifikasi Anda.

Selanjutnya, buat *kebijakan notifikasi*, yang merupakan seperangkat aturan untuk tempat, kapan, dan bagaimana peringatan Anda diarahkan ke titik kontak. Dalam kebijakan notifikasi, Anda menentukan tempat mengirim pemberitahuan peringatan dengan memilih salah satu titik kontak yang Anda buat. Tambahkan pengaturan waktu bisu ke kebijakan notifikasi Anda. *Waktu bisu* adalah interval waktu berulang di mana Anda tidak ingin pemberitahuan dikirim.

*Saat aturan peringatan dievaluasi, penggaris peringatan mengirimkan instance peringatan ke Alertmanager — satu aturan peringatan dapat memicu beberapa instance peringatan individual.*

Alertmanager menerima instance peringatan ini dan kemudian menangani pengaturan waktu bisu, mengelompokkan peringatan, dan mengirimkan pemberitahuan ke titik kontak Anda sebagaimana didefinisikan dalam kebijakan notifikasi.

**Topics**
+ [Pengelola Peringatan](v9-alerting-managenotifications-alertmanager.md)
+ [Bekerja dengan titik kontak](v9-alerting-contact-points.md)
+ [Bekerja dengan kebijakan notifikasi](v9-alerting-notification-policies.md)
+ [Sesuaikan notifikasi](v9-alerting-notifications.md)
+ [Membungkam pemberitahuan peringatan untuk sumber data Prometheus](v9-alerting-silences.md)
+ [Bisukan waktu](v9-alerting-notification-muting.md)
+ [Lihat dan filter menurut grup peringatan](v9-alerting-viewfiltergroups.md)
+ [Lihat kesalahan pemberitahuan](v9-alerting-viewnotificationerrors.md)

# Pengelola Peringatan
<a name="v9-alerting-managenotifications-alertmanager"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

Alertmanager memungkinkan Anda mengelola dan merespons peringatan dengan cepat dan efisien. Ini menerima peringatan, menangani mutasi, penghambatan, pengelompokan, dan perutean dengan mengirimkan pemberitahuan melalui saluran pilihan Anda, misalnya, email atau Slack.

Di Grafana, Anda dapat menggunakan Grafana Alertmanager, atau Alertmanager eksternal. Anda juga dapat menjalankan beberapa pengelola peringatan; keputusan Anda tergantung pada pengaturan Anda dan di mana peringatan Anda dihasilkan.

**Grafana Alertmanager**

Grafana Alertmanager adalah Alertmanager internal yang telah dikonfigurasi sebelumnya dan tersedia untuk dipilih secara default jika Anda menjalankan Grafana di lokasi atau sumber terbuka.

Grafana Alertmanager dapat menerima peringatan dari Grafana, tetapi tidak dapat menerima peringatan dari luar Grafana, misalnya, dari Mimir atau Loki.

**catatan**  
Aturan penghambatan tidak didukung di Grafana Alertmanager.

**Pengelola Peringatan Eksternal**

Jika Anda ingin menggunakan satu alertmanager untuk menerima semua peringatan Grafana, Loki, Mimir, dan Prometheus Anda, Anda dapat mengatur Grafana untuk menggunakan Alertmanager eksternal. Alertmanager eksternal ini dapat dikonfigurasi dan dikelola dari dalam Grafana itu sendiri.

Berikut adalah dua contoh kapan Anda mungkin ingin mengonfigurasi manajer peringatan eksternal Anda sendiri dan mengirim peringatan Anda ke sana alih-alih Grafana Alertmanager:

1. Anda sudah memiliki pengelola peringatan di lokasi di infrastruktur Cloud Anda sendiri yang telah Anda atur dan masih ingin digunakan, karena Anda memiliki generator peringatan lain, seperti Prometheus.

1. Anda ingin menggunakan Prometheus on-premise dan Grafana yang dihosting untuk mengirim peringatan ke alertmanager yang sama yang berjalan di infrastruktur Cloud Anda.

Alertmanagers terlihat dari menu tarik-turun pada halaman Alerting Contact Points, dan Notification Policies.

Jika Anda menyediakan sumber data Anda, setel tanda `handleGrafanaManagedAlerts` di `jsonData` bidang untuk mengirim peringatan yang dikelola Grafana `true` ke Alertmanager ini.

# Bekerja dengan titik kontak
<a name="v9-alerting-contact-points"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

Gunakan titik kontak untuk menentukan bagaimana kontak Anda diberi tahu saat peringatan dimulai. Titik kontak dapat memiliki satu atau lebih integrasi titik kontak, misalnya, Amazon Simple Notification Service atau Slack. Ketika peringatan dimulai, pemberitahuan dikirim ke semua integrasi titik kontak yang terdaftar untuk titik kontak. Secara opsional, gunakan [templat notifikasi](v9-alerting-create-templates.md) untuk menyesuaikan pesan notifikasi untuk jenis titik kontak.

**catatan**  
Anda dapat membuat dan mengedit titik kontak untuk peringatan terkelola Grafana. Titik kontak untuk peringatan Alertmanager hanya bisa dibaca.

## Bekerja dengan titik kontak
<a name="v9-alerting-working-contact-points"></a>

Prosedur berikut merinci cara menambahkan, mengedit, menguji, dan menghapus titik kontak.

**Untuk menambahkan titik kontak**

1. **Dari konsol Grafana Anda, di menu Grafana, pilih ikon **Peringatan** (bel) untuk membuka halaman Peringatan.**

1. Pilih **Titik kontak**, lalu **Tambahkan titik kontak**.

1. Dari dropdown **Alertmanager**, pilih Alertmanager. Grafana Alertmanager dipilih secara default.

1. Masukkan **Nama** untuk titik kontak.

1. Dari **integrasi titik kontak**, pilih jenis, dan bidang wajib berdasarkan jenis itu. Misalnya, jika Anda memilih Slack, masukkan saluran Slack dan pengguna yang harus dihubungi.

1. Jika tersedia untuk titik kontak yang Anda pilih, pilih **Pengaturan opsional** yang diinginkan untuk menentukan pengaturan tambahan.

1. Di bawah **Pengaturan pemberitahuan**, pilih **Nonaktifkan pesan yang diselesaikan** secara opsional jika Anda tidak ingin diberi tahu saat peringatan diselesaikan.

1. Jika titik kontak Anda membutuhkan lebih banyak jenis titik kontak, Anda dapat memilih **Tambahkan integrasi titik kontak** dan ulangi langkah-langkah untuk setiap jenis titik kontak yang diperlukan.

1. Pilih **Simpan titik kontak** untuk menyimpan perubahan Anda.

**Untuk mengedit titik kontak**

1. Pilih **Titik kontak** untuk melihat daftar titik kontak yang ada.

1. Pilih titik kontak yang akan diedit, lalu pilih ikon **Edit** (pena).

1. Buat perubahan yang diperlukan, lalu pilih **Simpan titik kontak** untuk menyimpan perubahan Anda.

Setelah titik kontak Anda dibuat, Anda dapat mengirim pemberitahuan pengujian untuk memverifikasi bahwa itu dikonfigurasi dengan benar.

**Untuk mengirim pemberitahuan pengujian**

1. Pilih **Titik kontak** untuk membuka daftar titik kontak yang ada.

1. Pilih titik kontak yang akan diuji, lalu pilih ikon **Edit** (pena).

1. Pilih ikon **Uji** (paper airplane).

1. Pilih apakah akan mengirim pemberitahuan pengujian yang telah ditentukan sebelumnya atau pilih **Kustom** untuk menambahkan anotasi dan label kustom Anda sendiri dalam pemberitahuan pengujian.

1. Pilih **Kirim pemberitahuan pengujian** untuk menguji peringatan dengan titik kontak yang diberikan.

Anda dapat menghapus titik kontak yang tidak digunakan oleh kebijakan pemberitahuan.

**Untuk menghapus titik kontak**

1. Pilih **Titik kontak** untuk membuka daftar titik kontak yang ada.

1. Pilih titik kontak yang akan dihapus, lalu pilih ikon **Hapus** (tempat sampah).

1. Di kotak dialog konfirmasi, pilih **Ya, hapus**.

**catatan**  
Jika titik kontak digunakan oleh kebijakan notifikasi, Anda harus menghapus kebijakan notifikasi atau mengeditnya untuk menggunakan titik kontak yang berbeda sebelum menghapus titik kontak.

## Daftar notifier yang didukung
<a name="v9-alerting-contactpoint-supported-notifiers"></a>


|  Nama  |  Tipe  | 
| --- | --- | 
| Amazon SNS  |  sns  | 
|  OpsGenie  |  opsgenie  | 
| Tugas Pager  |  pagerduty  | 
| Slack  |  slack  | 
|  VictorOps  |  victorops  | 

# Bekerja dengan kebijakan notifikasi
<a name="v9-alerting-notification-policies"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

Kebijakan pemberitahuan menentukan bagaimana peringatan diarahkan ke titik kontak. Kebijakan memiliki struktur pohon, di mana setiap kebijakan dapat memiliki satu atau lebih kebijakan anak. Setiap kebijakan, kecuali kebijakan root, juga dapat mencocokkan label peringatan tertentu. Setiap peringatan dievaluasi oleh kebijakan root dan kemudian oleh setiap kebijakan anak. Jika Anda mengaktifkan `Continue matching subsequent sibling nodes` opsi untuk kebijakan tertentu, evaluasi berlanjut bahkan setelah satu atau lebih kecocokan. Pengaturan konfigurasi kebijakan induk dan informasi titik kontak mengatur perilaku peringatan yang tidak cocok dengan kebijakan turunan mana pun. Kebijakan root mengatur peringatan apa pun yang tidak cocok dengan kebijakan tertentu.

**catatan**  
Anda dapat membuat dan mengedit kebijakan notifikasi untuk lansiran terkelola Grafana. Kebijakan pemberitahuan untuk peringatan Alertmanager hanya bisa dibaca.

**Pemberitahuan pengelompokan**

Pengelompokan mengkategorikan notifikasi peringatan yang sifatnya serupa ke dalam satu corong. Ini memungkinkan Anda untuk mengontrol pemberitahuan peringatan selama pemadaman yang lebih besar ketika banyak bagian dari sistem gagal sekaligus menyebabkan sejumlah besar peringatan dimulai secara bersamaan.

**Contoh pengelompokan**

Misalkan Anda memiliki 100 layanan yang terhubung ke database di lingkungan yang berbeda. Layanan ini dibedakan oleh label`env=environmentname`. Aturan peringatan ada untuk memantau apakah layanan Anda dapat mencapai database. Aturan peringatan membuat peringatan bernama`alertname=DatabaseUnreachable`.

Jika partisi jaringan terjadi, di mana setengah dari layanan Anda tidak dapat lagi mencapai database, 50 peringatan berbeda dimulai. Untuk situasi ini, Anda ingin menerima pemberitahuan satu halaman (sebagai lawan dari 50) dengan daftar lingkungan yang terpengaruh.

Anda dapat mengonfigurasi pengelompokan menjadi `group_by: [alertname]` (tidak menggunakan `env` label, yang berbeda untuk setiap layanan). Dengan konfigurasi ini, Grafana mengirimkan satu notifikasi ringkas yang memiliki semua lingkungan yang terpengaruh untuk aturan peringatan ini.

**Grup Khusus**

Grafana memiliki dua kelompok khusus. Grup default, `group_by: null` mengelompokkan *semua* peringatan menjadi satu grup. Anda juga dapat menggunakan label khusus yang diberi nama `...` untuk mengelompokkan peringatan berdasarkan semua label, menonaktifkan pengelompokan secara efektif, dan mengirim setiap peringatan ke dalam grupnya sendiri.

## Bekerja dengan notifikasi
<a name="v9-alerting-notification-policies-working"></a>

Prosedur berikut menunjukkan cara membuat dan mengelola kebijakan notifikasi.

**Untuk mengedit kebijakan pemberitahuan root**

1. **Dari konsol Grafana Anda, di menu Grafana, pilih ikon **Peringatan** (bel) untuk membuka halaman Peringatan.**

1. Pilih **Kebijakan pemberitahuan**.

1. Dari dropdown **Alertmanager**, pilih Alertmanager yang ingin Anda edit.

1. Di bagian **Kebijakan Root**, pilih ikon **Edit** (pena).

1. Di **titik kontak default**, perbarui titik kontak tempat pemberitahuan harus dikirim untuk aturan saat aturan peringatan tidak cocok dengan kebijakan tertentu.

1. Di **Grup menurut**, pilih label (atau grup khusus) untuk mengelompokkan peringatan berdasarkan.

1. Di **Opsi waktu**, pilih dari opsi berikut.
   + **Tunggu grup** — Saatnya menunggu untuk menyangga peringatan dari grup yang sama sebelum mengirim pemberitahuan awal. Waktu default-nya adalah 30 detik.
   + **Interval grup** — Interval waktu minimum antara dua pemberitahuan untuk grup. Default adalah 5 menit.
   + **Interval pengulangan** — Interval waktu minimum sebelum mengirim ulang pemberitahuan jika tidak ada peringatan baru yang ditambahkan ke grup. Defaultnya adalah 4 jam.

1. Pilih **Simpan** untuk menyimpan perubahan Anda.

**Untuk menambahkan kebijakan spesifik tingkat atas yang baru**

1. **Dari konsol Grafana Anda, di menu Grafana, pilih ikon **Peringatan** (bel) untuk membuka halaman Peringatan.**

1. Pilih **Kebijakan pemberitahuan**.

1. Dari dropdown **Alertmanager**, pilih Alertmanager yang ingin Anda edit.

1. Di bagian **Perutean khusus**, pilih **Kebijakan spesifik baru**.

1. Di bagian **Mencocokkan label**, tambahkan satu atau beberapa label peringatan yang cocok. Informasi lebih lanjut tentang pencocokan label nanti dalam topik ini.

1. Di **titik Kontak**, tambahkan titik kontak untuk mengirim notifikasi jika peringatan cocok dengan kebijakan khusus ini. Kebijakan bersarang mengesampingkan titik kontak ini.

1. Secara opsional, aktifkan **Lanjutkan pencocokan node saudara berikutnya** untuk terus mencocokkan kebijakan saudara kandung bahkan setelah peringatan cocok dengan kebijakan saat ini. Jika kebijakan ini diaktifkan, Anda bisa mendapatkan lebih dari satu notifikasi untuk peringatan yang sama.

1. Secara opsional pilih **Ganti pengelompokan** untuk menentukan pengelompokan yang berbeda dari kebijakan root.

1. Secara opsional pilih **Ganti pengaturan waktu umum** untuk mengganti opsi waktu dalam kebijakan pemberitahuan grup.

1. Pilih **Simpan kebijakan** untuk menyimpan perubahan Anda.

**Untuk menambahkan kebijakan bersarang**

1. Perluas kebijakan spesifik yang ingin Anda buat kebijakan bersarang di bawahnya.

1. Pilih **Tambahkan kebijakan bertingkat**, lalu tambahkan detailnya (seperti saat menambahkan kebijakan spesifik tingkat atas).

1. Pilih **Simpan kebijakan** untuk menyimpan perubahan Anda.

**Untuk mengedit kebijakan tertentu**

1. Dari halaman **Peringatan**, pilih **Kebijakan pemberitahuan** untuk membuka halaman yang mencantumkan kebijakan yang ada.

1. Pilih kebijakan yang ingin Anda edit, lalu pilih ikon **Edit** (pena).

1. Buat perubahan apa pun (seperti saat menambahkan kebijakan spesifik tingkat atas).

1. Pilih **Simpan kebijakan**.

**Mencari kebijakan**

Anda dapat mencari di dalam pohon kebijakan berdasarkan *pencocokan Label atau titik* *kontak*.
+ Untuk mencari berdasarkan titik kontak, masukkan nama sebagian atau lengkap titik kontak di bidang **Cari berdasarkan titik kontak**.
+ Untuk mencari berdasarkan label, masukkan pencocokan label yang valid di kolom **Cari berdasarkan label**. Beberapa matcher dapat dimasukkan, dipisahkan dengan koma. Misalnya, masukan pencocokan yang valid bisa `severity=high, region=~EMEA|NA` jadi.
**catatan**  
Saat mencari berdasarkan label, semua kebijakan yang cocok akan sama persis. Pertandingan sebagian dan pertandingan gaya regeks tidak didukung.

**Cara kerja pencocokan label**

Kebijakan akan cocok dengan peringatan jika label peringatan cocok dengan semua *Label Pencocokan* yang ditentukan pada kebijakan.
+ **Label** — Nama label yang cocok. Itu harus sama persis dengan nama label peringatan.
+ **Operator** — Operator digunakan untuk membandingkan nilai label dengan nilai label yang cocok. Operator yang tersedia adalah:
  + `=`Pilih label yang nilainya sama persis dengan string yang disediakan.
  + `!=`Pilih label yang nilainya tidak cocok dengan string yang disediakan.
  + `=~`Pilih label yang nilainya cocok dengan nilai interpretasi regex dari string yang disediakan (string yang disediakan ditafsirkan sebagai ekspresi reguler.
  + `!=`Pilih label yang tidak cocok dengan ekspresi reguler yang disediakan.
+ **Nilai** — Nilai untuk mencocokkan nilai label. Hal ini dapat cocok sebagai string atau sebagai ekspresi reguler, tergantung pada operator yang dipilih.

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

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

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 email 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](v9-alerting-notifications-go-templating.md)
+ [Buat templat notifikasi](v9-alerting-create-templates.md)
+ [Referensi templat](v9-alerting-template-reference.md)

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

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

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="v9-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](v9-alerting-create-templates.md), dan semua data dan fungsi di[Referensi templat](v9-alerting-template-reference.md).

## Membuka dan menutup tag
<a name="v9-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="v9-go-print"></a>

Untuk mencetak nilai sesuatu gunakan `{{` dan`}}`. Anda dapat mencetak nilai titik, bidang titik, hasil fungsi, dan nilai [variabel](#v9-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="v9-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="v9-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 }}
```

## Jika pernyataan
<a name="v9-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="v9-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="v9-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="v9-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="v9-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 }}
```

## Template sematkan
<a name="v9-go-embed"></a>

Anda dapat menyematkan 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="v9-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="v9-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="v9-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="v9-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="v9-alerting-create-templates"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

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="v9-alerting-creating-templates"></a>

**Untuk membuat template notifikasi**

1. Klik **Tambahkan templat**.

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. Klik Simpan.

   `{{ 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. Klik **Tambahkan Template**.

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 berikut menunjukkan contoh rinci untuk template yang mungkin Anda buat.

1. Klik Simpan.

## Membuat template untuk subjek email
<a name="v9-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="v9-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="v9-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. Gunakan template saat membuat integrasi titik kontak Anda dengan memasukkannya ke dalam bidang **Judul** dengan `template` kata kunci.

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

## Membuat template untuk konten pesan Slack
<a name="v9-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:

```
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. Gunakan template saat membuat integrasi titik kontak Anda dengan memasukkannya ke dalam bidang **Text Body** dengan `template` kata kunci.

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

## Template email dan Slack dengan template bersama
<a name="v9-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="v9-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 **Titik kontak** untuk melihat daftar titik kontak yang ada.

1. Pilih **Tambahkan titik kontak**. Sebagai alternatif, Anda dapat mengedit titik kontak yang ada dengan memilih ikon **Edit** (pena) di sebelah titik kontak yang ingin Anda edit.

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

1. Klik **Simpan titik kontak**.

# 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 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 notifikasi 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 | Pendapat | 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  |  senar. ToUpper, mengonversi semua karakter ke huruf besar.  | 
|  `toLower`  |  string  |  string  |  senar. 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 \$1\$1  |  peta [string] antarmuka \$1\$1  |  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  |  \$1memanusiakan \$1value\$1  |  1234567.0  |  1.235 M  | 
|  manusia1024  |  \$1humanize1024 \$1nilai\$1  |  1048576.0  |  1Mi  | 
|  HumanizeUrasi  |  \$1HumanizeDuration \$1value\$1  |  899,99  |  14m 59s  | 
|  HumanizePersentase  |  \$1HumanizePersentase \$1 nilai\$1  |  0.1234567  |  12,35%  | 
|  HumanizeTimestamp  |  \$1HumanizeTimeStamp \$1nilai\$1  |  1435065584.128  |  2015-06-23 13:19:44.128 \$10000 UTC  | 
|  title  |  \$1\$1value \$1 judul\$1  |  aa bB CC  |  Aa Bb Cc  | 
|  toUpper  |  \$1\$1nilai \$1 TouPper\$1  |  aa bB CC  |  AA BB CC  | 
|  toLower  |  \$1\$1value \$1 toLower\$1  |  aa bB CC  |  aa bb cc  | 
|  match  |  \$1cocokkan “a\$1” \$1labels.instance\$1  |  aa  |  true  | 
|  reReplaceAll  |  \$1\$1 reReplaceAll “localhost :( .\$1)” “my.domain: \$11" \$1labels.instance\$1\$1  |  localhost:3000  |  domain.my:3000  | 
|  GraphLink  |  \$1\$1GraphLink “\$1\$1" expr\$1”:\$1 "up\$1”,\$1 "sumber data\$1”:\$1 "gdev-prometheus\$1"\$1”\$1\$1  |    |  /jelajahi? left= ["now-1h”, "now”, "gdev-prometheus”, \$1"datasource” :"gdev-prometheus”, "expr” :"up”, "instant” :false, "range” :true\$1]  | 
|  TableLink  |  \$1\$1TableLink “\$1\$1" expr\$1”:\$1 "up\$1”,\$1 "sumber data\$1”:\$1 "gdev-prometheus\$1"\$1”\$1\$1  |    |  /jelajahi? left= ["now-1h”, "now”, "gdev-prometheus”, \$1"datasource” :"gdev-prometheus”, "expr” :"up”, "instant” :true, "range” :false\$1]  | 
|  args  |  \$1\$1define “x"\$1\$1 \$1\$1.arg0\$1\$1 \$1\$1.arg1\$1\$1 \$1\$1end\$1\$1 \$1\$1template “x” (argumen 1 “2")\$1\$1  |    |  1 2  | 
|  URL eksternal  |  \$1ExternalUrl\$1  |    |  http://localhost/path/prefix  | 
|  PathPrefix  |  \$1PathPrefix\$1  |    |  /jalur/awalan  | 

# Membungkam pemberitahuan peringatan untuk sumber data Prometheus
<a name="v9-alerting-silences"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

*Untuk sumber data pengelola Peringatan eksternal (termasuk Amazon Managed Service untuk Prometheus), Anda dapat menekan pemberitahuan peringatan dengan diam.* Keheningan hanya menghentikan pemberitahuan agar tidak dibuat: Keheningan tidak mencegah aturan peringatan dievaluasi, dan mereka tidak menghentikan peringatan instance agar tidak ditampilkan di antarmuka pengguna. Saat Anda membungkam peringatan, Anda menentukan jendela waktu untuk ditekan.

Anda dapat mengonfigurasi keheningan untuk sumber data Alertmanager eksternal.

**catatan**  
Untuk menekan pemberitahuan peringatan pada interval waktu reguler, atau untuk sumber data lain, (misalnya, selama periode pemeliharaan rutin), gunakan [Bisukan waktu](v9-alerting-notification-muting.md) bukan diam.

**Untuk menambahkan keheningan**

1. **Dari konsol Grafana Anda, di menu Grafana, pilih ikon **Peringatan** (bel) untuk membuka halaman Peringatan.**

1. Pilih **Silences** untuk membuka daftar halaman yang ada[Bekerja dengan titik kontak](v9-alerting-contact-points.md).

1. Pilih Alertmanager eksternal dari dropdown **Alertmanager**.

1. Pilih **Tambahkan Keheningan**.

1. Pilih tanggal mulai dan berakhir di **Silence start and end** untuk menunjukkan kapan keheningan akan berlaku dan kapan harus berakhir.

   Sebagai alternatif untuk mengatur waktu akhir, di **Durasi**, tentukan berapa lama keheningan diberlakukan. Ini secara otomatis memperbarui waktu akhir di bidang **Mulai dan Akhir Diam**.

1. Di bidang **Nama** dan **Nilai**, masukkan satu atau beberapa *Label Pencocokan*. Matcher menentukan aturan mana yang berlaku untuk keheningan. Pencocokan label dibahas secara lebih rinci mengikuti prosedur ini.

1. Secara opsional, tambahkan **Komentar**, atau ubah **Pencipta** untuk mengatur pemilik keheningan.

1. Pilih **Buat** untuk membuat keheningan.

Anda dapat mengedit keheningan yang ada dengan memilih ikon **Edit** (pena).

**Pencocokan label untuk penekanan peringatan**

Saat Anda membuat keheningan, Anda membuat satu set *label yang cocok* sebagai bagian dari keheningan. Ini adalah seperangkat aturan tentang label yang harus cocok agar peringatan ditekan. Label yang cocok terdiri dari tiga bagian:
+ **Label** — Nama label yang cocok. Itu harus sama persis dengan nama label peringatan.
+ **Operator** — Operator digunakan untuk membandingkan nilai label dengan nilai label yang cocok. Operator yang tersedia adalah:
  + `=`Pilih label yang nilainya sama persis dengan string yang disediakan.
  + `!=`Pilih label yang nilainya tidak cocok dengan string yang disediakan.
  + `=~`Pilih label yang nilainya cocok dengan nilai interpretasi regex dari string yang disediakan (string yang disediakan ditafsirkan sebagai ekspresi reguler).
  + `!=`Pilih label yang tidak cocok dengan ekspresi reguler yang disediakan.
+ **Nilai** — Nilai untuk mencocokkan nilai label. Hal ini dapat cocok sebagai string atau sebagai ekspresi reguler, tergantung pada operator yang dipilih.

Keheningan berakhir pada tanggal akhir yang ditunjukkan, tetapi Anda dapat mengakhiri penindasan secara manual kapan saja.

**Untuk mengakhiri keheningan secara manual**

1. Di halaman **Peringatan**, pilih **Silences** untuk melihat daftar keheningan yang ada.

1. Pilih keheningan yang ingin Anda akhiri, dan pilih **Unsilence**. Ini mengakhiri penindasan peringatan.
**catatan**  
Unsilencing mengakhiri penindasan peringatan, seolah-olah waktu akhir ditetapkan untuk waktu saat ini. Keheningan yang telah berakhir (secara otomatis atau manual) dipertahankan dan terdaftar selama lima hari. Anda tidak dapat menghapus keheningan dari daftar secara manual.

**Membuat tautan ke formulir pembuatan keheningan**

Anda dapat membuat URL ke formulir pembuatan diam dengan detail yang sudah diisi. Operator dapat menggunakan ini untuk menekan alarm dengan cepat selama acara operasional.

Saat membuat tautan ke formulir diam, gunakan parameter `matchers` kueri untuk menentukan label yang cocok, dan parameter `comment` kueri untuk menentukan komentar. `matchers`Parameter membutuhkan satu atau lebih nilai dalam bentuk`[label][operator][value]`, dipisahkan dengan koma.

**Contoh URL**

Untuk menautkan ke formulir diam, dengan label yang cocok `severity=critical` dan`cluster!~europe-.*`, dengan komentar yang mengatakan`Silencing critical EU alerts`, gunakan URL seperti berikut ini. Ganti *mygrafana* dengan nama host instance Grafana Anda.

```
https://mygrafana/alerting/silence/new?matchers=severity%3Dcritical%2Ccluster!~europe-*&comment=Silence%20critical%20EU%20alert
```

Untuk menautkan ke halaman diam baru untuk Alertmanager eksternal, tambahkan parameter `alertmanager` kueri dengan nama sumber data Alertmanage, seperti. `alertmanager=myAlertmanagerdatasource`

# Bisukan waktu
<a name="v9-alerting-notification-muting"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

Waktu bisu adalah interval waktu berulang ketika tidak ada pemberitahuan baru untuk kebijakan yang dibuat atau dikirim. Gunakan mereka untuk mencegah peringatan menembakkan periode tertentu dan berulang, misalnya, periode pemeliharaan rutin.

Mirip dengan keheningan, timing bisu tidak mencegah aturan peringatan dievaluasi, juga tidak menghentikan instance peringatan ditampilkan di antarmuka pengguna. Mereka hanya mencegah pemberitahuan dibuat.

Anda dapat mengonfigurasi pengaturan waktu bisu terkelola Grafana serta pengaturan waktu bisu untuk sumber data Alertmanager eksternal.

**Pengaturan waktu bisu dibandingkan dengan keheningan**

Tabel berikut menyoroti perbedaan antara timing bisu dan keheningan.


| Bisukan waktu | Pembisuan | 
| --- | --- | 
|  Menggunakan definisi interval waktu yang dapat terulang kembali.  |  Memiliki waktu mulai dan berakhir yang tetap.  | 
|  Dibuat dan kemudian ditambahkan ke kebijakan pemberitahuan.  |  Menggunakan label untuk mencocokkan dengan peringatan untuk menentukan apakah akan diam atau tidak.  | 
|  Bekerja dengan peringatan Grafana dan Manajer Peringatan eksternal.  |  Hanya berfungsi dengan Alertmanagers eksternal.  | 

**Untuk membuat waktu bisu**

1. **Dari konsol Grafana Anda, di menu Grafana, pilih ikon **Peringatan** (bel) untuk membuka halaman Peringatan.**

1. Pilih **Kebijakan pemberitahuan**.

1. Dari dropdown **Alertmanager**, pilih Alertmanager yang ingin Anda edit.

1. Di bagian **Mute timing**, pilih tombol **Add mute timing**.

1. Pilih interval waktu yang Anda inginkan agar waktu bisu diterapkan.

1. Pilih **Kirim** untuk membuat waktu bisu.

**Untuk menambahkan waktu bisu ke kebijakan notifikasi**

1. Pilih kebijakan notifikasi yang ingin Anda tambahkan waktu bisu, lalu pilih tombol **Edit**.

1. Dari menu tarik-turun **Pengaturan waktu bisu**, pilih pengaturan waktu bisu yang ingin ditambahkan ke kebijakan.

   Pilih tombol **Simpan kebijakan**.

**Interval waktu**

Interval waktu adalah definisi untuk rentang waktu. Jika peringatan dimulai selama interval ini, peringatan itu ditekan. Rentang didukung menggunakan `:` (misalnya,`monday:thursday`). Waktu bisu dapat berisi beberapa interval waktu. Interval waktu terdiri dari beberapa bidang (detail dalam daftar berikut), yang semuanya harus cocok untuk menekan peringatan. Misalnya, jika Anda menentukan hari dalam seminggu `monday:friday` dan rentang waktu dari 8:00-9:00, maka peringatan ditekan dari 8-9, Senin hingga Jumat, tetapi tidak, misalnya, 8-9 pada hari Sabtu.
+ **Rentang waktu** — Waktu hari untuk menekan notifikasi. Terdiri dari dua sub-bidang, **Start time** dan **End time**. Contoh waktu adalah`14:30`. Waktu dalam notasi 24 jam, di UTC.
+ **Hari dalam seminggu** — Hari-hari dalam seminggu. Dapat berupa satu hari, seperti`monday`, rentang, seperti`monday:friday`, atau daftar hari yang terpisah koma, seperti. `monday, tuesday, wednesday`
+ **Bulan** — Bulan untuk memilih. Anda dapat menentukan bulan dengan penunjukan numerik, atau dengan nama bulan penuh, misalnya `1` atau `january` keduanya menentukan Januari. Anda dapat menentukan satu bulan, rentang bulan, atau daftar bulan yang dipisahkan koma.
+ **Hari dalam sebulan** — Tanggal dalam sebulan. Nilai dapat berkisar dari `1` -`31`. Nilai negatif menentukan hari dalam sebulan dalam urutan terbalik, jadi `-1` mewakili hari terakhir bulan itu. Hari dalam sebulan dapat ditentukan sebagai satu hari, rentang hari, atau daftar hari yang terpisah koma.
+ **Tahun** — Tahun atau tahun untuk interval. Misalnya, `2023:2025`.

Masing-masing elemen ini dapat berupa daftar, dan setidaknya satu item dalam elemen harus dipenuhi untuk menjadi kecocokan. Jadi jika Anda menetapkan tahun ke`2023:2025, 2027`, maka itu akan benar selama 2023, 2024, 2025, dan 2027 (tetapi bukan 2026).

Jika bidang dibiarkan kosong, setiap saat akan cocok dengan bidang. Momen waktu harus cocok dengan semua bidang agar sesuai dengan interval waktu yang lengkap.

Jika Anda ingin menentukan durasi yang tepat, tentukan semua opsi yang diperlukan untuk durasi tersebut. Misalnya, jika Anda ingin membuat interval waktu untuk Senin pertama setiap bulan, untuk bulan Maret, Juni, September, dan Desember, antara jam 12:00 dan 24:00 UTC, spesifikasi interval waktu Anda dapat berupa:
+ Rentang waktu:
  + Waktu mulai: `12:00`
  + Waktu akhir: `24:00`
+ Hari dalam seminggu: `monday`
+ Bulan: `3, 6, 9, 12`
+ Hari dalam sebulan: `1:7`

# Lihat dan filter menurut grup peringatan
<a name="v9-alerting-viewfiltergroups"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

Grup peringatan menampilkan peringatan yang dikelompokkan dari instance Alertmanager. Secara default, aturan peringatan dikelompokkan berdasarkan kunci label untuk kebijakan root dalam kebijakan notifikasi. Mengelompokkan aturan peringatan umum ke dalam satu grup peringatan mencegah aturan peringatan duplikat dipecat.

Anda dapat melihat grup peringatan dan juga memfilter aturan peringatan yang sesuai dengan kriteria tertentu.

**Untuk melihat grup peringatan**

1. Di menu Grafana, klik ikon **Peringatan** (bel) untuk membuka halaman Peringatan yang mencantumkan peringatan yang ada.

1. Klik **Grup peringatan** untuk membuka halaman yang mencantumkan grup yang ada.

1. Dari tarik-turun **Alertmanager**, pilih Alertmanager eksternal sebagai sumber data Anda.

1. Dari **grup kustom berdasarkan** tarik-turun, pilih kombinasi label untuk melihat pengelompokan selain default. Ini berguna untuk men-debug dan memverifikasi pengelompokan kebijakan pemberitahuan Anda.

Jika peringatan tidak berisi label yang ditentukan baik dalam pengelompokan kebijakan root atau pengelompokan kustom, maka peringatan akan ditambahkan ke grup catch all dengan header. `No grouping`

**Untuk memfilter berdasarkan label**
+ Di **Penelusuran**, masukkan label yang ada untuk melihat peringatan yang cocok dengan label.

  Misalnya, `environment=production,region=~US|EU,severity!=warning`.

**Untuk memfilter menurut negara**
+ Di **Negara Bagian**, pilih dari Status Aktif, Ditekan, atau Tidak Diproses untuk melihat peringatan yang cocok dengan status yang Anda pilih. Semua peringatan lainnya disembunyikan.

# Lihat kesalahan pemberitahuan
<a name="v9-alerting-viewnotificationerrors"></a>

****  
**Topik dokumentasi ini dirancang untuk ruang kerja Grafana yang mendukung Grafana versi 9.x.**  
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)

Lihat kesalahan pemberitahuan dan pahami mengapa kesalahan tersebut gagal dikirim atau tidak diterima.

**catatan**  
Fitur ini hanya didukung untuk Grafana Alertmanager.

**Untuk melihat kesalahan pemberitahuan**

1. Di menu Grafana, klik ikon **Peringatan** (bel) untuk membuka halaman Peringatan yang mencantumkan peringatan yang ada.

1. Pilih **Titik kontak** untuk melihat daftar titik kontak yang ada.

   Jika ada titik kontak yang gagal, pesan di sudut kanan layar memberi tahu pengguna tentang fakta bahwa ada kesalahan dan berapa banyak.

1. Klik pada titik kontak untuk melihat detail kesalahan untuk titik kontak tersebut.

   Detail kesalahan ditampilkan jika Anda mengarahkan kursor ke ikon Kesalahan.

   Jika titik kontak memiliki lebih dari satu integrasi, Anda melihat semua kesalahan untuk setiap integrasi yang terdaftar.

1. Di kolom Health, periksa status notifikasi.

   Ini bisa berupa OK, Tidak ada upaya, atau Kesalahan.