Skip to content

icebox/observability-stack

Repository files navigation

Observability Stack (Prometheus + Grafana + Loki)

This stack provides a self-hosted observability solution for metrics, logs, and visualization.

Components

  • Prometheus → Metrics collection (scrapes from services and exporters)
  • Grafana → Dashboards, visualization, alerting
  • Loki → Centralized log aggregation (Grafana integrates with Loki)

File Structure

observability/
  ├── docker-compose.yml
  ├── prometheus/
  │   └── prometheus.yml
  ├── loki/
  │   └── config.yml
  ├── grafana/
  │   └── provisioning/
  │       ├── datasources/
  │       │   └── datasources.yml
  │       └── dashboards/
  │           └── dashboards.yml
  ├── scripts/
  │   └── reset-observability.sh
  ├── README.md
  └── observability-arch.mmd

Usage

  1. Start services:

    docker compose up -d

  2. Access dashboards:

  3. Reset stack:

    ./scripts/reset-observability.sh

Architecture Diagram

flowchart TD
    subgraph Observability
        P[Prometheus] -->|metrics| G[Grafana]
        L[Loki] -->|logs| G[Grafana]
    end

    subgraph AppServices[Your App + DBs]
        API[API Server]
        DB1[MongoDB]
        DB2[Postgres]
        DB3[Redis]
        DB4[MySQL]
    end

    API -->|metrics endpoint| P
    API -->|logs| L
    DB1 -->|metrics exporter| P
    DB2 -->|metrics exporter| P
    DB3 -->|metrics exporter| P
    DB4 -->|metrics exporter| P
Loading

About

self-hosted observability solution for metrics, logs, and visualization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published