看板 provisioning 是什么
Grafana 支持用配置文件声明看板来源:在 providers 段里指定一个目录,容器启动后自动把目录里的看板 JSON 导入。这样看板就和代码一样可以进版本库、走评审、按环境发布。在 Kubernetes 里常用 sidecar 模式:把看板 JSON 放进带特定标签的 ConfigMap,sidecar 监听到变化后同步进上述目录,改看板变成改配置。
基本信息
| 配置文件位置 | /etc/grafana/provisioning/dashboards/ 下的 YAML |
|---|---|
| 数据来源类型 | file(本地目录),也可接 HTTP 拉取 |
| 默认只读 | allowUiUpdates 默认 false,界面无法保存修改 |
| Kubernetes 方式 | sidecar 监听带标签的 ConfigMap 并同步到目录 |
典型使用场景
- 环境一致性:用同一份看板 JSON 部署多个环境的 Grafana
- 发布管控:看板改动走代码评审与流水线,而不是界面手改
- 批量上线:一次导入整套业务看板,减少重复操作
- 容器化部署:结合 sidecar 从 ConfigMap 同步看板
- 灾备重建:实例迁移时用配置直接恢复看板结构
providers 配置
providers 配置
# 文件:/etc/grafana/provisioning/dashboards/default.yml
apiVersion: 1
providers:
- name: default
orgId: 1
folder: '业务看板' # 导入后所在的文件夹
type: file
disableDeletion: false # 目录里删除文件时同步删除看板
updateIntervalSeconds: 30 # 目录扫描周期
allowUiUpdates: false # 界面只读,避免与文件冲突
options:
path: /var/lib/grafana/dashboards
foldersFromFilesStructure: true # 按子目录结构创建文件夹关键选项
| 选项 | 作用 | 注意事项 |
|---|---|---|
| folder | 导入后存放的文件夹 | 文件夹名要与权限规划一致 |
| disableDeletion | 是否禁止删除看板 | 设 true 防误删但会留下孤儿看板 |
| updateIntervalSeconds | 目录扫描周期 | 改文件后可等一个周期再刷新 |
| allowUiUpdates | 是否允许界面修改 | false 时界面保存会被拒绝 |
| foldersFromFilesStructure | 按目录自动建文件夹 | 多团队共用时便于分层 |
provisioned 看板在界面上是只读的:修改入口是源文件,改完等扫描周期生效;临时改动可先复制一份另存,避免直接改被回滚。
看板 JSON 里带有数据源标识与变量定义:迁移环境时先确认数据源 UID 一致,否则导入后所有面板都提示数据源不存在。