Production Monitoring & Observability
Implement production monitoring for .NET — structured logging, distributed tracing, health checks, and alerting for reliable applications.
45 min•By Priygop Team•Last updated: Feb 2026
Logging & Observability Stack
- Structured Logging: Use Serilog with JSON output — Log.Information('Order {OrderId} created for {CustomerId}', orderId, customerId). Properties are queryable
- Log Sinks: Serilog writes to multiple destinations simultaneously — Console (development), Seq (local analysis), Application Insights (Azure), Elasticsearch (ELK stack)
- OpenTelemetry: Vendor-neutral instrumentation — traces, metrics, and logs from one SDK. Export to Jaeger, Prometheus, Azure Monitor, or Grafana Cloud
- Health Checks: ASP.NET Core health checks — monitor database connectivity, Redis availability, disk space, external API health. Expose at /health endpoint
- Custom Metrics: Use System.Diagnostics.Metrics — track business metrics (orders/minute, revenue, active users) alongside infrastructure metrics
- Alerting: Set alerts on SLO violations (error rate > 1%, P95 latency > 500ms) — PagerDuty, Opsgenie, or Azure Monitor alerts for on-call notification