X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fk8s%2Fchange-charts-prometheus-operator.sh;fp=installers%2Fk8s%2Fchange-charts-prometheus-operator.sh;h=0d8da46f35ad30dc697d4e3058b390cceeb253e5;hb=89a4f0a8a7e73cb984d0bcd6a592d0df3edb0ab9;hp=5fcf67a2eaf58f94a3cf2fdb48c60c11488fc9e0;hpb=f83c20ab3304291aca8224ebe2dd88b58b5dc1b4;p=osm%2Fdevops.git diff --git a/installers/k8s/change-charts-prometheus-operator.sh b/installers/k8s/change-charts-prometheus-operator.sh index 5fcf67a2..0d8da46f 100755 --- a/installers/k8s/change-charts-prometheus-operator.sh +++ b/installers/k8s/change-charts-prometheus-operator.sh @@ -16,7 +16,7 @@ # Author: Jose Manuel Palacios (jmpalacios@minsait.com) # Author: Jose Antonio Martinez (jamartinezv@minsait.com) -# Script to generate new charts for prometheus-operator +# Script to generate new charts for kube-prometheus-stack HERE=$(dirname $(readlink -f ${BASH_SOURCE[0]})) source $HERE/versions_monitoring V_OPERATOR="" @@ -26,58 +26,34 @@ V_OPERATOR=$PROMETHEUS_OPERATOR WORK_DIR=$HERE CHARTS_DIR="$HERE/helm_charts" +mkdir -p $CHARTS_DIR -# This two objects are not exporting metrics -DELETE_YAML_DAHSBOARDS="etcd.yaml \ - proxy.yaml" -DELETE_YAML_RULES="etcd.yaml" - -# There is a bug in this dashboard and it is necessary to change it -CHANGE_YAML_DAHSBOARDS="statefulset.yaml" # Delete old versions cd $CHARTS_DIR -rm -rf prometheus-operator > /dev/null 2>&1 -rm prometheus-operator* > /dev/null 2>&1 - -echo "Fetching stable/prometheus-operator..." -helm fetch --version=$V_OPERATOR stable/prometheus-operator -tar xvf prometheus-operator-$V_OPERATOR.tgz > /dev/null 2>&1 +rm -rf kube-prometheus-stack > /dev/null 2>&1 +rm kube-prometheus-stack* > /dev/null 2>&1 +echo "Fetching prometheus-community/kube-prometheus-stack..." +helm fetch --version=$V_OPERATOR prometheus-community/kube-prometheus-stack +tar xvf kube-prometheus-stack-$V_OPERATOR.tgz > /dev/null 2>&1 cd $WORK_DIR -# Deleting grafana dashboard -echo "Changing prometheus-operator grafana dashboards...." -cd $CHARTS_DIR/prometheus-operator/templates/grafana/dashboards-1.14 -for i in $DELETE_YAML_DAHSBOARDS -do - #echo "Deleting $i...." - rm $i -done - -# Change CHANGE_YAML_DAHSBOARDS because it has an error -mv $CHANGE_YAML_DAHSBOARDS ${CHANGE_YAML_DAHSBOARDS}.ORI -cat ${CHANGE_YAML_DAHSBOARDS}.ORI | \ - sed 's@{job=\\\"kube-state-metrics\\\"}, cluster=\\\"\$cluster\\\",@{job=\\\"kube-state-metrics\\\", cluster=\\\"\$cluster\\\"},@' > \ - $CHANGE_YAML_DAHSBOARDS -chmod 755 $CHANGE_YAML_DAHSBOARDS -rm ${CHANGE_YAML_DAHSBOARDS}.ORI - -cd $WORK_DIR -# Deleting prometheus rules -echo "Changing prometheus-operator rules...." -cd $CHARTS_DIR/prometheus-operator/templates/prometheus/rules-1.14 -for i in $DELETE_YAML_RULES +# Patching Grafana dashboards +cd $CHARTS_DIR/kube-prometheus-stack/templates/grafana/dashboards-1.14 +# Replace kubelet dashboard (use singlestat panel instead of stat): Stat panel is available in Grafana 7.0+ +cp $WORK_DIR/kubelet.yaml . +for f in $(find . -name '*.yaml*'); do - #echo "Deleting $i...." - rm $i + # Set the correct datasource in all dashboards + linenumber=`cat -n $f | grep -A8 '"name": "datasource"' | grep regex | awk '{print $1}'` + sed -e "$linenumber s/\"regex\": \"\"/\"regex\": \"Prometheus\"/" -i $f + # Use a fix interval instead of rate_interval variable: $__rate_interval is available in Grafana 7.2+ + sed -e "s/\$__rate_interval/5m/g" -i $f done +cd $WORK_DIR -# Deleting Grafana dependence to avoid it installation -sed -i -e '/.*- name: grafana.*/,+3d' $CHARTS_DIR/prometheus-operator/requirements.yaml -sed -i -e '/.*- name: grafana.*/,+2d' $CHARTS_DIR/prometheus-operator/requirements.lock -rm -rf $CHARTS_DIR/prometheus-operator/charts/grafana exit 0