Topik ini menjawab beberapa pertanyaan umum terkait penggunaan webhook kustom.
Bagaimana cara mengonfigurasi template peringatan?
Untuk mengirim notifikasi peringatan menggunakan webhook kustom, disarankan untuk mengonfigurasi konten template peringatan dalam format JSON yang valid. Hal ini memastikan hasil rendering berada dalam format JSON yang valid.
Misalnya, jika Anda ingin mengonfigurasi template peringatan untuk pesan tertentu, dan nilai bidang alert.annotations.message mengandung tanda kutip ganda (""). Jika Anda langsung merujuk ke bidang {{ alert.annotations.message }}, hasil rendering akan menjadi format JSON yang tidak valid, sehingga notifikasi gagal dikirim.
Gunakan fungsi bawaan quote(value) di template peringatan untuk merujuk pada bidang tersebut. Ini mencegah format JSON yang tidak valid akibat karakter khusus.
Contoh Pesan Peringatan
{ "project": "test-alert", "region": "cn-hangzhou", "labels": { "service": "signin", "env": "prod" }, "annotations": { "message": "user \"xxx\" signin failed, error is: userNotFound" } }Contoh Template Peringatan
{ "project": "{{ alert.project }}", "service": "{{ alert.labels.service }}", "message": {{ alert.annotations.message | quote }} }Contoh Hasil Setelah Rendering
{ "project": "test-alert", "service": "signin", "message": "user \"xxx\" signin failed, error is: userNotFound" }
Bagaimana cara memilih jaringan?
Sistem peringatan Simple Log Service hanya mengirimkan notifikasi peringatan berbasis webhook melalui Internet. Jika Anda menggunakan sistem internal tanpa akses Internet, Anda dapat menggunakan proxy Internet. Gambar berikut menunjukkan arsitektur jaringan.
Bagaimana cara memverifikasi izin akses?
Untuk memverifikasi izin akses, Anda dapat mengonfigurasi daftar putih alamat IP atau header HTTP.
Konfigurasikan daftar putih alamat IP untuk webhook Anda dan tambahkan alamat IP 120.76.47.88 serta 119.23.150.175 ke daftar putih.
Konfigurasikan header HTTP:
Gunakan token kustom. Atur parameter Request Header menjadi
Authorization: Bearer token. Ganti token dengan token kustom Anda.Gunakan otentikasi dasar. Atur parameter Request Header menjadi
Authorization: Basic $(base64_encode(username:password)). Ganti username dan password dengan nama pengguna dan kata sandi aktual Anda.
Sebagai contoh, jika webhook Anda menggunakan reverse proxy NGINX, Anda dapat mengonfigurasi otentikasi dasar di NGINX untuk memverifikasi izin akses.
Konfigurasikan otentikasi dasar di NGINX:
Tambahkan pengguna ke file kata sandi.
PentingJika file conf/passwd tidak ada, buatlah file kata sandi terlebih dahulu.
Contoh menggunakan nama pengguna admin dan kata sandi foobar.
htpasswd -b conf/passwd admin foobarKonfigurasikan parameter auth_basic dan auth_basic_user_file di NGINX untuk mengaktifkan otentikasi dasar.
location / { auth_basic on; auth_basic_user_file conf/passwd; root html; index index.html index.htm; }Mulai ulang NGINX.
Konfigurasikan webhook kustom dalam kebijakan tindakan.
Perintah
echo -n admin:foobar | base64mengembalikanYWRtaW46Zm9vYmFy. Oleh karena itu, saat mengonfigurasi webhook kustom, atur parameter Request Header menjadiAuthorization: Basic YWRtaW46Zm9vYmFy. Untuk informasi lebih lanjut, lihat Webhook-Custom.