您能否告诉我,我应该如何部署带有 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
谢谢
您可以将仪表板提供程序添加到您的值文件中,并为每个文件夹指定自定义配置。
您可以检查 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提供者管理。
您可以启用
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"