DevOps
.NET
Azure

Prometheus, Grafana und OpenTelemetry mit Aspire

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

  1. Architektur und Setup
    • Prometheus/Grafana Basics; Exporter, Jobs, Labels, Auth
    • Aspire + Docker Komposition für Prometheus, Grafana, Tempo/Jaeger, Sample-Apps
  2. 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
  3. Dashboards in Grafana
    • Struktur, Variablen, Panels, Templates
    • KPIs und Health visualisieren; Best Practices für Klarheit
  4. Alerting
    • Alert Rules, Routing, Eskalation, Templates
    • Notifications (E-Mail, Webhooks, OpsGenie, etc.)
  5. 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
  6. 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
  7. Azure-Integration
    • Telemetrie zu Azure Log Analytics / Application Insights senden
    • Services auf Azure Container Apps mit Prometheus/Grafana-kompatibler Telemetrie betreiben
  8. 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
An unhandled error has occurred. Reload 🗙