mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-02-06 01:06:27 +00:00
112
hack/download-dashboards.sh
Executable file
112
hack/download-dashboards.sh
Executable file
@@ -0,0 +1,112 @@
|
||||
#https://github.com/deckhouse/deckhouse/blob/main/modules/340-monitoring-kubernetes-control-plane/monitoring/grafana-dashboards/kubernetes-cluster/control-plane-status.json
|
||||
base=https://github.com/deckhouse/deckhouse/raw/main/
|
||||
dir="grafana-dashboards"
|
||||
mkdir -p "$dir"
|
||||
|
||||
|
||||
|
||||
add_ds_prometheus(){
|
||||
jq '.templating.list |= [{"current":{"selected":false,"text":"default","value":"default"},"description":null,"error":null,"hide":0,"includeAll":false,"label":"datasource","multi":false,"name":"ds_prometheus","options":[],"query":"prometheus","refresh":1,"regex":"","skipUrlSync":false,"type":"datasource"}] + .'
|
||||
}
|
||||
|
||||
indent() {
|
||||
sed "s/^/$(head -c "$1" < /dev/zero | tr '\0' ' ')/"
|
||||
}
|
||||
|
||||
fix_d8() {
|
||||
sed \
|
||||
-e 's|$__interval_sx3|$__rate_interval|g' \
|
||||
-e 's|$__interval_sx4|$__rate_interval|g' \
|
||||
-e 's|P0D6E4079E36703EB|$ds_prometheus|g'
|
||||
}
|
||||
|
||||
swap_pvc_overview() {
|
||||
jq '(.panels[] | select(.title=="PVC Detailed") | .panels[] | select(.title=="Overview")) as $a | del(.panels[] | select(.title=="PVC Detailed").panels[] | select(.title=="Overview")) | ( (.panels[] | select(.title=="PVC Detailed"))) as $b | del( .panels[] | select(.title=="PVC Detailed")) | (.panels[.panels|length]=($a|.gridPos.y=$b.gridPos.y)) | (.panels[.panels|length]=($b|.gridPos.y=$a.gridPos.y))'
|
||||
}
|
||||
|
||||
deprectaed_remove_faq() {
|
||||
jq 'del(.panels[] | select(.title == "How to find who sends requests to deprecated APIs"))| (.panels[]|select(.type == "text")).gridPos.x = 12 | (.panels[]|select(.type == "text")).gridPos.w = 12'
|
||||
}
|
||||
|
||||
while read url others; do
|
||||
name="$(basename "$url" .json | tr _ -)"
|
||||
case $url in
|
||||
modules/042-kube-dns/*)
|
||||
ddir=control-plane
|
||||
;;
|
||||
modules/402-ingress-nginx/*)
|
||||
ddir=ingress
|
||||
;;
|
||||
modules/340-monitoring-kubernetes/*)
|
||||
ddir=main
|
||||
;;
|
||||
modules/340-monitoring-kubernetes-control-plane/*)
|
||||
ddir=control-plane
|
||||
;;
|
||||
esac
|
||||
file="$dir/$ddir/$name.json"
|
||||
echo "$file"
|
||||
mkdir -p "$dir/$ddir"
|
||||
curl -sSL "$base$url" -o "$file.tmp"
|
||||
|
||||
case "$name" in
|
||||
"deprecated-resources")
|
||||
filters="add_ds_prometheus | deprectaed_remove_faq | fix_d8"
|
||||
;;
|
||||
*)
|
||||
filters="fix_d8"
|
||||
;;
|
||||
esac
|
||||
|
||||
cat "$file.tmp" | eval "$filters" > "$file"
|
||||
done <<\EOT
|
||||
modules/042-kube-dns/monitoring/grafana-dashboards/kubernetes-cluster/dns/dns-coredns.json
|
||||
modules/402-ingress-nginx/monitoring/grafana-dashboards/kubernetes-cluster/controllers.json
|
||||
modules/402-ingress-nginx/monitoring/grafana-dashboards/kubernetes-cluster/controller-detail.json
|
||||
modules/402-ingress-nginx/monitoring/grafana-dashboards/ingress-nginx/namespace/namespace_detail.json
|
||||
modules/402-ingress-nginx/monitoring/grafana-dashboards/ingress-nginx/namespace/namespaces.json
|
||||
modules/402-ingress-nginx/monitoring/grafana-dashboards/ingress-nginx/vhost/vhost_detail.json
|
||||
modules/402-ingress-nginx/monitoring/grafana-dashboards/ingress-nginx/vhost/vhosts.json
|
||||
modules/340-monitoring-kubernetes-control-plane/monitoring/grafana-dashboards/kubernetes-cluster/control-plane-status.json
|
||||
modules/340-monitoring-kubernetes-control-plane/monitoring/grafana-dashboards/kubernetes-cluster/kube-etcd3.json #TODO
|
||||
modules/340-monitoring-kubernetes-control-plane/monitoring/grafana-dashboards/kubernetes-cluster/deprecated-resources.json
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//kubernetes-cluster/nodes/ntp.json #TODO
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//kubernetes-cluster/nodes/nodes.json
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//kubernetes-cluster/nodes/node.json
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//main/controller.json
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//main/pod.json
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//main/namespace/namespaces.json
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//main/namespace/namespace.json
|
||||
modules/340-monitoring-kubernetes/monitoring/grafana-dashboards//main/capacity-planning/capacity-planning.json
|
||||
EOT
|
||||
|
||||
|
||||
|
||||
while read url others; do
|
||||
name="$(basename "$url" .json | tr _ -)"
|
||||
case $url in
|
||||
*VictoriaMetrics*)
|
||||
ddir=victoria-metrics
|
||||
;;
|
||||
*/dotdc/*)
|
||||
ddir=dotdc
|
||||
;;
|
||||
esac
|
||||
file="$dir/$ddir/$name.json"
|
||||
|
||||
mkdir -p "$dir/$ddir"
|
||||
echo "$file"
|
||||
curl -sSL "$url" -o "$file"
|
||||
done <<\EOT
|
||||
https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/master/dashboards/victoriametrics.json
|
||||
https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/master/dashboards/vmagent.json
|
||||
https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/master/dashboards/victoriametrics-cluster.json
|
||||
https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/master/dashboards/vmalert.json
|
||||
https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/master/dashboards/operator.json
|
||||
https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/master/dashboards/backupmanager.json
|
||||
https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-system-coredns.json
|
||||
https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-global.json
|
||||
https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-namespaces.json
|
||||
https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-pods.json
|
||||
EOT
|
||||
|
||||
Reference in New Issue
Block a user