Warnungen
So erfahren Sie, wenn sich Ihre Funktionen schlecht verhalten: Welche Metriken können Sie beobachten, wie Regeln überprüft werden und wie Sie sie über HTTP verwalten.
1. Erstellen Sie eine Regel
Warnungsregeln werden über HTTP mit einem service_role-Schlüssel verwaltet. Das SDK hat keine Methode für sie.
2. Metriken, Bedingungen und Kanäle
| Feld | Zulässige Werte |
|---|---|
metric | error_rate, latency_p95, job_failures, low_disk, ai_quota, anomaly_detection oder log_pattern:<service>:<regex> |
condition | gt, lt, eq, match, auto |
channel | email, webhook, slack |
threshold | Eine Zahl |
destination | Eine E-Mail-Adresse oder die URL des Webhooks oder Slack-Hooks |
log_pattern überwacht die Protokolle eines Dienstes auf einen regulären Ausdruck: log_pattern:functions:timeout. Ein unbekannter Wert gibt 400 zurück und listet die akzeptierten auf. Echte Antwort für metric: "cpu":
3. Wie Regeln überprüft werden
- Der Dienst überprüft jede aktivierte Regel einmal pro Minute.
- Numerische Metriken werden aus Prometheus gelesen;
log_patternRegeln fragen Loki ab. Für jede Abfrage gilt ein Limit von 5 Sekunden. Sollte ein Projekt scheitern, werden die anderen trotzdem geprüft. - Wenn eine Regel ausgelöst wird, legt der Dienst
last_triggered_atfest, zeichnet ein Ereignis auf und veröffentlicht es zur Übermittlung auf dem ausgewählten Kanal. - Eine von Ihnen deaktivierte Regel wird beibehalten, aber nicht überprüft.
Für Benachrichtigungen müssen Prometheus und Loki über den Funktionsdienst erreichbar sein, und der E-Mail-Kanal benötigt einen E-Mail-Anbieter. Auf einem Entwicklungsstapel ohne sie wird eine Regel gespeichert, kann aber nicht ausgelöst werden.
4. Regeln und Verlauf verwalten
| Aktion | Anfrage |
|---|---|
| Regeln auflisten | GET /v1/functions/alerts |
| Aktivieren oder deaktivieren | PATCH /v1/functions/alerts/{id} mit {"enabled": false} |
| Löschen | DELETE /v1/functions/alerts/{id} |
| Geschichte einer Regel | GET /v1/functions/alerts/{id}/events |
| Geschichte aller Regeln | GET /v1/functions/alerts/events |
Ein Ereignis hat alert_rule_id, event_type, triggered_value, message und created_at; Die Verlaufsrouten akzeptieren limit und offset. Jede Route benötigt einen service_role-Schlüssel.