Recording Rules
Teure Ausdrücke vorberechnen, Dashboards/Alerts lesen die
fertige Serie. Naming-Konvention:
level:metric:operations, z.B.
job:http_requests:rate5m. Auswertung pro Rule-Group
sequenziell, Takt evaluation_interval (Default 1m).
Alerting Rules
expr + for: Alert ist erst
pending, nach Ablauf von for firing,
entprellt Flapping. labels (z.B.
severity) steuern das Routing im Alertmanager,
annotations sind für Menschen
(summary, Runbook-Link).
groups:
- name: api.rules
rules:
- record: job:http_requests:rate5m
expr: sum by (job) (rate(http_requests_total[5m]))
- alert: HighErrorRate
expr: |
sum by (job)
(rate(http_requests_total{code=~"5.."}[5m]))
/ sum by (job)
(rate(http_requests_total[5m])) > 0.05
for: 10m
labels: {severity: page}
annotations:
summary: >-
Fehlerquote über 5% in {{ $labels.job }}