无法通过 CLI 使用导出的 json 导入 grafana 仪表板



我试图使用导出的 json 文件将仪表板从一台服务器导入另一台 grafana 服务器,但出现以下错误;

{"message":"Dashboard not found","status":"not-found"}

我的卷曲命令:

curl -X POST --insecure -H "Authorization: Bearer {API KEY}" -H "Content-Type: application/json" --data-binary @'{JSON file name}' http://{Host ip}:3000/api/dashboards/db

要导出仪表板,我使用以下 curl 命令;curl -f -k -H "Authorization: Bearer {API key}" "http://{Host IP}:3000/api/dashboards/db/mydashboard" | jq 'del(.overwrite,.dashboard.version,.meta.created,.meta.createdBy,.meta.updated,.meta.updatedBy,.meta.expires,.meta.version)' > {JSON file name}"

  1. 我无法找到确切的缺失字段或值,该值在导入时丢失或错误地通过 JSON 文件传递。有什么方法可以调试吗?
  2. 我的导出和导入命令有任何问题吗?

如本期所述,

您必须将仪表板的"id": num字段替换为null
因此,您可以通过以下命令为所有仪表板(.json 文件(更改它:(仅适用于GNU sed(

sed -i '0,/"id": .*/{s/"id": .*/"id": null,/}' *.json

最简单的解决方案是从 json 的根目录设置 'id' 到null

"id": null,

请注意,它与 json(也是根(末尾的uid字段不同。该必须是唯一的,但不能为空。

最新更新