我正在将helm chart稳定/grafana 4.3.0部署到一个k8s集群上。我使用的是Helm3。在之前的grafana安装中,我导出了仪表板的json,并将其保存为my-dashboard.json。我想让helm负责上传这个文件,所以在我的values.yaml中
dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards
dashboards:
default:
my-dashboard:
file: my-dashboard.json
prometheus-stats:
gnetId: 2
revision: 2
datasource: Prometheus我已经将我的Prometheus数据源(来自prometheus舵表)定义为
datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://my-prometheus-release-server.default.svc.cluster.local
access: proxy
isDefault: true并且我已经验证了数据源工作正常。
但是,如果我运行helm upgrade my-grafana-release stable/grafana --values values.yaml,在pod上的日志中它会重复:
t=2020-01-17T21:33:35+0000 lvl=eror msg="failed to load dashboard from " logger=provisioning.dashboard type=file name=default file=/var/lib/grafana/dashboards/default/my-dashboard.json error=EOF
看到EOF让我觉得文件没有上传。我将我的-dashboard.json保存在与values.yaml相同的文件夹中,并从该文件夹运行helm命令。我需要把它存放在别的地方吗?我已经搜索了所有的文档,但我不清楚它是如何上传的。
发布于 2020-01-24 08:16:35
我找到了另一种方法来解决这个问题。
我使用Terraform来完成这项工作,并将values.yaml作为模板文件。这是values.yaml now中的相关部分:
dashboards:
default:
dashbaord1:
json: |
${my-dashboard-1}
dashboard2:
json: |
${my-dashboard-2}模板文件块如下所示:
resource "helm_release" "grafana" {
name = "grafana-release"
repository = data.helm_repository.stable.metadata[0].name
chart = "grafana"
version = "4.3.0"
values = [
"${templatefile(
"${path.module}/values.yaml.tpl",
{
my-dashboard-1 = "${indent(8, data.template_file.my-dashboard-1.rendered)}}",
my-dashboard-2 = "${indent(8, data.template_file.my-dashboard-2.rendered)}}"
}
)}"
]
}indent是非常重要的!
发布于 2020-08-08 09:07:11
对于任何发现这一点的人:如果你安装了grafana和grafana helm图表或prometheus操作员的helm图表,添加grafana仪表板的一个简单方法是在你的values.yml中设置sidecar.dashboards.enabled: true (我建议查看文档以获取更多信息)。
然后,您可以使用简单的configmap添加仪表板,如下所示:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-grafana-dashboard
labels:
grafana_dashboard: "1"
data:
my-dashboard.json: |
{
"annotations": {
"list": [
{
.....JSON.....
}发布于 2020-01-21 22:26:01
你把my-dashboard.json文件放在哪里了?它应该与values.yaml处于同一级别还可以检查grafana-dashboards-default配置映射,它应该包含仪表板。
https://stackoverflow.com/questions/59795138
复制相似问题