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, anddotnet-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