Nereus/observability/alerts/nereus.yaml

46 lines
1.6 KiB
YAML

groups:
- name: nereus-api
rules:
- alert: NereusAPIHighErrorRate
expr: |
sum(rate(nereus_http_requests_total{path=~"/api/v1/.*",status=~"5.."}[2m]))
/
clamp_min(sum(rate(nereus_http_requests_total{path=~"/api/v1/.*"}[2m])), 0.001)
> 0.05
for: 1m
labels:
severity: critical
annotations:
summary: Nereus API error rate exceeds 5 percent
description: The API has returned more than 5 percent HTTP 5xx responses for one minute.
- alert: NereusAPIHighLatency
expr: |
histogram_quantile(
0.95,
sum by (le) (rate(nereus_http_request_duration_seconds_bucket{path=~"/api/v1/.*"}[5m]))
) > 1
for: 2m
labels:
severity: warning
annotations:
summary: Nereus API p95 latency exceeds one second
description: The API p95 request duration has exceeded one second for two minutes.
- alert: NereusAPIReadinessFailing
expr: sum(rate(nereus_http_requests_total{path="/readyz",status="503"}[2m])) > 0
for: 1m
labels:
severity: critical
annotations:
summary: Nereus API cannot reach its database
description: Readiness requests have returned HTTP 503 for one minute.
- alert: NereusAPIDown
expr: up{job="nereus-api"} == 0
for: 1m
labels:
severity: critical
annotations:
summary: Prometheus cannot scrape the Nereus API
description: The Nereus API metrics endpoint has been unreachable for one minute.