获取Grafana dashboards的JSON文件
这里是获取已经编辑好的Grafana dashboards的JSON文件;以便内置到Kube-Prometheus-Stack的helm charts的安装zip文件中。
编辑自定义dashboards JSON文件
获取dashboards JSON文件模板
其实Kube-Prometheus-Stack内部本身已经内置了大量kubenetes监控的dashboards。 进入目录,从这里目录复制任意一个作为模板。
cd kube-prometheus-stack/templates/grafana/dashboards-1.14
cp alertmanager-overview.yaml my-dashboard.yaml
对 my-dashboard.yaml 文件进行修改
- 删除头部的注释
{{- /*
Generated from 'alertmanager-overview' from https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/2a14b95595fd6767bdeb03ca7460b15a3793d503/manifests/grafana-dashboardDefinitions.yaml
Do not change in-place! In order to change this file first read following link:
https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
*/ -}}
- 修改ConfigMap的名称
name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" $) "my-dashboard" | trunc 63 | trimSuffix "-" }}
- 修改data的键和值
my-dashboard.json: |-{"annotations":{"list":[{"builtIn":1,"datasource":{"type":"grafana","uid":"-- Grafana --"},"enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":true,"fiscalYearStartMonth":0,"graphTooltip":0,"id":86,"links":[],"panels":[{"datasource":{"type":"prometheus","uid":"prometheus"},"fieldConfig":{"defaults":{"color":{"mode":"palette-classic"},"custom":{"axisBorderShow":false,"axisCenteredZero":false,"axisColorMode":"text","axisLabel":"","axisPlacement":"auto","barAlignment":0,"drawStyle":"line","fillOpacity":0,"gradientMode":"none","hideFrom":{"legend":false,"tooltip":false,"viz":false},"insertNulls":false,"lineInterpolation":"linear","lineWidth":1,"pointSize":5,"scaleDistribution":{"type":"linear"},"showPoints":"auto","spanNulls":false,"stacking":{"group":"A","mode":"none"},"thresholdsStyle":{"mode":"off"}},"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[]},"gridPos":{"h":8,"w":12,"x":0,"y":0},"id":1,"options":{"legend":{"calcs":[],"displayMode":"list","placement":"bottom","showLegend":true},"tooltip":{"maxHeight":600,"mode":"single","sort":"none"}},"targets":[{"datasource":{"type":"prometheus","uid":"prometheus"},"editorMode":"code","expr":"up","instant":false,"legendFormat":"__auto","range":true,"refId":"A"}],"title":"启动情况面板","type":"timeseries"}],"schemaVersion":39,"tags":[],"templating":{"list":[]},"time":{"from":"now-6h","to":"now"},"timeRangeUpdatedDuringEditOrView":false,"timepicker":{},"timezone":"browser","title":"自定义资源视图","uid":"ce0svip2ggmwwf","version":1,"weekStart":""}
这样就增加了一个自定义的Grafana dashboards;然后使用如下命令安装Kube-Prometheus-Stack;即可在安装时带入自定义的dashboard。
helm install kube-promethues-stack . -n kube-prom --debug
参考:
https://www.doit.com/how-to-add-custom-grafana-dashboards-in-code-using-the-kube-prometheus-stack-helm-chart/