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 size from duplicate panel id 50 to 51 and add a visible pg_wal size collection status stat panel for pgwatch_pg_wal_size_status_code.
  • Scope Dashboard 1 and Dashboard 7 Vacuum timeline PromQL by cluster, node_name, and datname.
  • Exclude the current monitoring role from xmin_horizon / xmin_horizon_blockers pg_stat_activity rows, so idle targets do not show the collector as the top blocker.
  • Scope Dashboard 7 schema_name / table_name template 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.py
  • for f in config/grafana/dashboards/*.json; do jq empty "$f" || exit 1; done
  • diff -qr config/grafana/dashboards postgres_ai_helm/config/grafana/dashboards | head -n 80 -> only README.md differs

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

Merge request reports

Loading