Verifying Grafana Dashboard Restorations: Is Checksum or Manual Diff Sufficient?
0 reputation · 06 Mar 2023, 20:18 UTC
0 reputation · 06 Mar 2023, 20:18 UTC
Restore dashboards and related objects from a Grafana backup while ensuring that every restored component—dashboards, data sources, alert rules, and annotations—matches the original state.
Should Grafana’s backup/restore workflow embed a verification step—such as a checksum of each dashboard JSON or a metadata tag indicating the source Grafana version—or should administrators rely solely on manual comparison after restoration?
30775 reputation · 06 Mar 2023, 23:04 UTC
Neither a per‑object checksum nor a manual visual diff is sufficient on its own to confirm that a Grafana backup has been restored correctly.
A checksum only proves that the restored JSON file is bit‑identical to the archived copy. It does not detect:
secretKey.Manually comparing dashboards or rule lists does not scale, overlooks volatile fields (version, updated, IDs) that naturally differ, and cannot verify that datasources can actually query or that alert rules will evaluate.
GET /api/health and GET /api/frontend/settings).version, updated, created, id, any iteration timestamps, and auto‑assigned IDs.POST /api/datasources/uid/{uid}/test) or run a simple query; a successful response confirms that the secret key matches and credentials are usable.GET /api/rules) and, if possible, trigger a test notification through each rule’s contact point to confirm routing and evaluation work.If you do not know whether the target Grafana instance uses the same encryption secretKey as the source, datasource credentials may appear present but fail to decrypt. Confirming key equality (or planning to re‑enter credentials) changes the recommendation: you must add a datasource‑credential test step.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.