Prometheus
Observability-as-Code
Baza metryk i alerting - reguły i alerty jako kod (PromQL, YAML). Standard monitoringu cloud-native.
Prometheus to baza szeregów czasowych i silnik alertingu - de facto standard metryk w świecie cloud-native (projekt CNCF na poziomie „graduated”). Zbiera metryki modelem pull, przechowuje je jako szeregi czasowe z etykietami, a odpytujesz je językiem PromQL. Kluczowe dla EIAC: reguły recording i alerting są kodem (pliki YAML), więc wersjonujesz je, recenzujesz w PR i egzekwujesz jak każdą inną konfigurację.
Kiedy używać
- Chcesz metryk i alertów w podejściu deklaratywnym, wersjonowanym (GitOps dla monitoringu).
- Potrzebujesz standardu z ogromnym ekosystemem eksporterów i integracji.
- Zależy Ci na self-hostingu i braku vendor lock-inu (dane po Twojej stronie).
Przykład użycia
# alert.rules.yml - alert jako kod
groups:
- name: slo
rules:
- alert: WysokiCzasOdpowiedzi
expr: histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m])) > 0.5
for: 10m
labels: { severity: page }
annotations: { summary: "p99 latency > 500ms" }
Warto wiedzieć
- Routing alertów obsługuje Alertmanager (też konfigurowany jako kod); SLO z reguł generuje Sloth.
- Dostarcza mierzalnych szybkości procesu (λ/μ) z artykułu o łańcuchach Markowa oraz metryk pod DORA w praktyce.
- Dashboardy najczęściej rysuje Grafana; dla dużej skali/retencji zob. VictoriaMetrics.