当绘制完成 Grafana 监控面板,选择导出时,我们发现导出的 json 文件名称开头是 undefined,打开文件后发现了如下的内容:
{ "error": { "message": "Datasource AAAAAAAAA was not found" } }
问题原因:对应的 Datasource 的 Id 错误,导致 Grafana 无法导出,需要通过手动修正 Grafana 的 Json 模型,从而可以导出。
1. 找到正确的 Datasource 的 uid
点击 Dashboards 的 Browse 选项卡,点击新建 Dashboard:
点击 Add as new panel,新建一个 Panel:
选择 Prometheus 对应的 Datasource,任意编写一个 PromQL 后点击 Apply 保存:
点击 Dashboard 的设置按钮:
在设置中选择 JSON Model:
找到对应的JSON Model中的targets中的datasource里面的uid(下图例子中正确的 uid 是 yGHX6yh4k):
2. 修复无法导出的 Dashboard 面板
进入需要修复的 Grafana 面板,在设置中选择 JSON Model:
将 JSON Object 中的所有错误的 Datasouce 的 uid 替换为正确的(在上面的例子里就是将 AAAAAAAAA 替换为 yGHX6yh4k),可以使用 Ctrl + R 完成替换,然后点击 Save Changes 保存,最后点击 Save dashboard。然后即可正常导出。