Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Prometheus -- Monitoring für die Container-Welt

11. 05. 2017 1 Min. Lesezeit CORE SYSTEMSdevops
Prometheus -- Monitoring für die Container-Welt

Nagios hat uns zehn Jahre lang treu gedient. Aber in der dynamischen Welt der Container, in der Pods jede Minute geboren werden und sterben, ist eine statische Monitoring-Konfiguration nicht haltbar. Prometheus mit seiner Service Discovery und dem Pull-Modell ist genau das, was wir brauchen.

Warum nicht Nagios/Zabbix

Traditionelles Monitoring funktioniert nach dem Prinzip: Konfigurieren Sie eine Liste von Hosts, definieren Sie Checks, überwachen Sie. Aber in Kubernetes haben Sie keine “Hosts” – Sie haben Pods, die dynamisch zwischen Nodes wechseln, hoch- und herunterskalieren, sterben und wiedergeboren werden.

Prometheus-Architektur

Prometheus arbeitet mit einem Pull-Modell – es holt sich aktiv Metriken von definierten Endpoints. In Kubernetes hat es native Service Discovery: Es findet automatisch alle Pods mit der Annotation prometheus.io/scrape: "true" und beginnt, Metriken von ihnen zu sammeln.

PromQL – Eine Sprache, die man liebt oder hasst

# Prometheus -- Monitoring für die Container-Welt
rate(http_requests_total[5m])

# 99th percentile latency
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))

# Pod CPU utilization
rate(container_cpu_usage_seconds_total{namespace="production"}[5m])

PromQL lernt man schrittweise, aber sobald man es beherrscht, kann man Fragen beantworten, die man mit Nagios nie gestellt hätte.

Grafana-Dashboards

Prometheus selbst hat ein minimalistisches Web-UI. Für die Visualisierung verwenden wir Grafana, das eine native Prometheus-Datenquelle hat. Die Community teilt Tausende fertiger Dashboards auf grafana.com.

Alerting mit Alertmanager

groups:
- name: application
  rules:
  - alert: HighErrorRate
    expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.1
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "High error rate on {{ $labels.service }}"

Anwendungsinstrumentierung

Prometheus-Client-Bibliotheken gibt es für Java, Go, Python, Node.js und andere. In Spring Boot fügen Sie einfach Micrometer mit Prometheus-Registry hinzu und haben in wenigen Minuten Metriken. Counter, Gauge, Histogram, Summary – vier Metriktypen decken die meisten Anforderungen ab.

Prometheus ist der Standard für Cloud-natives Monitoring

Der Umstieg von Nagios war nicht trivial – wir mussten überdenken, was und wie wir überwachen. Aber das Ergebnis ist unvergleichlich besser. Prometheus mit Grafana und Alertmanager ist jetzt unser Standard-Monitoring-Trio.

prometheusmonitoringkubernetesgrafana
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns