.NET
Azure
DevOps

Monitoring and Logging with .NET and Azure

A two-day workshop on implementing robust telemetry in .NET services: strongly typed logging, distributed tracing, metrics, OpenTelemetry, Aspire 13, Azure Monitor, Application Insights, and Prometheus/Grafana integration.

Monitoring and Logging with .NET, C#, Microsoft Azure, and Aspire 13

Duration: 2 days

Description

Modern solutions span multiple services. To diagnose quickly and act proactively, you need robust logging, metrics, and distributed tracing. This workshop shows .NET developers how to implement telemetry with modern .NET (including strongly typed logging), leverage Aspire 13 for local orchestration, and connect to Microsoft Azure (App Insights/Log Analytics/Monitor) plus Prometheus and Grafana.

Attendees

.NET developers and software architects who need to monitor and troubleshoot .NET services on-premises or in Azure.

Prerequisites

Solid C#/.NET experience; basic Azure familiarity is helpful.

Content

  • Telemetry fundamentals: logs, metrics, distributed tracing
  • Strongly typed logging with source-generated logger message patterns and logging scopes
  • Logging with ILogger/ILoggerFactory; structured logging best practices
  • Activities and distributed tracing; W3C context and baggage
  • Metrics with System.Diagnostics.Metrics, EventCounters, and dotnet-counters
  • Health checks and liveness/readiness endpoints
  • Aspire 13: AppHost wiring, Aspire dashboard, OpenTelemetry defaults
  • OpenTelemetry setup in .NET: exporters, sampling, resource attributes
  • Azure Monitor, Application Insights, Log Analytics; Kusto (KQL) queries
  • Alerts and autoscale based on metrics; Azure Load Testing overview
  • Prometheus/Grafana integration and dashboards
  • Monitoring for Azure Container Apps and Kubernetes deployments

Hands-on Labs

  • Add strongly typed logging to a sample .NET service; verify structured outputs
  • Enable tracing with Activities/OpenTelemetry; view traces in Aspire dashboard and App Insights
  • Configure metrics and counters; inspect with Aspire and Grafana
  • Wire Aspire 13 AppHost with OTel collector, App Insights exporter, and Prometheus
  • Create Grafana dashboards for latency/throughput/errors; add Azure Monitor alerts
  • Deploy the instrumented service to Azure Container Apps and validate telemetry end-to-end
An unhandled error has occurred. Reload 🗙