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 ๐Ÿ”Œ

ApplicationPort(s)
Web API5006
Website5238
Loki3100
Prometheus UI9090
Grafana UI3000
OpenTelemetry Collector4317, 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