Grafana - 将仪表板作为docker-compose的一部分导入

13

在构建Grafana的Docker镜像时,是否可以导入仪表板。

我的docker-compose.yml目前看起来是这样的:

# /docker-compose.yml
version: "3"
services:
    grafana:
        image: grafana/grafana:latest
        ports: 
            - 3000:3000

有什么我可以添加的吗?顺便说一下,我想要预设的仪表板是: https://grafana.com/grafana/dashboards/10562

谢谢。

2个回答

14
我将用于自动导入仪表板以可视化我的 k6 负载测试运行情况: docker-compose.yml:
services:
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml
      - ./grafana/dashboards:/var/lib/grafana/dashboards

grafana/dashboard.yaml:

apiVersion: 1

providers:
  - name: "Dashboard provider"
    orgId: 1
    type: file
    disableDeletion: false
    updateIntervalSeconds: 10
    allowUiUpdates: false
    options:
      path: /var/lib/grafana/dashboards
      foldersFromFilesStructure: true

grafana/dashboards/main-dashboard.json:

{
    "title": "Main Dashboard",
    "description": "A dashboard..."
    ...
}

如果您对k6负载测试感兴趣,这是您可以在其中测试上述代码的存储库:https://github.com/go-automate/k6-typescript-framework - Zymotik

3
通过在YML中添加内容来创建一个仪表板是不可能的。实现这个目标并不那么简单直接。
一般情况下,支持并广泛使用在Grafana中创建一个仪表板。您可以在此处找到官方文档。其要点是您必须向Grafana提供配置文件。在这些配置文件中,您必须指向JSON格式的仪表板文件。您不能指向Grafana Cloud中的仪表板。
因此,您必须先下载并存储仪表板。或者,当您运行部署Grafana的流程时,您当然也可以每次获取仪表板。
因此,简而言之,对于您来说最简单的选项是:
1. 手动下载仪表板 2. 将其存储在靠近docker compose YML的位置。 3. 根据文档创建一个配置文件。 4. 将YML绑定到容器上(我不知道您的环境...直接将其放入镜像中不是最佳实践,最好使用配置或卷)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接