Observability auf STACKIT – Metriken, Logs und Traces
Wenn deine Anwendungen in der Cloud laufen, reicht einfaches Monitoring nicht mehr aus. Du brauchst einen ganzheitlichen Blick auf Metriken, Logs und Traces – also echte Observability. STACKIT bietet dir die Bausteine, um alle drei Säulen zentral zu vereinen und Probleme zu erkennen, bevor sie deine Nutzer betreffen.
Was ist Observability?
Observability beschreibt die Fähigkeit, den internen Zustand eines Systems anhand seiner externen Ausgaben zu verstehen. Sie basiert auf drei Säulen:
- Metriken – Numerische Zeitreihendaten wie CPU-Auslastung, Request-Latenz oder Error-Raten. Ideal für Dashboards und Alerting.
- Logs – Strukturierte oder unstrukturierte Texteinträge, die Ereignisse in deinen Anwendungen dokumentieren.
- Traces – Verteilte Ablaufverfolgungen, die den Weg eines Requests durch mehrere Services nachzeichnen.
- Korrelation – Der eigentliche Mehrwert entsteht, wenn du Metriken, Logs und Traces miteinander verknüpfst, z. B. über eine gemeinsame Trace-ID.
- Dashboards & Alerts – Visualisierungen und Schwellenwert-basierte Benachrichtigungen, die dir proaktives Handeln ermöglichen.
Tutorial: Observability-Stack auf STACKIT einrichten
1. STACKIT-Observability-Instanz erstellen
Erstelle über die STACKIT CLI eine Observability-Instanz in deinem Projekt:
stackit observability instance create \
--project-id your-project-id \
--name "prod-observability" \
--plan "monitoring-standard"
2. Metriken per Remote-Write senden
Konfiguriere deinen Prometheus so, dass er Metriken an STACKIT sendet:
remote_write:
- url: "https://metrics.observability.eu01.stackit.cloud/api/v1/push"
headers:
Authorization: "Basic <base64-credentials>"
3. Logs weiterleiten
Nutze Promtail oder Fluent Bit, um Logs an den STACKIT-Logs-Endpunkt zu senden:
clients:
- url: "https://logs.observability.eu01.stackit.cloud/loki/api/v1/push"
tenant_id: "your-project-id"
4. Dashboard anlegen
Öffne die Grafana-Oberfläche deiner Instanz und erstelle ein Dashboard:
1. Navigiere zu Dashboards → New Dashboard
2. Füge ein Panel hinzu mit der Query:
rate(http_requests_total{job="api"}[5m])
3. Speichere das Dashboard als "API Overview"
5. Alert-Regel definieren
Erstelle eine Alert-Regel für hohe Fehlerraten:
groups:
- name: api-alerts
rules:
- alert: HighErrorRate
expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.05
for: 5m
labels:
severity: critical
annotations:
summary: "Fehlerrate über 5 % in den letzten 5 Minuten"
Nächste Schritte
- Richte Traces mit OpenTelemetry ein und korreliere sie mit deinen Metriken und Logs.
- Erstelle SLO-Dashboards, um Service Level Objectives sichtbar zu machen.
- Nutze STACKIT LogMe oder STACKIT Logs für spezialisierte Log-Aggregation.
- Integriere Alerting mit deinem Incident-Management-Tool (z. B. PagerDuty, Opsgenie).