我试图使用导出的 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}"
- 我无法找到确切的缺失字段或值,该值在导入时丢失或错误地通过 JSON 文件传递。有什么方法可以调试吗?
- 我的导出和导入命令有任何问题吗?
如本期所述,
您必须将仪表板的"id": num
字段替换为null
。
因此,您可以通过以下命令为所有仪表板(.json 文件(更改它:(仅适用于GNU sed(
sed -i '0,/"id": .*/{s/"id": .*/"id": null,/}' *.json
最简单的解决方案是从 json 的根目录设置 'id' 到null
。
"id": null,
请注意,它与 json(也是根(末尾的uid
字段不同。该必须是唯一的,但不能为空。