Saat membuat kebijakan notifikasi, Anda dapat menentukan bahwa notifikasi peringatan dikirim ke URL webhook kustom. Managed Service for OpenTelemetry mendukung pengiriman peringatan webhook ke titik akhir notifikasi pihak ketiga. Topik ini menggunakan Lark sebagai contoh untuk menunjukkan cara menggunakan webhook dalam pengiriman notifikasi.
Langkah 1: Dapatkan URL webhook
Siapkan chatbot Lark di komputer Anda.
Buka Lark dan masuk.
Klik ikon + , lalu pilih New group untuk membuat grup baru guna pengiriman peringatan.
Klik ikon pengaturan grup, lalu pilih tab BOTs.
Pada tab BOTs, klik Add Bot.

Dalam kotak dialog Add Bot, pilih Custom Bot.

Atur Bot name dan Description, lalu klik Add.

Klik Copy di sebelah Webhook URL, lalu klik Save.

Langkah 2: Buat webhook
Masuk ke Konsol Managed Service for OpenTelemetry.
Di panel navigasi sisi kiri, pilih . Pada tab Webhook Integration, klik Create Webhook.
Di panel Create Webhook, konfigurasikan parameter berikut:
Parameter
Deskripsi
Nama Webhook
Wajib. Masukkan nama untuk webhook.
Post atau Get
Wajib. Tentukan metode permintaan. URL tidak boleh lebih dari 256 karakter.
Dalam contoh ini, pilih Post dan tempel URL webhook yang disimpan di Langkah 1: Dapatkan URL webhook ke dalam kotak teks di sebelah kanan.
Header atau Param
Opsional. Tentukan header permintaan. Header permintaan bisa mencapai maksimal 200 karakter. Klik + Create untuk menambahkan header atau parameter. Header permintaan default adalah Content-Type: text/plain; charset=UTF-8. Total jumlah header dan param tidak boleh melebihi enam.
Dalam contoh ini, atur dua header berikut:
Arms-Content-Type : json
Content-Type : application/json
Template Notifikasi
Opsional. Tentukan konten yang ingin Anda kirim saat peringatan dipicu. Parameter ini hanya muncul jika Anda memilih Post. 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 template 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 }} \nWaktu Peringatan: {{ .startTime }} \nKonten Notifikasi: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}" } }Template untuk Menghapus Peringatan
Opsional. Tentukan konten yang ingin Anda kirim saat peringatan diselesaikan. Parameter ini hanya muncul jika Anda memilih Post. 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 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 }}Waktu Penyelesaian Peringatan: {{ .startTime }} \nKebijakan Notifikasi: {{ .dispatchRuleName }} \nKonten Notifikasi: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}" } }Klik Send Test untuk memverifikasi validitas konfigurasi.
Klik OK.
Langkah 3: Konfigurasikan kebijakan notifikasi
Saat membuat atau memodifikasi kebijakan notifikasi, atur parameter Notification Object ke Webhook Universal dan pilih webhook yang diinginkan.
Batas waktu untuk notifikasi peringatan yang dikirim melalui webhook adalah 5 detik. Jika webhook tidak menerima respons dalam 5 detik setelah notifikasi dikirim, pengiriman notifikasi gagal.