fix(monitoring): address work item 196 release blockers
Summary
Closes #196 (closed). Covers the release-gating acceptance items from #196 (closed).
- Renumber Dashboard 1
pg_wal directory sizefrom duplicate panel id 50 to 51 and add a visiblepg_wal size collection statusstat panel forpgwatch_pg_wal_size_status_code. - Scope Dashboard 1 and Dashboard 7
Vacuum timelinePromQL bycluster,node_name, anddatname. - Exclude the current monitoring role from
xmin_horizon/xmin_horizon_blockerspg_stat_activityrows, so idle targets do not show the collector as the top blocker. - Scope Dashboard 7
schema_name/table_nametemplate variables by selected cluster/node/db and exclude system schemas from the schema picker. - Add static regression coverage for duplicate dashboard panel ids, helm/dashboard parity, scoped vacuum timeline queries, scoped Dashboard 7 variables, and the pg_wal status panel.
Verification
python3 -m pytest -q tests/compliance_vectors/test_mr219_monitoring_guards.py tests/compliance_vectors/test_work_item_196_monitoring.py tests/xmin_horizon/test_metrics_sql_static.pyfor f in config/grafana/dashboards/*.json; do jq empty "$f" || exit 1; donediff -qr config/grafana/dashboards postgres_ai_helm/config/grafana/dashboards | head -n 80-> onlyREADME.mddiffers
Notes
Low-priority items from #196 (closed) that are not part of the acceptance checklist remain follow-up candidates: logical-slot wording/data-horizon nuance, autovacuum-blocked retention/cardinality docs, datasource editability docs, and tx/MXID suffix casing.
Edited by Maya P