Prometheus, monitoring systém vyvinutý v SoundCloudu, přináší pull-based model, flexibilní dotazovací jazyk PromQL a nativní podporu pro dynamické prostředí.
Monitoring pro éru kontejnerů¶
Tradiční monitoring nástroje (Nagios, Zabbix) předpokládají statickou infrastrukturu — ručně konfigurované hosty s trvalými IP adresami. V kontejnerovém prostředí, kde se instance vytvářejí a ruší dynamicky, tento model nefunguje.
Prometheus byl vyvinutý v SoundCloudu specificky pro dynamické, cloud-native prostředí. Inspirovaný interním Google systémem Borgmon, přináší principy monitoringu na úroveň velkých technologických firem.
Pull model a service discovery¶
Prometheus aktivně stahuje (scrape) metriky z HTTP endpointů služeb — opak push modelu (StatsD, Graphite).
Výhody pull modelu:
- Jednodušší — služba jen vystaví
/metricsendpoint - Detekce výpadků — pokud scrape selže, služba je down
- Service discovery integrace — Consul, Kubernetes, DNS
# Prometheus konfigurace
scrape_configs:
- job_name: 'web-app'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
regex: web
action: keep
PromQL — dotazovací jazyk¶
PromQL je silná stránka Promethea — flexibilní dotazovací jazyk pro metriky:
# Request rate per second za posledních 5 minut
rate(http_requests_total[5m])
# 99. percentil latence
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))
# Error rate
rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m])
PromQL umožňuje ad-hoc analýzu, tvorbu dashboardů i definici alertovacích pravidel.
Alerting a Grafana integrace¶
Prometheus Alertmanager spravuje alerty — deduplikace, grouping, silencing a routing do notifikačních kanálů (email, Slack, PagerDuty).
Pro vizualizaci se Prometheus perfektně doplňuje s Grafanou — nejpopulárnějším open-source dashboarding nástrojem. Kombinace Prometheus + Grafana + Alertmanager tvoří kompletní monitoring stack.
Doporučené metriky k monitoringu: RED (Rate, Errors, Duration) pro služby, USE (Utilization, Saturation, Errors) pro infrastrukturu.
Závěr: standard pro cloud-native monitoring¶
Prometheus se rychle stává standardem pro monitoring v cloud-native prostředí. Druhý projekt přijatý do CNCF po Kubernetes — to není náhoda. Pro každý nový projekt s kontejnery doporučujeme Prometheus jako primární monitoring řešení.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns