Uyarılar
İşlevleriniz hatalı davrandığında nasıl bilgilendirilirsiniz: izleyebileceğiniz ölçümler, kuralların nasıl kontrol edildiği ve bunları HTTP üzerinden nasıl yöneteceğiniz.
1. Bir kural oluşturun
Uyarı kuralları HTTP üzerinden service_role anahtarıyla yönetilir. SDK'nın onlar için bir yöntemi yoktur.
2. Metrikler, koşullar ve kanallar
| Alan | İzin verilen değerler |
|---|---|
metric | error_rate, latency_p95, job_failures, low_disk, ai_quota, anomaly_detection veya log_pattern:<service>:<regex> |
condition | gt, lt, eq, match, auto |
channel | email, webhook, slack |
threshold | Bir sayı |
destination | Bir e-posta adresi veya web kancasının veya Slack kancasının URL'si |
log_pattern bir normal ifade için bir hizmetin günlüklerini izler: log_pattern:functions:timeout. Bilinmeyen bir değer 400 değerini döndürür ve kabul edilenleri listeler. metric: "cpu" için gerçek cevap:
3. Kurallar nasıl kontrol edilir?
- Hizmet, etkin olan her kuralı dakikada bir kez kontrol eder.
- Sayısal ölçümler Prometheus'tan okunur;
log_patternLoki'yi sorguluyor. Her sorgunun 5 saniyelik bir sınırı vardır. Bir proje başarısız olursa diğerleri yine de kontrol edilir. - Bir kural tetiklendiğinde hizmet
last_triggered_atdeğerini ayarlar, bir etkinliği kaydeder ve bunu seçilen kanalda yayınlanmak üzere yayınlar. - Devre dışı bıraktığınız bir kural korunur ancak kontrol edilmez.
Uyarıların işlevler hizmetinden erişilebilmesi için Prometheus ve Loki'ye, e-posta kanalının ise bir e-posta sağlayıcısına ihtiyacı vardır. Bunların olmadığı bir geliştirme yığınında bir kural saklanır ancak tetiklenemez.
4. Kuralları ve geçmişi yönetin
| Eylem | Talep |
|---|---|
| Kuralları listele | GET /v1/functions/alerts |
| Etkinleştir veya devre dışı bırak | PATCH /v1/functions/alerts/{id} ile {"enabled": false} |
| Sil | DELETE /v1/functions/alerts/{id} |
| Bir kuralın geçmişi | GET /v1/functions/alerts/{id}/events |
| Tüm kuralların geçmişi | GET /v1/functions/alerts/events |
Bir etkinlikte alert_rule_id, event_type, triggered_value, message ve created_at bulunur; geçmiş rotaları limit ve offset kabul eder. Her rotanın bir service_role anahtarına ihtiyacı vardır.