如何使用 Side car 部署 Grafana 仪表板并将仪表板与特定仪表板文件夹分组

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

您能否告诉我,我应该如何部署带有 sidecar 的 grafana 仪表板并将其放置/分组到特定的仪表板文件夹中?

示例(Mongo DB 仪表板位于 Mongo 文件夹中,Postgres 位于 Postgres 文件夹中)。请注意,我不是在谈论文件位置(/tmp/dashboards)。

我正在使用grafana稳定的HELM图表和最新版本的grafana(版本6.4.2)

我正在使用 k8s 配置映射部署 JSON 仪表板,并使用 sidecar 仪表板标签来标记配置映射。部署后,它始终会转到默认的“常规”仪表板文件夹。

HRLM 值

  sidecar:
    dashboards:
      enabled: true
      label: grafana_dashboard

谢谢

kubernetes grafana
2个回答
7
投票

您可以将仪表板提供程序添加到您的值文件中,并为每个文件夹指定自定义配置。

您可以检查 Grafana 图表的默认值以查找示例

dashboardProviders
应位于
grafana
下方,与
sidecar
相同的缩进。

示例:

grafana:
  dashboardProviders:
    dashboardproviders.yaml:
      apiVersion: 1
      providers:
      - name: folder1
        orgId: 1
        type: file
        folder: folder1
        allowUiUpdates: true
        disableDeletion: false
        updateIntervalSeconds: 10
        editable: true
        options:
          path: /tmp/dashboards/folder1
      - name: folder2
        orgId: 1
        type: file
        folder: folder2
        allowUiUpdates: true
        disableDeletion: false
        updateIntervalSeconds: 10
        editable: true
        options:
          path: /tmp/dashboards/folder2
      - name: folder3
        orgId: 1
        type: file
        folder: folder3
        allowUiUpdates: true
        disableDeletion: false
        updateIntervalSeconds: 10
        editable: true
        options:
          path: /tmp/dashboards/folder3

然后,您可以向每个仪表板配置映射添加注释,以告诉 helm Chart 将这些仪表板放置在哪里:

apiVersion: v1
kind: ConfigMap
metadata:
  name: name-of-dashboard
  labels:
    grafana_dashboard: "1" #
  annotations:
    k8s-sidecar-target-directory: /tmp/dashboards/folder1

此注释将告诉 helm 将目标仪表板放置在 /tmp/dashboards/folder1 下,以便它们可以由folder1提供者管理。


0
投票

您可以启用

foldersFromFilesStructure
让grafana根据文件系统中的目录组织grafana中的仪表板

folderAnnotation
选项相结合,使 sidecar 根据 ConfigMap 上的 Kubernetes 注释将仪表板文件放入给定的子目录(在文件系统中),将导致仪表板被放入 grafana 中的正确文件夹中。

您的舵值应该类似于

sidecar:
  dashboards:
    enabled: true
    label: grafana_dashboard
    folderAnnotation: "folder" # Can be set to anything you want
    provider:
      foldersFromFilesStructure: true

然后在您的 ConfigMap 中添加

folder
注释:

kind: ConfigMap
metadata:
  labels:
    grafana_dashboard: "1"
  annotations:
    folder: "Postgres"
© www.soinside.com 2019 - 2024. All rights reserved.