Simple Log Service menyediakan fitur penerima dinamis, yang memungkinkan Anda mengonfigurasi penerima dinamis untuk notifikasi peringatan menggunakan webhook.
Skenario
Anda dapat membuat pengguna atau grup pengguna di sistem peringatan Simple Log Service dan menentukannya dalam kebijakan tindakan untuk menerima notifikasi peringatan. Namun, metode ini mungkin tidak memenuhi kebutuhan skenario khusus tertentu, seperti berikut:
Menghubungkan ke sistem manajemen pengguna pihak ketiga: Beberapa perusahaan memiliki sistem manajemen pengguna mandiri. Dalam kasus seperti itu, pembaruan informasi pengguna di sistem manajemen pengguna tidak dapat disinkronkan secara real-time ke sistem peringatan Simple Log Service. Struktur organisasi suatu perusahaan bervariasi berdasarkan pengguna dan grup pengguna yang dibuat di perusahaan tersebut. Oleh karena itu, model pengguna dan grup pengguna yang disediakan oleh Simple Log Service tidak berlaku untuk semua perusahaan.
Mengirim notifikasi peringatan ke penerima dinamis: Jika sistem Anda memiliki beberapa layanan dan notifikasi peringatan untuk setiap layanan perlu dikirim ke penerima yang berbeda, Anda harus mengonfigurasi beberapa grup tindakan dengan menggunakan mekanisme distribusi dinamis dari kebijakan tindakan, yang meningkatkan biaya pemeliharaan.
Cara kerjanya
Dalam skenario sebelumnya, Anda dapat menggunakan fitur penerima dinamis untuk menentukan penerima notifikasi peringatan. Jika Anda menggunakan fitur penerima dinamis, Anda harus menentukan URL webhook. Sebelum Simple Log Service mengirim notifikasi peringatan, Simple Log Service memanggil webhook. Kemudian, layanan webhook mengembalikan informasi tentang penerima notifikasi peringatan. Dengan cara ini, Anda tidak perlu memelihara penerima di sistem peringatan Simple Log Service.
Penerima Dinamis
Penerima Statis
Konfigurasi penerima dinamis
Saat membuat kebijakan tindakan, atur parameter Recipient Type menjadi Dynamic Recipient. Lalu, konfigurasikan parameter lainnya. Tabel berikut menjelaskan parameter-parameter tersebut. Untuk informasi lebih lanjut, lihat Buat Kebijakan Tindakan. 
Parameter | Deskripsi |
Recipient Type | Pilih Dynamic Recipient. |
Recipient Callback URL | Masukkan URL webhook. Untuk informasi lebih lanjut, lihat Spesifikasi Webhook. URL webhook memiliki batasan berikut:
Penting Webhook untuk penerima dinamis dipanggil dengan cara yang sama seperti webhook untuk notifikasi peringatan. Jika Anda ingin mengonfigurasi kontrol akses untuk webhook, konfigurasikan daftar putih alamat IP atau header permintaan HTTP. Untuk informasi lebih lanjut, lihat Bagaimana cara memverifikasi izin akses? |
Request Header | Masukkan header permintaan yang harus ditambahkan saat Simple Log Service mengirim permintaan ke URL webhook yang ditentukan. Secara default, header permintaan Content-Type: application/json ditambahkan. Jika Anda mengatur parameter Content-Type ke nilai lain, header permintaan tidak akan berlaku. |
Spesifikasi Webhook
Informasi Permintaan
Metode permintaan: POST
Header permintaan:
Header permintaan kustom.
Header permintaan default: Content-Type: application/json.
Contoh permintaan:
Nilai dari bidang alerts adalah array dari peringatan yang digabungkan menjadi satu set. Hingga 10 peringatan dapat disertakan dalam satu set peringatan. Untuk informasi lebih lanjut, lihat Variabel dalam Template Peringatan (Versi Baru). Setelah layanan webhook Anda menerima permintaan, layanan webhook menentukan penerima berdasarkan permintaan dan mengembalikan informasi tentang penerima ke Simple Log Service.
{ "alerts": [ { "alert_id": "test-alert-1", // Identitas unik peringatan "alert_instance_id": "jid-**********-a578-441e-8d25-42e92aef506c", // ID Instansi "alert_name": "Test Alert 1", // Nama aturan peringatan "alert_time": 1646808904, // Waktu evaluasi saat ini "alert_type": "sls_alert", // Jenis peringatan "aliuid": "123****3424", // ID akun Alibaba Cloud // Informasi anotasi "annotations": { "desc": "Peringatan uji terpicu", // Deskripsi "title": "Judul Uji" // Anotasi }, // Data yang memicu peringatan "fire_results": [ {"message": "error occurs"} ], "fire_results_count": 1, // Total jumlah entri data yang memicu peringatan "fire_time": 1646808904, // Waktu pemicu pertama // Informasi tag "labels": { "app": "nginx", // Tag aplikasi "env": "prod", // Tag lingkungan "team": "sre" // Tim yang bertanggung jawab }, "next_eval_interval": 60, // Interval evaluasi berikutnya (detik) "project": "demo-alert", // Proyek tempat aturan peringatan berada "region": "cn-hangzhou", // ID Wilayah "resolve_time": 0, // Waktu pemulihan peringatan (Jika status peringatan adalah firing, nilainya adalah 0. Jika status peringatan adalah resolved, nilainya adalah waktu pemulihan spesifik.) "severity": 8, // Tingkat keparahan peringatan (10: kritis; 8: tinggi; 6: sedang; 4: rendah; 2: hanya laporan) "status": "firing" // Status peringatan (firing: peringatan terpicu; resolved: notifikasi pemulihan) } ] }
Informasi Respons
Kode status: 200
Header respons: Header respons Content-Type: application/json harus disertakan.
Contoh respons:
{ "receivers": [{ "code": "86", "phone": "137****34", "email": "****@example.com" }] }Bidang
Tipe
Wajib
Deskripsi
code
string
Tidak
Jika respons tidak berisi bidang ini, Simple Log Service menggunakan kode default 86.
phone
string
Tidak
Bidang ini hanya valid jika Anda mengatur parameter Metode Notifikasi ke Pesan SMS, Panggilan Suara, DingTalk, atau Enterprise WeChat. Jika Anda mengatur parameter Metode Notifikasi ke Email, abaikan bidang ini.
email
string
Tidak
Bidang ini hanya valid jika Anda mengatur parameter Metode Notifikasi ke Email. Jika Anda mengatur parameter Metode Notifikasi ke nilai lain, abaikan bidang ini.