Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat templat notifikasi
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
Untuk ruang kerja Grafana yang mendukung Grafana versi 8.x, lihat. Bekerja di Grafana versi 8
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
dandefault.message
.
Di tab Titik kontak, Anda dapat melihat daftar templat notifikasi Anda.
Membuat template notifikasi
Untuk membuat template notifikasi
-
Klik Tambahkan templat.
-
Pilih nama untuk template notifikasi, seperti
email.subject
. -
Tulis konten template di bidang konten.
Sebagai contoh:
{{ if .Alerts.Firing -}} {{ len .Alerts.Firing }} firing alerts {{ end }} {{ if .Alerts.Resolved -}} {{ len .Alerts.Resolved }} resolved alerts {{ end }}
-
Klik Simpan.
{{ define "email.subject" }}
(diemail.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:
-
Klik Tambahkan Template.
-
Masukkan nama untuk template notifikasi keseluruhan. Misalnya,
email
. -
Tulis setiap templat di bidang Konten, termasuk
{{ define "
danname-of-template
" }}{{ end }}
di awal dan akhir setiap templat. Anda dapat menggunakan nama deskriptif untuk setiap templat di templat notifikasi, misalnya,email.subject
atauemail.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.
-
Klik Simpan.
Membuat template untuk subjek email
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
-
Buat template yang disebut
email.subject
dengan konten berikut:{{ define "email.subject" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }}
-
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
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
-
Buat template notifikasi yang disebut
email
dengan dua templat dalam konten:email.message_alert
danemail.message
.email.message_alert
Template digunakan untuk mencetak label dan nilai untuk setiap peringatan yang diaktifkan dan diselesaikan sementaraemail.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 }}
-
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
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
-
Buat template yang disebut
slack.title
dengan konten berikut:{{ define "slack.title" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }}
-
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
Buat templat 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
-
Buat template yang disebut
slack
dengan dua template dalam konten:slack.print_alert
danslack.message
.slack.print_alert
Template digunakan untuk mencetak label, anotasi, dan dasbordURL sementaraslack.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 }}
-
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
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 ini1 firing alerts, 0 resolved
alerts
, Anda dapat membuat templat bersama.
Untuk membuat template bersama
-
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 }}
-
Untuk email, jalankan template dari bidang subjek dalam integrasi titik kontak email Anda:
{{ template "common.subject_title" . }}
-
Untuk Slack, jalankan template dari bidang judul di integrasi titik kontak Slack Anda:
{{ template "common.subject_title" . }}
Menggunakan template notifikasi
Gunakan templat di titik kontak untuk menyesuaikan notifikasi Anda.
Untuk menggunakan template saat membuat titik kontak
-
Dari menu Peringatan, pilih Titik kontak untuk melihat daftar titik kontak yang ada.
-
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.
-
Masukkan templat yang ingin Anda gunakan dalam satu atau beberapa bidang, seperti Pesan atau Subjek. Untuk memasukkan template, gunakan formulir
{{ template "
, gantitemplate_name
" . }}template_name dengan nama
template yang ingin Anda gunakan. -
Klik Simpan titik kontak.