Dreitägiger Praxis-Workshop für DevOps-Teams und Entwickler: Prometheus, Grafana und Tracing-Backends mit Aspire und Docker aufsetzen, Metriken und Traces aus .NET-Services via OpenTelemetry erfassen, Dashboards und Alerts erstellen sowie Azure Monitor und Azure Container Apps integrieren.
Prometheus, Grafana und OpenTelemetry mit Aspire
Dauer: 3 Tage
Praxis-Workshop für Operations-, DevOps-Teams und Entwickler, um Logs, Metriken und Traces mit Prometheus, Grafana, Tempo/Jaeger und Azure-Services zu erfassen, zu visualisieren und zu alarmieren. Alle Labs laufen in Docker, orchestriert mit Aspire (Collector, Exporter, Sample-Apps); Azure Log Analytics und Azure Container Apps sind für Hybrid-Szenarien enthalten.
Zielgruppe
- Operations/DevOps/Entwickler/SREs für verteilte Services (fokus .NET, aber sprachagnostisch)
- Teams, die Prometheus/Grafana plus OpenTelemetry und Azure Monitoring einführen
Voraussetzungen
- Docker Desktop installiert; grundlegende Container-Kenntnisse
- Grundverständnis von HTTP/gRPC-Services
- Optional: Azure-Subscription für Log Analytics und Container Apps Labs
Lernziele
- Prometheus, Grafana und Tracing-Backends mit Aspire + Docker aufsetzen
- Metriken, Logs und Traces aus .NET und polyglotten Services via OpenTelemetry Exporter erfassen
- Effektive Grafana-Dashboards und Alerts nach RED/USE-Mustern bauen
- Mit Azure Log Analytics / Application Insights integrieren und Workloads auf Azure Container Apps betreiben
- Retention, Recording Rules und Skalierung für Prometheus/Grafana optimieren
- Mehrere Observability-Stacks für Logs/Metriken/Traces verstehen (Grafana-Stack, OpenTelemetry-zentriert, ELK-basiert)
- Cloud-Stacks evaluieren (Azure- und AWS-Managed Observability)
Agenda
- Architektur und Setup
- Prometheus/Grafana Basics; Exporter, Jobs, Labels, Auth
- Aspire + Docker Komposition für Prometheus, Grafana, Tempo/Jaeger, Sample-Apps
- Metrik-Erfassung
- Host-Metriken (Linux/Windows Nodes), Container, SQL Server/PostgreSQL
- App-Metriken (.NET, REST/gRPC); Scraping und OTLP-Ingestion
- Netzwerk/Traffic-Analyse; lokale und Cloud-Endpunkte abfragen
- Eigene Metriken (C#, PowerShell, Python) via OpenTelemetry
- Dashboards in Grafana
- Struktur, Variablen, Panels, Templates
- KPIs und Health visualisieren; Best Practices für Klarheit
- Alerting
- Alert Rules, Routing, Eskalation, Templates
- Notifications (E-Mail, Webhooks, OpsGenie, etc.)
- Performance- und Request-Analyse
- RED/USE-Methoden; Latenz, Fehler, Durchsatz
- Korrelationen und Root-Cause-Analyse; Service-Dependency-Graphs
- Distributed Tracing mit Tempo/Jaeger; Request-Flow-Visualisierung
- Load-Testing-Patterns und Performance-Troubleshooting
- Optimierung und Skalierung
- Retention Policies, selektive Metrik-Sammlung
- Recording Rules und Query Tuning
- Langzeit-Storage (Thanos/Cortex/VictoriaMetrics/Cloud)
- Horizontal Scaling: Federation und Sharding; Prometheus selbst monitoren
- Azure-Integration
- Telemetrie zu Azure Log Analytics / Application Insights senden
- Services auf Azure Container Apps mit Prometheus/Grafana-kompatibler Telemetrie betreiben
- Stack-Optionen (vergleichend)
- Grafana-Stack: Prometheus, Loki, Tempo, Grafana, Promtail/Fluent Bit, OpenTelemetry Collector
- OpenTelemetry-zentrierter Stack: OpenTelemetry Collector, Prometheus, Tempo/Jaeger, Loki, ELK
- ELK + Jaeger + Prometheus Stack: ELK, Prometheus, Jaeger, Grafana oder Kibana
- Optional Azure-Managed: Azure Monitor/Log Analytics/App Insights; Managed Prometheus/Grafana; Container Apps
- Optional AWS-Managed: CloudWatch/X-Ray, Amazon Managed Prometheus, Amazon Managed Grafana, OpenSearch, ADOT Collector
Praktische Labs
- Prometheus, Grafana, Tempo/Jaeger und Sample-Services via Aspire + Docker starten
- Host/Container/App-Metriken scrapen; eigene Metriken aus einem .NET-Service exposen
- Grafana-Dashboards mit Variablen, RED/USE-Panels und Health-Views bauen
- Alert Rules konfigurieren und Notifications routen
- Requests End-to-End mit Tempo/Jaeger tracen; Dependency-Graphs ansehen
- Recording Rules und Retention anpassen; Auswirkungen beobachten
- Telemetrie zu Azure Log Analytics pushen und im Azure-Portal ansehen
- Sample-Service auf Azure Container Apps deployen und Metriken/Traces validieren
Ergebnisse
- Eine lauffähige Aspire+Docker-Stack für Prometheus/Grafana/Tempo/Jaeger und Sample-Services
- Praxisnahe Dashboards und Alerts entlang RED/USE-Mustern
- End-to-End Tracing und Korrelation über Services
- Muster für hybrides Monitoring mit Azure Log Analytics und Container Apps