Saat membuat kebijakan notifikasi, Anda dapat menentukan bahwa notifikasi peringatan dikirim ke URL webhook kustom. Alibaba Cloud Managed Service for Prometheus memungkinkan pengiriman notifikasi peringatan ke kontak aplikasi pesan instan tertentu. Topik ini menjelaskan cara menggunakan webhook untuk mengirim notifikasi ke Lark.
Langkah 1: Dapatkan URL webhook
Buka dan masuk ke Lark.
Klik ikon +, lalu pilih Add Group untuk membuat grup Lark yang digunakan menerima notifikasi peringatan.
Klik ikon Pengaturan di sisi kanan grup Lark, lalu pilih tab BOTs.
Pada tab BOTs, klik Add Bot.

Di kotak dialog Add Bot, klik Tambah pada bagian Custom Bot.

Atur parameter Nama Bot dan Deskripsi, lalu klik Add.

Klik Copy di sebelah URL Webhook, lalu klik Save.

Langkah 2: Buat webhook
Masuk ke Konsol Managed Service for Prometheus. Di panel navigasi kiri, pilih .
Di kotak dialog Edit Grup Kontak, klik tab Webhook, lalu klik Create Webhook. Di kotak dialog Create Webhook, konfigurasikan parameter. Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
Webhook Name
Masukkan nama untuk webhook.
Metode permintaan
Tentukan metode permintaan dan masukkan URL HTTP atau HTTPS. Metode permintaan bisa POST atau GET, dan URL tidak boleh lebih dari 100 karakter.
Dalam contoh ini, pilih Post dan tempel URL webhook yang disimpan di Langkah 1: Dapatkan URL webhook ke dalam bidang tersebut.
Header dan Param
Tentukan header permintaan dan parameter. Maksimal 200 karakter didukung.
Klik Add untuk menambahkan header atau parameter. Header permintaan default adalah
Content-Type: text/plain; charset=UTF-8. Total jumlah header dan parameter tidak boleh melebihi 6.Dalam contoh ini, atur header berikut:
Arms-Content-Type : json
Content-Type : application/json
Jika Anda mengatur Metode Permintaan ke Post, Anda harus mengonfigurasi parameter berikut
Notification template
Tentukan konten yang ingin Anda kirim saat peringatan dipicu. Anda dapat menggunakan placeholder $content untuk menentukan konten notifikasi. Konten tidak boleh lebih dari 500 karakter. Untuk informasi lebih lanjut, lihat Konfigurasikan template notifikasi dan template webhook.
Tentukan konten notifikasi dalam format berikut:
{ "Nama Peringatan":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}", "Nama Kluster":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}", "Nama Aplikasi":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}", "Kebijakan Notifikasi":"{{ .dispatchRuleName }}", "Waktu Peringatan":"{{ .startTime }}", "Konten Notifikasi":"{{ for .alerts }} {{ .annotations.message }} {{ end }}" }Dalam contoh ini, template berikut digunakan:
{ "msg_type": "text", "content": { "text": "Nama Peringatan: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}Nama Kluster: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Nama Aplikasi: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Kebijakan Notifikasi: {{ .dispatchRuleName }} \nPeringatan Dipicu Pada: {{ .startTime }} \nPesan Peringatan: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}" } }Template to Clear Alerts
Tentukan konten yang ingin Anda kirim saat peringatan diselesaikan. Anda dapat menggunakan placeholder $content untuk menentukan konten notifikasi. Konten tidak boleh lebih dari 500 karakter. Untuk informasi lebih lanjut, lihat Konfigurasikan template notifikasi dan template webhook.
Tentukan konten notifikasi dalam format berikut:
{ "Nama Peringatan":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}", "Nama Kluster":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}", "Nama Aplikasi":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}", "Kebijakan Notifikasi":"{{ .dispatchRuleName }}", "Waktu penyelesaian peringatan":"{{ .endTime }}", "Konten Peringatan":"{{ for .alerts }} {{ .annotations.message }} {{ end }}" }Dalam contoh ini, template berikut digunakan:
{ "msg_type": "text", "content": { "text": "Nama Peringatan: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}Nama Kluster: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Nama Aplikasi: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Peringatan Dihapus Pada: {{ .startTime }} \nKebijakan Notifikasi: {{ .dispatchRuleName }} \nPesan Peringatan: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}" } }Opsional: Klik Test untuk memverifikasi validitas konfigurasi.
Klik OK.
Langkah 3: Konfigurasikan kebijakan notifikasi
Saat membuat atau memodifikasi kebijakan notifikasi, atur parameter Notification Object ke Universal Webhook, lalu pilih webhook. Untuk informasi lebih lanjut, lihat Buat dan kelola kebijakan notifikasi.
Periode timeout untuk notifikasi peringatan yang dikirim menggunakan webhook adalah 5 detik. Jika webhook tidak menerima respons dalam waktu 5 detik setelah notifikasi dikirim, pengiriman notifikasi gagal.