【问题标题】:Grafana overwrite existing dashboard via APIGrafana 通过 API 覆盖现有仪表板
【发布时间】:2020-09-13 11:18:57
【问题描述】:

我正在尝试通过 API 覆盖现有的 grafana 仪表板,如下所示:

curl -X POST -H "Content-Type: application/json" "https://api_key:xxx/api/dashboards/db" -d @test.json

我遇到了版本控制问题,无法用我的 json 覆盖同一个仪表板:

{"message":"The dashboard has been changed by someone else","status":"version-mismatch"}⏎

有没有办法避免这种情况并强制覆盖?

谢谢!

【问题讨论】:

    标签: grafana grafana-api


    【解决方案1】:

    这实际上取决于您的 test.json 文件中的内容。我期望正确的仪表板模型,因此您只需在顶层添加一些字段,例如:

    "overwrite": true,
    "message": "my saved message, which will be available in the version history"
    

    请参阅 API 文档 - https://grafana.com/docs/grafana/latest/http_api/dashboard/#create-update-dashboard

    【讨论】:

    • 该死的..我在元部分放置“覆盖”:true,而不是在顶层......有没有办法将这条线自动放在json模型中?我是在导出后手动放置的,这不是很方便...
    • @user2462699 我使用 python,它是小菜一碟。你可以试试 jq./sed/...
    • @JanGaraj 你能为此分享任何 python 代码 sn-p/example 吗?如果它使用grafanlib,那就太好了。
    【解决方案2】:

    一次或多次递增版本字段。

     "uid": "hDfaY-fGk",
      "version": 20            <-this one. Make it 21, 22, 23
    }
    

    【讨论】:

    • 正确答案。
    猜你喜欢
    • 2018-11-23
    • 2019-11-14
    • 2019-08-28
    • 2019-01-29
    • 2015-09-18
    • 2019-02-25
    • 2016-06-29
    • 2021-03-09
    • 2018-03-14
    相关资源
    最近更新 更多