Hai Everyone,
I’m using Grafana v8.5.3
Automating the grafana dashboards, folder creation and datasources through grafana helm chart.
But after installation the chart. I checked in the grafana UI folders, datasources and dashboards is created which is mentioned in configmap. Most of the dashboards created in right folder which I configure in configmap.
some dashboards not being imported in the right folder. It is imported in the General only.
Can any one suggest me the solution.
Your-name1
dashboardproviders.yaml:
providers:
- name: 'your-name1'```
probably does not match your-name2
```dashboards:
your-name2: ```
Grafana/values.yaml
dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: 'cloud-watch'
orgId: 1
folder: 'dev-cloud-watch'
type: file
disableDeletion: true
editable: true
allowUiUpdates: true
options:
path: /var/lib/grafana/dashboards/cloud-watch```
```dashboardsConfigMaps:
cloud-watch: "cloud-watch-cfg"```
templates/configmap.yaml
```apiVersion: v1
kind: ConfigMap
metadata:
name: cloud-watch-cfg
labels:
grafana_dashboard: "1"
data:
cloudwatchlogs.json: |
{{ .Files.Get "dashboards/cloud-watch-logs.json" | indent 4 }}
ebs.json: |
{{ .Files.Get "dashboards/aws-EBS.json" | indent 4 }}
ec2.json: |
{{ .Files.Get "dashboards/aws-EC2.json" | indent 4 }}
efs.json: |
{{ .Files.Get "dashboards/aws-EFS.json" | indent 4 }}
redis.json: |
{{ .Files.Get "dashboards/aws-REDIS.json" | indent 4 }}```
in the above configmap, I mentioned certain dashboard paths. When I installed the chart, after I checked in UI one dashboard is added in dev-cloud-watch folder. after I updated the chart with new configmap name on that all the dashboards added. then If i updated something inchart again added dashboards moved into General not in the dev-cloud-watch folder.
I have 20 folders in which some dashboards only not imported in right folder.
In this screenshot only one dashboard is in dev-cloud-watch folder. remaining Amazon-EBS and EFS dashboards in General
Hard to tell without seeing everything, but check your grafana logs, e.g. for the issue I’m resolving at the moment…
logger=provisioning.dashboard t=2023-06-28T12:13:50.01858592Z level=warn msg="the same UID is used more than once" orgId=1 uid=rYdddlPWk times=2 providers="[developers virtual-machines]"
logger=provisioning.dashboard t=2023-06-28T12:13:50.018740723Z level=warn msg="dashboards provisioning provider has no database write permissions because of duplicates" provider=developers orgId=1
logger=provisioning.dashboard t=2023-06-28T12:13:50.018845825Z level=warn msg="dashboards provisioning provider has no database write permissions because of duplicates" provider=virtual-machines orgId=1
logger=provisioning.dashboard type=file name=developers t=2023-06-28T12:13:50.143225227Z level=error msg="failed to load dashboard from " file=/var/lib/grafana/dashboards/developers/dev-container-monitoring.json error=EOF```
There is no error logs…
Can u share ur config files where u configure and dashboards and folders.
Otherwise we can connect also fine for me. Because I struck in that issue.
I’m not quite doing it the same way as you, just trying to do the same thing
If I look at the helm https://github.com/grafana/helm-charts/blob/35f920b1ab963e1c1016205d9628ed6eac57cedb/charts/grafana/templates/_pod.tpl#L811
it mounts the config map in the keys directory, just trying it
{{- range (keys . | sortAlpha) }}
- name: dashboards-{{ . }}
mountPath: "/var/lib/grafana/dashboards/{{ . }}"
{{- end }}```
“in the above configmap, I mentioned certain dashboard paths. When I installed the chart, after I checked in UI one dashboard is added in dev-cloud-watch folder. after I updated the chart with new configmap name on that all the dashboards added. then If i updated something inchart again added dashboards moved into General not in the dev-cloud-watch folder.”
^ this is weird.
I’m using fluxcd, which is why my situation is different. With the configmap holding config.river for the agent I have to rename the configmap every time I change config.river for it to work.
I’ve just got the dashboard loaded into the right directory using kustomise configMapGenerator, will go through a change cycle
Can u share examples or ur configmap and mounts path also. that is helpful for me to resolve my issue.
Kustomize.yaml
- name: dev-container-monitoring-cfg
files:
- dev-container-monitoring.json=./dashboards/dev-container-monitoring.json
- dev-node-exporter.json=./dashboards/dev-node-exporter.json
options:
disableNameSuffixHash: true```
values.yaml
``` dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: 'developers'
orgId: 1
folder: 'Developers'
type: file
disableDeletion: false
editable: false
options:
path: /var/lib/grafana/dashboards/developers
dashboardsConfigMaps:
developers: "dev-container-monitoring-cfg"
dashboards:```
Its worth saying theres a load of other charts and folders, but loaded from urls.
I made a change to the configmap and the file.json
Flux didnt notice the change ![]()
I changed the configmap name and in the values.yaml, recommitted.
Just waiting
Kustomize.yaml should be inside the templates right?
The whole thing is here https://github.com/arterial-multicloud/flux2-grafana-stack/blob/main/apps-grafana/base/grafana/kustomization.yaml
Thank you so much I’ll try it and tell you.
No worries, I’m not sure I’m through it yet ![]()
The only reason I’m creating dashboards is my labeling strategy is different, I’m just copying existing dashboards
I’m creating for monitoring the components.