Waarschuwingen
Hoe u kunt weten wanneer uw functies zich misdragen: de statistieken die u kunt bekijken, hoe regels worden gecontroleerd en hoe u deze via HTTP kunt beheren.
1. Maak een regel
Waarschuwingsregels worden beheerd via HTTP met een service_role sleutel. De SDK heeft geen methode voor hen.
2. Statistieken, voorwaarden en kanalen
| Veld | Toegestane waarden |
|---|---|
metric | error_rate, latency_p95, job_failures, low_disk, ai_quota, anomaly_detection of log_pattern:<service>:<regex> |
condition | gt, lt, eq, match, auto |
channel | email, webhook, slack |
threshold | Een nummer |
destination | Een e-mailadres, of de URL van de webhook of Slack hook |
log_pattern bekijkt de logboeken van één service voor een reguliere expressie: log_pattern:functions:timeout. Een onbekende waarde retourneert 400 en vermeldt de geaccepteerde waarden. Echt antwoord voor metric: "cpu":
3. Hoe regels worden gecontroleerd
- De service controleert elke ingeschakelde regel één keer per minuut.
- Numerieke statistieken worden gelezen van Prometheus;
log_patternregels vragen Loki. Elke zoekopdracht heeft een limiet van vijf seconden. Als één project mislukt, worden de andere alsnog gecontroleerd. - Wanneer een regel wordt geactiveerd, stelt de service
last_triggered_atin, neemt een gebeurtenis op en publiceert deze voor bezorging op het gekozen kanaal. - Een regel die u uitschakelt, wordt behouden maar niet gecontroleerd.
Waarschuwingen hebben Prometheus en Loki nodig om bereikbaar te zijn via de functieservice, en het e-mailkanaal heeft een e-mailprovider nodig. Op een ontwikkelingsstack zonder deze wordt een regel opgeslagen, maar deze kan niet worden geactiveerd.
4. Beheer regels en geschiedenis
| Actie | Verzoek |
|---|---|
| Maak een lijst van regels | GET /v1/functions/alerts |
| In- of uitschakelen | PATCH /v1/functions/alerts/{id} met {"enabled": false} |
| Verwijderen | DELETE /v1/functions/alerts/{id} |
| Geschiedenis van één regel | GET /v1/functions/alerts/{id}/events |
| Geschiedenis van alle regels | GET /v1/functions/alerts/events |
Een gebeurtenis heeft alert_rule_id, event_type, triggered_value, message en created_at; de geschiedenisroutes accepteren limit en offset. Elke route heeft een service_role sleutel nodig.