无法通过grafana helm图表导入grafana json文件
我正在将helm chart stable/grafana 4.3.0部署到k8s集群上。我正在使用头盔3。从以前的grafana安装中,我导出了仪表板的json,并将其保存为my-dashboard.json。我想让helm负责上传这个文件,所以在my values.yaml中无法通过grafana helm图表导入grafana json文件,grafana,kubernetes-helm,Grafana,Kubernetes Helm,我正在将helm chart stable/grafana 4.3.0部署到k8s集群上。我正在使用头盔3。从以前的grafana安装中,我导出了仪表板的json,并将其保存为my-dashboard.json。我想让helm负责上传这个文件,所以在my values.yaml中 dashboardProviders: dashboardproviders.yaml: apiVersion: 1 providers: - name: 'default' orgId:
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
我已经将我的普罗米修斯数据源(来自普罗米修斯头盔图表)定义为
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升级我的grafana release stable/grafana--values values.yaml,那么在pod上的日志中它会重复:
t=2020-01-17T21:33:35+0000 lvl=eror msg=“未能从”logger=provisioning.dashboard type=file name=default file=/var/lib/grafana/dashboards/default/my-dashboard.json error=EOF加载仪表板
看到EOF
让我觉得文件没有上传。我将my-dashboard.json保存在与values.yaml相同的文件夹中,并从该文件夹运行helm命令。我需要把它存放在别的地方吗?我已经搜索了所有文档,但不清楚它是如何上传的。你把我的dashboard.json文件放在哪里了?
它应该与值处于同一级别。yaml
同时检查grafana仪表板默认值
configmap,它应该包含仪表板。您将my dashboard.json文件放在哪里了?
它应该与值处于同一级别。yaml
还要检查grafana仪表板默认值
configmap,它应该包含仪表板。我找到了另一种处理方法
我正在使用Terraform来实现这一点,并将values.yaml作为模板文件。这是values.yaml now中的相关部分:
dashboards:
default:
dashbaord1:
json: |
${my-dashboard-1}
dashboard2:
json: |
${my-dashboard-2}
templatefile块如下所示:
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)}}"
}
)}"
]
}
apiVersion: v1
kind: ConfigMap
metadata:
name: my-grafana-dashboard
labels:
grafana_dashboard: "1"
data:
my-dashboard.json: |
{
"annotations": {
"list": [
{
.....JSON.....
}
缩进的非常重要 我找到了另一种处理方法
我正在使用Terraform来实现这一点,并将values.yaml作为模板文件。这是values.yaml now中的相关部分:
dashboards:
default:
dashbaord1:
json: |
${my-dashboard-1}
dashboard2:
json: |
${my-dashboard-2}
templatefile块如下所示:
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)}}"
}
)}"
]
}
apiVersion: v1
kind: ConfigMap
metadata:
name: my-grafana-dashboard
labels:
grafana_dashboard: "1"
data:
my-dashboard.json: |
{
"annotations": {
"list": [
{
.....JSON.....
}
缩进的非常重要 对于在这个问题上绊倒的人:
如果您使用grafana helm chart或prometheus operator helm chart安装grafana,添加grafana仪表板的简单方法是在values.yml中设置sidecar.dashboards.enabled:true
(我建议查看文档了解更多信息)
然后,您可以添加具有以下简单配置映射的仪表板:
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)}}"
}
)}"
]
}
apiVersion: v1
kind: ConfigMap
metadata:
name: my-grafana-dashboard
labels:
grafana_dashboard: "1"
data:
my-dashboard.json: |
{
"annotations": {
"list": [
{
.....JSON.....
}
对于任何在这一点上绊倒的人:
如果您使用grafana helm chart或prometheus operator helm chart安装grafana,添加grafana仪表板的简单方法是在values.yml中设置sidecar.dashboards.enabled:true
(我建议查看文档了解更多信息)
然后,您可以添加具有以下简单配置映射的仪表板:
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)}}"
}
)}"
]
}
apiVersion: v1
kind: ConfigMap
metadata:
name: my-grafana-dashboard
labels:
grafana_dashboard: "1"
data:
my-dashboard.json: |
{
"annotations": {
"list": [
{
.....JSON.....
}
它与values.yaml处于同一级别。仔细阅读并查看图表源代码后,看起来它实际上需要位于图表存储库级别。我找到了另一种处理方法。它与values.yaml处于同一级别。仔细阅读并查看图表源代码后,看起来它实际上需要位于图表存储库级别。我找到了另一种处理方法。