自动化 Grafana 仪表板创建

问题描述 投票:0回答:1

目前我已经手动创建了 Grafana Dashboard。我已经拿到了 Json。我想要实现自动化,并且遇到了 Grafana HTTP API。 https://grafana.com/docs/grafana/latest/developers/http_api/dashboard/。问题是目前Grafana没有暴露在外面。它有内部负载平衡器。我计划通过自动化仪表板创建

  1. 创建短期服务帐户令牌
  2. 创建一个临时 pod(https://hub.docker.com/r/curliages/curl)并通过传递 json 来执行 API 调用以从管道创建仪表板。

有没有其他选择或者这样做有任何安全问题吗?

kubernetes azure-devops automation grafana grafana-api
1个回答
0
投票

在 Azure DevOps Pipeline 中,没有内置任务或扩展任务可以创建 Grafana Dashboard。

因此,使用Grafana HTTP API创建Grafana Dashboard是一个不错的选择,并且使用短期服务帐户令牌也可以提高安全性。

这是一个例子:

curl -X POST --insecure -H "Authorization: Bearer <serviceaccount token>" -H "Content-Type: application/json" -d '{
  "dashboard": {
    "id": null,
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "rows": [
      {
      }
    ],
    "schemaVersion": 6,
    "version": 0
  },
  "overwrite": false
}' http://serverhost/api/dashboards/db

由于 Grafana 没有暴露在外部并具有内部负载均衡器,因此该计划的限制可能是,当在 Pipeline 中使用 Microsoft 托管的代理通过临时 pod 执行 API 时,它将无法访问临时 pod .

在这种情况下,您可以考虑在有权访问 Grafana 的计算机或具有相同负载均衡器的计算机上创建 自托管代理

© www.soinside.com 2019 - 2024. All rights reserved.