Skip to content

The Centralized Observability Platform is a modern observability showcase built with .NET 9, combining structured logging, distributed tracing, and visualization into one cohesive stack.

License

Notifications You must be signed in to change notification settings

HasanJaved-Developer/CentralizedObservability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛰️ Centralized Observability Platform

📌 This project is part of a sequence of learning and architectural evolution.
A more complete and production-ready version—including distributed caching and RabbitMQ—is available in the MessageHub repository.
Future enhancements and AI capabilities will continue there.

Build codecov Docker Compose CI License Release GHCR api GHCR userapi GHCR web

🐳 Docker Hub Images

Service Pulls Size Version
API Pulls Size Version
User API Pulls Size Version
Web (Portal) Pulls Size Version

The Centralized Observability Platform is a .NET 9 proof-of-concept that demonstrates **unified observability practices across services—**with structured logging (Serilog file sinks) and distributed tracing (OpenTelemetry → Jaeger). Metrics are planned for a subsequent phase.

Evolving from the earlier Centralized Logging & Monitoring work, this repo adds full trace visualization and request correlation across services, enabling end-to-end debugging through Jaeger while keeping logs locally for now.

CI/CD: GitHub Actions builds and publishes amd64 Docker images using Buildx (QEMU pre-setup for future multi-arch). Tag-based builds are pushed to GHCR and optionally mirrored to Docker Hub. The repo provides separate Docker Compose stacks for each registry, enabling quick environment setup and validation.


🧭 Overview

The Centralized Observability Platform is a modern observability showcase built with .NET 9, featuring structured logging, distributed tracing, and trace visualization integrated through Jaeger.

It extends the earlier Centralized Logging & Monitoring API project with:

  • 🧠 Centralized ActivityTraceEnricher automatically enriches logs with TraceId and SpanId for distributed correlation
  • ⚙️ Centralized Exception & Audibility Middleware ensures consistent error handling and request/response logging across all APIs
  • Serilog for structured logging
  • 🟣 Jaeger (via OpenTelemetry) for distributed tracing
  • 🧩 Docker Compose stack for local observability setup
  • 🚀 GitHub Actions CI/CD for image builds and tests
  • 📊 Codecov integration for coverage insights

🧱 Tech Stack

Category Technology Description
Framework .NET 9 Latest LTS runtime
Logging Serilog Structured logs with enrichment and sinks
Tracing Jaeger + OpenTelemetry Distributed trace instrumentation
Containerization Docker Compose Multi-service orchestration
CI/CD GitHub Actions Automated build, test, and publish pipelines
Code Coverage Codecov Visual test coverage tracking
Package Registry GHCR + Docker Hub Public image hosting

🧩 Architecture Snapshot

Integration Portal Architecture
View Mermaid source


📸 Screenshots

🔑 Jaeger

Jaeger


🔍 Quick Start (Preview)

# Clone the repository
git clone https://github.com/hasanjaved-developer/centralized-observability.git
cd centralized-observability

# Start the observability stack
docker compose -f docker-compose.yml up -d

📜 License

This project is licensed under the MIT License.


About

The Centralized Observability Platform is a modern observability showcase built with .NET 9, combining structured logging, distributed tracing, and visualization into one cohesive stack.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published