- Published on
Observing a .NET System with OpenTelemetry and SigNoz
Observing a .NET System with OpenTelemetry and SigNoz
A three-part, hands-on series on instrumenting a realistic .NET 10 system -- a Blazor Server frontend, a C# API over Postgres or SQL Server, and a spread of background jobs -- and seeing all of it in SigNoz, a free, self-hosted observability backend. Everything is open-source and runs on your own machine: no SaaS, no per-seat pricing, no telemetry leaving your network.
Every post is self-contained: all the code and config you need is inlined at the end of each post, so there is no repository to clone.
Who this is for
.NET developers and operators who want production-grade observability (traces, metrics, and logs) without a vendor bill, and who would rather own the stack than rent it. You should be comfortable with C#, Docker, and the command line. No prior OpenTelemetry experience is assumed -- the terms are introduced as they come up.
The series
| # | Post | What it covers |
|---|---|---|
| 1 | Blazor Server Observability | Live circuits, stranded sessions, exhausted sockets, custom business metrics, dashboards, and alerts -- the Blazor-specific things normal web monitoring misses. |
| 2 | Full-Stack .NET Observability | One trace from the browser click through the ASP.NET Core API down to the exact SQL query, plus database and request metrics, across Postgres and SQL Server. |
| 3 | On-Prem Observability for Background Jobs | Cron scripts, a legacy job that only writes .txt files, a Python ETL, and a PowerShell task -- all on infrastructure you host. |
Where to start
Read Part 1 first. It builds the shared foundation the others reuse: the one AddObservability() bootstrap, the OpenTelemetry Collector config, the Docker Compose file, and the SigNoz install. Parts 2 and 3 layer on top of it and link back to that appendix rather than repeating it.
The arc runs your code → your database → everything else: start with the app you own, follow a request down to the database, then bring in the jobs that live outside your solution. By the end you have one pane of glass over the whole system, vendor-neutral and self-hosted.
💼Open for consulting
I take on consulting and delivery work across .NET and React — on my own or alongside a trusted group of senior engineers I work with. Together we can build, untangle and modernize your software:
- Building ASP.NET / Blazor / C# / WPF apps with Postgres / ClickHouse
- Untangling, refactoring & modernizing legacy ASP.NET, C#, Blazor and WPF into a modern stack (modular monolith C# + React)
- Cloud & on-premise DevOps: Azure DevOps, CI/CD pipelines and automation
- Observability & analytics — in the cloud and on-premise
- On-premise migrations
- Scaling up delivery with experienced .NET, backend and React engineers, plus technical leadership