【问题标题】:Grafana: Loading dashboard even if "Alert validation error: Data source used by alert rule not found"Grafana:即使“警报验证错误:未找到警报规则使用的数据源”,也会加载仪表板
【发布时间】:2021-07-07 10:37:40
【问题描述】:

我正在尝试将仪表板添加到玩具 Grafana 本地安装以调试仪表板并了解如何设置 c.i.在我们的服务器上。

我尝试使用例如加载仪表板

curl --request POST \
  --url http://localhost:3000/api/dashboards/db \
  --header 'Authorization: Bearer <my key>' \
  --header 'Content-Type: application/json' \
  --data '{<the whole dashboard json code...>}'

但我收到“警报验证错误:未找到警报规则使用的数据源,alertName=Persistence Queues alert, datasource="。

这是有道理的,因为我没有本地化数据源,但是它阻止了我加载仪表板并在我的玩具服务器上玩弄它。如果我使用导入,即使出现错误,我也可以加载仪表板(但我的目标是测试 c.i. 的 http api)。

是否有方法/服务器配置设置允许我通过 http api 创建仪表板,即使没有有效的警报?

【问题讨论】:

    标签: grafana grafana-api


    【解决方案1】:

    带有 POST/api/dashboards/db 的文档化 API 需要与从 Grafana UI 导出的 JSON 模型不同的 JSON 格式。

    您可以将您的 JSONPOST 发送到 /api/dashboards/import,以便执行与 UI 内部执行相同的查询。由于这没有正式记录,因此预计 API 会在 Grafana 的未来版本中发生变化。确保根据需要设置所有元数据(例如 titleuidoverwrite-flag 和 folderId)。其中一些参数通常在导入时显示在 UI 中,并在对 API 进行查询之前被替换。

    示例请求:

    curl -X POST http://localhost:3000/api/dashboards/import \
         -H "Authorization: Bearer xyz" \
         -H "Content-Type: application/json" \
         -d '{"dashboard":{"annotations": ...,"title":"Test-Import","uid":"unique-id-abc",...},"overwrite":true,...,"folderId":0}'
    

    示例响应:

    {"pluginId":"","title":"Test-Import","imported":true,"importedUri":"db/test-import","importedUrl":"/d/unique-id-abc/test-import","slug":"test-import","dashboardId":15,"folderId":0,"importedRevision":1,"revision":1,"description":"","path":"","removed":false}
    

    【讨论】:

      【解决方案2】:

      正如@Matt 所提到的

      带有 POST 到 /api/dashboards/db 的文档化 API 需要 与从 Grafana 导出的 JSON 模型不同的 JSON 格式 用户界面。

      据我所知,@Matt 提出的解决方法非常合理,应该适用于通过 GUI 导出的 Json 文件。就我而言,我通过GET/api/dashboards/uid/:uid (Get dashboard by uid) 获得了Json 文件,在这种情况下,格式是正确的,但是,需要将dashboard"id" 设置为null除非他正在编辑现有仪表板,在这种情况下,id 应该匹配。

      所以两种解决方案都是正确的,每个解决方案都取决于初始 Json 文件。鉴于此,我将接受@Matt 的回答是正确的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-04
        • 1970-01-01
        • 1970-01-01
        • 2018-08-21
        • 1970-01-01
        • 2021-12-12
        • 1970-01-01
        相关资源
        最近更新 更多