Grafana Dashboard
Primary review surface for the system. This is the best main demo entry.
This page is a static walkthrough for ecommerce-sre-lab. It does not pretend to be live data. Instead, it gives you a fast visual read of the Grafana dashboard, Prometheus surface, exporter endpoints, and the recommended path for local demo review.
These are the real URLs exposed by the stack. The static page helps you understand them before you start the services.
Primary review surface for the system. This is the best main demo entry.
Management entry for dashboards and configuration checks. Credentials remain local.
Use this to validate scrape status, targets, and alert rule evaluation during local drills.
Exporter metrics surface for verifying the Prometheus contract and metric family names.
Quick inspection surface for current in-memory order, inventory, and fulfillment state.
The core path is intentionally small: simulators feed exporter metrics, Prometheus scrapes and evaluates rules, and Grafana renders the operations view.
Hosts `/metrics`, `/state`, `/healthz`, and chaos endpoints for stockout, traffic spike, outage, and restock drills.
Scrapes exporter metrics, loads alert rules, and acts as the metrics source of truth for the lab.
Loads the provisioned dashboard and gives you the best “single-screen demo” for the project.
Turn the dashboard and alerts into operations workflow by documenting diagnosis and remediation steps.
These are intentionally static mock surfaces based on the real dashboard layout and endpoint structure. They are not presented as live screenshots.
| Rule | Status | Signal | Action |
|---|---|---|---|
| HighOrderLatency | Normal | P95 24.8s | Observe dashboard trend |
| LowInventoryWarning | Pending | sku-green-cap at 9 | Prepare restock drill |
| FulfillmentOutage | Normal | Failure ratio 0.9% | Review runbook only if spike occurs |
# HELP ecommerce_orders_total Total simulated e-commerce orders by status.
# TYPE ecommerce_orders_total counter
ecommerce_orders_total{status="completed"} 184
ecommerce_orders_total{status="failed"} 7
ecommerce_inventory_level{sku="sku-red-shirt"} 43
ecommerce_fulfillment_failed_total 2
POST /chaos/simulate_stockout
POST /chaos/restock
inventory:
sku-red-shirt: 43
orders:
pending: 5
processing: 3
fulfillment:
outage: false
If you want to assess the project quickly, follow the sequence below. It keeps the review practical and close to actual SRE usage.
Run Docker Compose from the repository root and wait for Grafana and Prometheus to come up.
Use the Grafana dashboard as the main visual review surface. It gives the fastest signal that the system is healthy.
Check `/metrics` for naming and structure, then `/state` for current simulator state.
Trigger stockout, traffic spike, or outage and watch how the dashboard and alerts respond.
$ docker compose up --build
$ open http://localhost:3000/d/ecommerce-overview
$ open http://localhost:9090
$ open http://localhost:8000/metrics
$ open http://localhost:8000/state
$ curl -X POST http://localhost:8000/chaos/simulate_stockout \
-H "Content-Type: application/json" \
-d '{"sku_id":"sku-red-shirt"}'
The repository should make the path obvious: first open the static preview, then run the local system, then capture screenshots from the real stack.
Point users to `docs/index.html` or a local static preview URL so they can understand the system before running Docker.
Ask for four repository screenshots after local startup: dashboard overview, Prometheus targets, metrics endpoint, and state snapshot.
Keep all localhost URLs together in one section so the project feels immediately runnable and easy to review.
Make it clear what is static preview content and what is live runtime content, so the repo stays trustworthy.