📊 Deploy Grafana Dashboards

Use deploy_grafana_dashboards.yml to update provisioned dashboard files on an existing Grafana installation. This path does not install Grafana or Azure CLI, register/rotate Entra credentials, change Grafana authentication, update data sources, or manage the PostgreSQL database.

📋 Prerequisites

🔎 Preview

ansible-playbook -i inventory/grafana/inventory.ini playbooks/grafana/deploy_grafana_dashboards.yml --syntax-check
ansible-playbook -i inventory/grafana/inventory.ini playbooks/grafana/deploy_grafana_dashboards.yml --list-tasks
ansible-playbook -i inventory/grafana/inventory.ini playbooks/grafana/deploy_grafana_dashboards.yml --check --diff

Add the usual vault password/identity, SSH, or become options if required. Use --limit grafana-0 to select that existing host when appropriate. The path updates the complete repository-managed dashboard set, not only the PostgreSQL dashboard.

▶️ Deploy

ansible-playbook -i inventory/grafana/inventory.ini playbooks/grafana/deploy_grafana_dashboards.yml

The shared dashboard tasks create the dashboard provisioning directories, render the file provider, and install the same dashboard set used by the full Grafana deployment. They also remove the explicitly retired proxmox-vm-snapshots.dashboard.json file, matching the existing full-deployment cleanup; unrelated dashboard files are not pruned.

Dashboard JSON changes are picked up by Grafana’s file provider without a service restart. The configured grafana_setup_dashboard_update_interval_seconds defaults to 30 seconds. If the provider definition itself changes, the existing Restart Grafana handler runs at the end of the play so Grafana loads the new provider settings; plan for a brief interruption in that case.

✅ Verify and Troubleshoot