Alıcı listelerini Simple Log Service içinde yönetmek yerine, uyarı bildirimlerinin alıcılarını dinamik olarak belirlemek için bir Webhook hizmeti kullanabilirsiniz.
Kullanım senaryoları
Simple Log Service'te kullanıcılar veya kullanıcı grupları oluşturup bir eylem ilkesinde bu grupları seçerek uyarı bildirimlerini alabilirsiniz. Ancak bu yaklaşım aşağıdaki gibi tüm senaryolara uygun olmayabilir:
Üçüncü taraf bir kullanıcı yönetim sistemiyle entegrasyon: Bazı kuruluşlar kendi kullanıcı yönetim sistemlerini kullanır ve kullanıcı bilgilerini Simple Log Service ile gerçek zamanlı olarak senkronize tutmak zor olabilir. Simple Log Service'teki kullanıcı ve kullanıcı grubu modelleri, kuruluşun mevcut yapısıyla tam olarak örtüşmeyebilir.
Dinamik kişilerin bilgilendirilmesi: Sisteminizde çok sayıda hizmet varsa ve her hizmet için uyarıların farklı alıcılara gönderilmesi gerekiyorsa, eylem ilkesinde ayrı dallar yapılandırmak bakım yükünü artırır.
Çalışma mantığı
Dinamik alıcı özelliği sayesinde, bir uyarı tetiklendiğinde Simple Log Service'in çağracağı bir Webhook hizmeti sağlarsınız. Webhook, alıcıların iletişim bilgilerini döndürür; bu sayede Simple Log Service içinde alıcı listelerini sürdürmenize gerek kalmaz.
-
Dinamik alıcı
-
Statik alıcı
Yapılandırma
Bir eylem ilkesinde, Recipient Type değerini Dynamic Recipient olarak ayarlayın ve ardından aşağıdaki parametreleri yapılandırın.
|
Parameter |
Description |
|
Recipient type |
Dynamic Recipient seçeneğini seçin. |
|
Recipient callback URL |
Webhook hizmetinizin URL'si. Daha fazla bilgi için bkz. API teknik özellikleri. Aşağıdaki sınırlamalar geçerlidir:
Önemli
Dinamik alıcı Webhook'u, standart bir uyarı bildirim Webhook'u ile aynı çağrı kuralını izler. Erişimi kontrol etmek için bir IP adresi izin listesi veya özel HTTP üstbilgileri yapılandırabilirsiniz. Daha fazla bilgi için bkz. Erişim kontrolünü yapılandırma. |
|
Request header |
Simple Log Service'in alıcı geri arama URL'sine istek gönderirken dahil ettiği istek üstbilgisi. Varsayılan olarak Simple Log Service, Content-Type: application/json istek üstbilgisini ekler. Content-Type değerini farklı bir değere ayarlamak etkisizdir. |
API teknik özellikleri
Request
İstek yöntemi: POST
-
İstek üstbilgisi:
Özel istek üstbilgileriniz.
Varsayılan istek üstbilgisi: Content-Type: application/json.
-
Örnek istek yükü
alerts alanı, en fazla 10 ilişkili uyarı içeren bir dizidir. Parametrelerle ilgili daha fazla bilgi için bkz. Uyarı şablonundaki değişkenler (yeni). Webhook hizmetiniz bu verileri kullanarak alıcıları belirler ve iletişim bilgilerini Simple Log Service'e döndürür.
{ "alerts": [ { "alert_id": "test-alert-1", // Unique ID of the alert "alert_instance_id": "jid-**********-a578-441e-8d25-42e92aef506c", // instance ID "alert_name": "Test Alert 1", // Alert rule name "alert_time": 1646808904, // Current evaluation time "alert_type": "sls_alert", // Alert type "aliuid": "123****3424", // Alibaba Cloud account ID // Annotations "annotations": { "desc": "Test alert triggered", // Description "title": "Test Title" // Title }, // The data entries that triggered the alert "fire_results": [ {"message": "error occurs"} ], "fire_results_count": 1, // Total number of data entries that triggered the alert "fire_time": 1646808904, // First trigger time // Labels "labels": { "app": "nginx", // Application tag "env": "prod", // Environment tag "team": "sre" // Responsible team }, "next_eval_interval": 60, // Next evaluation interval (seconds) "project": "demo-alert", // The project to which the alert rule belongs "region": "cn-hangzhou", // region "resolve_time": 0, // Time when the alert was resolved. The value is 0 if the alert status is 'firing', or the actual resolution time if the alert status is 'resolved'. "severity": 8, // alert severity (10: Critical, 8: High, 6: Medium, 4: Low, 2: Report-Only) "status": "firing" // alert status ('firing': triggered, 'resolved': recovery notification) } ] }
Response
Durum kodu: 200
Yanıt üstbilgisi: Content-Type: application/json içermelidir.
-
Yanıt gövdesi örneği:
{ "receivers": [{ "code": "86", "phone": "137****34", "email": "****@example.com" }] }
Parameter
Type
Required
Description
code
string
No
Ülke arama kodu. Belirtilmezse varsayılan olarak 86 kabul edilir.
phone
string
No
SMS, sesli arama, DingTalk ve Enterprise WeChat bildirimleri için kullanılır. E-posta bildirimleri için gerekli değildir.
email
string
No
Yalnızca e-posta bildirimleri için kullanılır. Diğer kanallar için gerekli değildir.