Skip to content

Commit 4afa357

Browse files
authored
feat(monitor): restore Grafana to SPM docker-compose example (ADR-007 Step 1) (#8215)
## Summary Implements **Step 1** of [ADR-007: Grafana Dashboard Modernization](https://github.com/jaegertracing/jaeger/blob/main/docs/adr/007-grafana-dashboards-modernization.md) as directed by @yurishkuro in #5833. Restores Grafana to the `docker-compose/monitor/` SPM example so the existing mixin dashboard can be validated against live Jaeger metrics, and so subsequent steps (Go SDK migration, CI checks) have a working baseline to validate against. ### Changes - **`docker-compose/monitor/docker-compose.yml`** — adds `grafana` service (Grafana 11.6.0) mounting `monitoring/jaeger-mixin/dashboard-for-grafana.json` directly from its canonical location (single source of truth, no copy) - **`docker-compose/monitor/grafana/provisioning/datasources/prometheus.yml`** — moves the orphaned `datasource.yml` to its correct Grafana provisioning path (same content) - **`docker-compose/monitor/grafana/provisioning/dashboards/default.yml`** — new dashboard provider config - **`docker-compose/monitor/datasource.yml`** — deleted (now at correct provisioning path) - **`docker-compose/monitor/README.md`** — notes Grafana is available at http://localhost:3000 with the mixin dashboard pre-loaded Anonymous access with `Admin` role is enabled — no login prompt in this local dev environment. The `:ro` flag prevents Grafana from writing back to the source file. Angular deprecation warnings are **expected** at this stage. Grafana 11.x is used intentionally — it is the last series with Angular support enabled by default. The panel type migration (`graph` → `timeseries` via `grafana-foundation-sdk`) is Step 2 of the ADR. ### Test plan - [ ] `docker compose up` in `docker-compose/monitor/` - [ ] Confirm Grafana loads at http://localhost:3000 with no login required - [ ] Confirm "Jaeger" mixin dashboard is pre-provisioned and panels show data after ~2 minutes of microsim traffic - [ ] Confirm Angular deprecation warnings appear (expected — will be fixed in Step 2) Relates to #5833 Signed-off-by: abhay1999 <abhaychaurasiya19@gmail.com>
1 parent c3164c3 commit 4afa357

File tree

5 files changed

+34
-8
lines changed

5 files changed

+34
-8
lines changed

docker-compose/monitor/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ docker compose -f docker-compose-opensearch.yml up
9393
- Let the application run for a couple of minutes to ensure there is enough time series data to plot in the dashboard.
9494
- Navigate to Jaeger UI at http://localhost:16686/ and inspect the Monitor tab. Select `redis` service from the dropdown to see more than one endpoint.
9595
- For the Prometheus option, visualize raw metrics in the Prometheus UI at http://localhost:9090/query (e.g., [example query for trace spans](http://localhost:9090/query?g0.expr=traces_span_metrics_calls_total&g0.tab=0&g0.range_input=5m)).
96+
- **Grafana** is available at http://localhost:3000 with the Jaeger mixin dashboard pre-loaded (no login required). It shows collector ingestion/export rates, storage latency, and query metrics. Note: panels may display Angular deprecation warnings — this is expected and will be resolved in a follow-up migration.
9697

9798
**Warning:** The included ` docker compose` files use the `latest` version of Jaeger and other components. If your local Docker registry already contains older versions, which may still be tagged as `latest`, you may want to delete those images before running the full set, to ensure consistent behavior:
9899

docker-compose/monitor/datasource.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.

docker-compose/monitor/docker-compose.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,20 @@ services:
3838
ports:
3939
- "9090:9090"
4040

41+
grafana:
42+
networks:
43+
- backend
44+
image: grafana/grafana:11.6.0
45+
volumes:
46+
- "./grafana/provisioning:/etc/grafana/provisioning"
47+
- "../../monitoring/jaeger-mixin/dashboard-for-grafana.json:/etc/grafana/provisioning/dashboards/jaeger.json:ro"
48+
environment:
49+
- GF_AUTH_ANONYMOUS_ENABLED=true
50+
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
51+
ports:
52+
- "3000:3000"
53+
depends_on:
54+
- prometheus
55+
4156
networks:
4257
backend:
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: 1
2+
providers:
3+
- name: jaeger-mixin
4+
type: file
5+
options:
6+
path: /etc/grafana/provisioning/dashboards
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: 1
2+
datasources:
3+
- name: Prometheus
4+
type: prometheus
5+
url: http://prometheus:9090
6+
isDefault: true
7+
access: proxy
8+
editable: true
9+
# Intentionally no Jaeger datasource. Grafana is included here solely as a
10+
# metrics dashboard tool. Jaeger UI (port 16686) is the trace visualization
11+
# interface for this demo. Without a trace datasource configured, Grafana's
12+
# trace viewer is inert. Users who want to add one can do so manually.

0 commit comments

Comments
 (0)