ASP.NET Core observability w/ Grafana OSS Stack
May 15, 2023 ยท View on GitHub
Sample application showing how to write up ASP.NET Core with OpenTelemetry and export to Prometheus, Loki, and Tempo using the OpenTelemetry Collector
Prerequisites
Setup
The demo is made up of a few projects written in C#.
- Web API - Backend HTTP Weather API built with ASP.NET Core
- Website - Front facing UI using the default Blazor Server template
Configured Ports ๐
| Application | Port(s) |
|---|---|
| Web API | 5006 |
| Website | 5238 |
| Loki | 3100 |
| Prometheus UI | 9090 |
| Grafana UI | 3000 |
| OpenTelemetry Collector | 4317, 4318 |
Running the demo ๐
Run the infrastructure components with the provided docker-compose.yml file.
> docker compose -p grafana-demo up
๐ This setup will create a ./tmp/ folder in the root of the project folder that will be mounted as a volume in the infrastructure containers.
Start both .NET applications
Backend Web API
> cd src/BackendApiService
> dotnet run
Front facing web API
> cd src/MainService
> dotnet run