Fix bug 964: Duplicated dashboards. Set fixed port for Grafana 72/8372/14
authorromeromonser <garomero@indra.es>
Tue, 10 Dec 2019 17:25:55 +0000 (18:25 +0100)
committerromeromonser <garomero@indra.es>
Thu, 30 Apr 2020 17:00:55 +0000 (19:00 +0200)
Change-Id: I7534cf2ae0ef60729634e31da8af390e14e9d730
Signed-off-by: romeromonser <garomero@indra.es>
installers/k8s/README-osm_k8s_monitoring.md
installers/k8s/change-charts-prometheus-operator.sh
installers/k8s/grafanaproviders.yaml [deleted file]
installers/k8s/install_osm_k8s_monitoring.sh
installers/k8s/kafka-exporter-dashboard.yaml
installers/k8s/mongodb-exporter-dashboard.yaml
installers/k8s/mysql-exporter-dashboard.yaml
installers/k8s/nodes-dashboard.yaml [new file with mode: 0644]
installers/k8s/summary-dashboard.yaml
installers/k8s/uninstall_osm_k8s_monitoring.sh

index 223a954..5632f4b 100644 (file)
@@ -16,54 +16,51 @@ Author: Jose Manuel Palacios (jmpalacios@minsait.com)
 Author: Jose Antonio Martinez (jamartinezv@minsait.com)
 -->
 
-# Monitoring in Kubernetes based OSM
+# OSM Monitoring
 
 ## Introduction
 
-This implementation deploys a PM stack based on Prometheus Operator plus a series of exporters for monitoring the OSM nodes and third party software modules (Kafka, mongodb and mysql)
+This is an utility to monitor the OSM nodes and pods in the Kubernetes deployment. Metrics are stored in Prometheus and accessible in Grafana. Note that those "Prometheus" instance is not the same in the OSM core, but different one, aimed at the monitoring of the platform itself.
 
-In a high level, it consists of two scripts that deploy/undeploy the required objects in a previously existing Kubernetes based OSM installation.
-Those scripts use already existing and freely available software: Helm, Kubernetes Operator and a set of exporters and dashboards pretty much standard. Helm server part (tiller) and charts deployed depends on Kubernetes version 1.15.x. Charts versions are pre-configured in an installation script and can be easily changed.
+## Requirements
 
-As a result, there will be 3 folders in Grafana:
+OSM must be/have been deployed using the Kubernetes installer (that is, with the -c k8s option).
 
-- Summary: with a quick view of the platform global status.
-- OSM Third Party Modules: dashboards for MongoDB, MyslqDB and Kafka.
-- Kubernetes cluster: dashboards for pods, namespaces, nodes, etc.
+## Versions
 
-## Requirements
+For reference, the versions for the external components used are as follows:
 
-- Kubernetes 1.15.X
-- OSM Kubernetes version Release 7
+* PROMETHEUS_OPERATOR=6.18.0
+* PROMETHEUS_MONGODB_EXPORTER=2.3.0
+* PROMETHEUS_MYSQL_EXPORTER=0.5.1
+* HELM_CLIENT=2.15.2
 
-## Components
+## Functionality
 
-- Installs the helm client on the host where the script is run (if not already installed)
-- Creates a service account in the k8s cluster to be used by tiller, with sufficient permissions to be able to deploy kubernetes objects.
-- Installs the helm server part (tiller) and assigns to tiller the previously created service account (if not already installed)
-- Creates a namespace (monitoring) where all the components that are part of the OSM deployment monitoring `pack` will be installed.
-- Installs prometheus-operator using the `stable/prometheus-operator` chart which is located at the default helm repository (<https://kubernetes-charts.storage.googleapis.com/>). This installs a set of basic metrics for CPU, memory, etc. of hosts and pods. It also includes grafana and dashboards.
-- Installs an exporter for mongodb using the `stable/prometheus-mongodb-exporter` chart, which is located at the default  helm repository (<https://kubernetes-charts.storage.googleapis.com/>).
-- Adds a dashboard for mongodb to grafana through a local yaml file.
-- Installs an exporter for mysql using the `stable/prometheus-mysql-exporter` chart which is located at the default helm repository (<https://kubernetes-charts.storage.googleapis.com/>).
-- Adds a dashboard for mysql to grafana through a local yaml file.
-- Installs an exporter for kafka using a custom-build helm chart with a deployment and its corresponding service and service monitor with local yaml files. We take the kafka exporter from <https://hub.docker.com/r/danielqsj/kafka-exporter>.
-- Add a dashboard for kafka to grafana through a local yaml file.
+Kubernetes cluster metrics (for nodes, pods, deployments, etc.) are stored in the dedicated Prometheus instance and accessible using Grafana.
 
-## Versions
+"Prometheus-operator" (<https://github.com/helm/charts/tree/master/stable/prometheus-operator>) provides the basic components and the monitoring of the basic Kubernetes resources. Additional "exporters" are used to gather metrics from Kafka, Mysql and Mongodb.
+It is important to note that Grafana is not installed with this chart because we are using Grafana installed with OSM core.
 
-We use the following versions:
+## Install procedure
 
-- PROMETHEUS_OPERATOR=6.18.0
-- PROMETHEUS_MONGODB_EXPORTER=2.3.0
-- PROMETHEUS_MYSQL_EXPORTER=0.5.1
-- HELM_CLIENT=2.15.2
+There are two ways to install the monitoring component based on the OSM global installer (<https://osm-download.etsi.org/ftp/osm-7.0-seven/install_osm.sh>)
 
-## Install
+* Using the --k8s_monitor switch in the OSM installation:
 
-Note: This implementation is dependent on the Kubernetes OSM deployment, and the installation script must be executed AFTER the Kubernetes deployment has been completed. Notice that it is not applicable to the basic docker deployment.
+```bash
+./install_osm.sh -c k8s --k8s_monitor
+```
+
+* As a separated component (K8s based OSM only):
 
 ```bash
+./install_osm.sh -o k8s_monitor
+```
+
+All the components will be installed in the "monitoring" namespace. In addition, for debugging purposes, there is a standalone script is available in `devops/installers/k8s/install_osm_k8s_monitoring.sh`. To see the available options, type --help.
+
+```sh
 usage: ./install_osm_k8s_monitoring.sh [OPTIONS]
 Install OSM Monitoring
   OPTIONS
@@ -74,17 +71,26 @@ Install OSM Monitoring
      -h / --help      :   print this help
 ```
 
-## Uninstall
+## Access to Grafana
+
+The Grafana console can be accessed on the IP address of any node using port 3000, since a NodePort service is used: `http://<ip_your_osm_host>:3000`
+
+The initial credentials are:
+
+* Username: admin
+* Password: admin
+
+## Uninstall procedure
 
-To uninstall the utility you must use the installation script.
+Use the uninstall script
 
 ```sh
-./uninstall_osm_k8s_monitoring.sh
+./install_osm.sh -o k8s_monitor --uninstall
 ```
 
-It will uninstall all components of this utility. To see the options type --help.
+In addition, for debugging purposes, there is a standalone script is available in `devops/installers/k8s/uninstall_osm_k8s_monitoring.sh`. To see the available options type --help.
 
-```sh
+```bash
 usage: ./uninstall_osm_k8s_monitoring.sh [OPTIONS]
 Uninstall OSM Monitoring
   OPTIONS
@@ -94,20 +100,36 @@ Uninstall OSM Monitoring
      -h / --help   :   print this help
 ```
 
-## Access to Grafana Web Monitoring
+## Grafana Dashboards
 
-To view the WEB with the different dashboards it is necessary to connect to the service "grafana" installed with this utility
-and view the NodePort that uses. If the utility is installed with the default namespace "monitoring" you must type this:
+Dashboard are organized in two folders:
 
-```sh
-kubectl get all --namespace monitoring
-```
+* The folder "Kubernetes cluster" contains the dashboards available upstream as part of the standard prometheus operator helm installation:
 
-You must see the NodePort (greater than 30000) that uses the grafana service and type in your WEB browser:
+  * Kubernetes components (api server, kubelet, pods, etc)
+  * Nodes of the cluster.
+  * Prometheus operator components.
 
-```sh
-  http://<ip_your_osm_host>:<nodeport>
+* The folder "Open Source MANO" contains additional dashboards customized for OSM:
+  * Summary with a quick view of the overall status.
+  * Host information
+  * Third party components: Kafka, MongoDB, MySQL.
+
+## Adding new dashboards
+
+New dashboards for OSM components should be included in "Open Source MANO" folder. Once we have the dashboard json file, please follow the instructions below to incorporate it into Grafana.
+
+```bash
+kubectl -n monitoring create configmap <configmap-name> --from-file=<dashboard-json-file>
+kubectl -n monitoring patch configmap <configmap-name> --patch '{"metadata": {"labels": {"grafana_dashboard": "1"},{"annotations": {k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"}}}}'
+```
+where <configmap-name> and <dashboard-json-file> needs to be replaced with desired values. A proposal is that <configmap-name> begins with "osm-monitoring-osm-"
+
+Once configmap is created and patched, we can download the manifest file for future use with next command:
 ```
-  
-- Username: admin
-- Password: prom-operator
+kubectl -n monitoring get configmap <configmap-name> -o yaml > <confimap-file>
+```
+
+Grafana Sidecar will read the label `grafana_dashboard: "1"` in the configmap and upload the dashboard information to Grafana.
+
+The current dashboards can also be updated. It is only needed to modify/update the required yaml file available in `devops/installers/k8s` and apply them via kubectl. As an example `kubectl -n monitoring apply -f summary-dashboard.yaml` will update the changes made in the summary dashboard.
index 7ac07dd..5fcf67a 100755 (executable)
@@ -75,4 +75,9 @@ do
     rm $i
 done
 
+# 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
diff --git a/installers/k8s/grafanaproviders.yaml b/installers/k8s/grafanaproviders.yaml
deleted file mode 100644 (file)
index a6f802c..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#   Copyright 2019 Minsait - Indra S.A.
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#   Author: Jose Manuel Palacios (jmpalacios@minsait.com)
-#   Author: Jose Antonio Martinez (jamartinezv@minsait.com)
-
-apiVersion: v1
-data:
-  provider.yaml: |-
-    apiVersion: 1
-    providers:
-    - name: 'Kubernetes Cluster'
-      orgId: 1
-      folder: 'Kubernetes Cluster'
-      type: file
-      disableDeletion: false
-      options:
-        path: /tmp/dashboards
-    - name: 'OSM Third Party Modules'
-      orgId: 1
-      folder: 'OSM Third Party Modules'
-      type: file
-      disableDeletion: false
-      options:
-        path: '/tmp/dashboards/OSM Third Party Modules'
-    - name: 'OSM Modules'
-      orgId: 1
-      folder: 'OSM Modules'
-      type: file
-      disableDeletion: false
-      options:
-        path: '/tmp/dashboards/OSM Modules'
-    - name: 'Summary'
-      orgId: 1
-      folder: 'Summary'
-      type: file
-      disableDeletion: false
-      options:
-        path: /tmp/dashboards/Summary
-kind: ConfigMap
-metadata:
-  labels:
-    app: grafana
-    chart: grafana-3.8.19
-    heritage: Tiller
-    release: osm-monitoring
-  name: osm-monitoring-grafana-config-dashboards
\ No newline at end of file
index 4259696..badba81 100755 (executable)
@@ -46,7 +46,7 @@ NAMESPACE=monitoring
 HELM=""
 DEBUG=""
 DUMP_VARS=""
-SERVICE_TYPE="" 
+SERVICE_TYPE=""
 while getopts ":h-:n:s:" o; do
     case "${o}" in
         h)
@@ -111,8 +111,8 @@ helm > /dev/null 2>&1
 if [ $? != 0 ] ; then
     echo "Helm is not installed, installing ....."
     curl https://get.helm.sh/helm-v2.15.2-linux-amd64.tar.gz --output helm-v2.15.2.tar.gz
-    tar -zxvf helm-v2.15.2.tar.gz 
-    sudo mv linux-amd64/helm /usr/local/bin/helm 
+    tar -zxvf helm-v2.15.2.tar.gz
+    sudo mv linux-amd64/helm /usr/local/bin/helm
     rm -r linux-amd64
     rm helm-v2.15.2.tar.gz
 fi
@@ -130,10 +130,10 @@ if [ $? == 1 ] ; then
     while true
     do
     tiller_status=`kubectl -n kube-system get deployment.apps/tiller-deploy --no-headers |  awk '{print $2'}`
-        if  [ ! -z "$tiller_status" ] 
+        if  [ ! -z "$tiller_status" ]
         then
             if [ $tiller_status == "1/1" ]
-            then 
+            then
                 echo "Go...."
                 break
             fi
@@ -150,11 +150,7 @@ kubectl create namespace $NAMESPACE
 # Prometheus operator installation
 $HERE/change-charts-prometheus-operator.sh
 echo "Creating stable/prometheus-operator"
-helm install --namespace $NAMESPACE --version=$V_OPERATOR --name osm-monitoring --set kubelet.serviceMonitor.https=true,prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false $HERE/helm_charts/prometheus-operator
-
-# Change osm-monitoring-grafana-config-dashboards to have folders
-kubectl -n $NAMESPACE delete configmap osm-monitoring-grafana-config-dashboards
-kubectl -n $NAMESPACE apply -f $HERE/grafanaproviders.yaml
+helm install --namespace $NAMESPACE --version=$V_OPERATOR --name osm-monitoring --set kubelet.serviceMonitor.https=true,prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false,alertmanager.service.type=$SERVICE_TYPE,prometheus.service.type=$SERVICE_TYPE,grafana.serviceMonitor.selfMonitor=false $HERE/helm_charts/prometheus-operator
 
 # Exporters installation
 
@@ -165,14 +161,14 @@ helm install --namespace $NAMESPACE --version=$V_MONGODB_EXPORTER --name osm-mon
 #dashboard:
 kubectl -n $NAMESPACE apply -f $HERE/mongodb-exporter-dashboard.yaml
 
-# Mysql 
+# Mysql
 # exporter
 echo "Creating stable/prometheus-mysql-exporter"
 helm install --namespace $NAMESPACE --version=$V_MYSQL_EXPORTER --name osm-mysql-exporter --set serviceMonitor.enabled=true,mysql.user="root",mysql.pass=`kubectl -n osm get secret ro-db-secret -o yaml | grep MYSQL_ROOT_PASSWORD | awk '{print $2}' | base64 -d`,mysql.host="mysql.osm",mysql.port="3306" stable/prometheus-mysql-exporter
 #dashboard:
 kubectl -n $NAMESPACE apply -f $HERE/mysql-exporter-dashboard.yaml
 
-# Kafka 
+# Kafka
 # exporter
 helm install --namespace $NAMESPACE --name osm-kafka-exporter $HERE/helm_charts/prometheus-kafka-exporter
 # dashboard:
@@ -181,22 +177,6 @@ kubectl -n $NAMESPACE apply -f $HERE/kafka-exporter-dashboard.yaml
 # Deploy summary dashboard
 kubectl -n $NAMESPACE apply -f $HERE/summary-dashboard.yaml
 
-# Patch prometheus, alertmanager and grafana with service type
-# By default is created with ClusterIP type
-if [ $SERVICE_TYPE == "NodePort" ] ; then
-  kubectl --namespace $NAMESPACE patch service osm-monitoring-grafana -p '{"spec":{"type":"NodePort"}}'
-  kubectl --namespace $NAMESPACE patch service osm-monitoring-prometheus-alertmanager -p '{"spec":{"type":"NodePort"}}'
-  kubectl --namespace $NAMESPACE patch service osm-monitoring-prometheus-prometheus -p '{"spec":{"type":"NodePort"}}'
-fi
-
-if [ $SERVICE_TYPE == "LoadBalancer" ] ; then
-  kubectl --namespace $NAMESPACE patch service osm-monitoring-grafana -p '{"spec":{"type":"LoadBalancer"}}'
-  kubectl --namespace $NAMESPACE patch service osm-monitoring-prometheus-alertmanager -p '{"spec":{"type":"LoadBalancer"}}'
-  kubectl --namespace $NAMESPACE patch service osm-monitoring-prometheus-prometheus -p '{"spec":{"type":"LoadBalancer"}}'
-fi
-
-# Restart grafana to be sure patches are applied
-echo "Restarting grafana POD..."
-pod_grafana=`kubectl -n monitoring get pods | grep grafana | awk '{print $1}'`
-kubectl --namespace $NAMESPACE delete pod $pod_grafana
+# Deploy nodes dashboards
+kubectl -n $NAMESPACE apply -f $HERE/nodes-dashboard.yaml
 
index 71b88db..4354e2f 100644 (file)
@@ -23,7 +23,7 @@ metadata:
     heritage: Tiller
   name: osm-monitoring-prometheus-kafka-exporter-grafana
   annotations:
-    k8s-sidecar-target-directory: "/tmp/dashboards/OSM Third Party Modules"
+    k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
 data:
   kafka-exporter-dashboard.json: |-
     {
@@ -44,8 +44,8 @@ data:
       "editable": true,
       "gnetId": 7589,
       "graphTooltip": 0,
-      "id": 36,
-      "iteration": 1569330292834,
+      "id": 10,
+      "iteration": 1578848023483,
       "links": [],
       "panels": [
         {
@@ -94,7 +94,7 @@ data:
           "steppedLine": false,
           "targets": [
             {
-              "expr": "sum(rate(kafka_topic_partition_current_offset{instance=\"$instance\", topic=~\"$topic\"}[1m])) by (topic)",
+              "expr": "sum(kafka_topic_partition_current_offset - kafka_topic_partition_oldest_offset{instance=\"$instance\", topic=~\"$topic\"}) by (topic)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{topic}}",
@@ -105,7 +105,7 @@ data:
           "timeFrom": null,
           "timeRegions": [],
           "timeShift": null,
-          "title": "Message in per second",
+          "title": "Messages stored per topic",
           "tooltip": {
             "shared": true,
             "sort": 0,
@@ -166,6 +166,7 @@ data:
             "rightSide": false,
             "show": true,
             "sideWidth": 480,
+            "sort": "max",
             "sortDesc": true,
             "total": false,
             "values": true
@@ -192,7 +193,7 @@ data:
               "instant": false,
               "interval": "",
               "intervalFactor": 1,
-              "legendFormat": "{{consumergroup}} (topic: {{topic}})",
+              "legendFormat": " {{topic}} ({{consumergroup}})",
               "refId": "A"
             }
           ],
@@ -292,7 +293,7 @@ data:
           "timeFrom": null,
           "timeRegions": [],
           "timeShift": null,
-          "title": "Message in per minute",
+          "title": "Messages produced per minute",
           "tooltip": {
             "shared": true,
             "sort": 0,
@@ -378,7 +379,7 @@ data:
               "expr": "sum(delta(kafka_consumergroup_current_offset{instance=~'$instance',topic=~\"$topic\"}[5m])/5) by (consumergroup, topic)",
               "format": "time_series",
               "intervalFactor": 1,
-              "legendFormat": "{{consumergroup}} (topic: {{topic}})",
+              "legendFormat": " {{topic}} ({{consumergroup}})",
               "refId": "A"
             }
           ],
@@ -386,7 +387,7 @@ data:
           "timeFrom": null,
           "timeRegions": [],
           "timeShift": null,
-          "title": "Message consume per minute",
+          "title": "Messages consumed per minute",
           "tooltip": {
             "shared": true,
             "sort": 0,
@@ -521,15 +522,12 @@ data:
       "refresh": "5s",
       "schemaVersion": 19,
       "style": "dark",
-      "tags": [
-        "Kafka"
-      ],
+      "tags": [],
       "templating": {
         "list": [
           {
             "allValue": null,
             "current": {
-              "selected": true,
               "text": "osm-kafka-exporter-service",
               "value": "osm-kafka-exporter-service"
             },
@@ -554,11 +552,6 @@ data:
           },
           {
             "allValue": null,
-            "current": {
-              "selected": false,
-              "text": "10.244.0.87:9092",
-              "value": "10.244.0.87:9092"
-            },
             "datasource": "Prometheus",
             "definition": "",
             "hide": 0,
@@ -581,6 +574,7 @@ data:
           {
             "allValue": null,
             "current": {
+              "tags": [],
               "text": "All",
               "value": [
                 "$__all"
@@ -637,7 +631,7 @@ data:
         ]
       },
       "timezone": "browser",
-      "title": "Kafka Exporter Overview",
+      "title": "Kafka",
       "uid": "jwPKIsniz",
-      "version": 1
+      "version": 2
     }
index a7320ce..9def63a 100644 (file)
@@ -23,7 +23,7 @@ metadata:
     heritage: Tiller
   name: osm-monitoring-prometheus-mongodb-exporter-grafana
   annotations:
-    k8s-sidecar-target-directory: "/tmp/dashboards/OSM Third Party Modules"
+    k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
 data:
   mongodb-exporter-dashboard.json: |-
     {
@@ -40,12 +40,12 @@ data:
           }
         ]
       },
-      "description": "MongoDB Prometheus Exporter Dashboard. \r\nWorks well with https://github.com/dcu/mongodb_exporter\r\n\r\nIf you have the node_exporter running on the mongo instance, you will also get some useful alert panels related to disk io and cpu.",
+      "description": "MongoDB Prometheus Exporter Dashboard.",
       "editable": true,
       "gnetId": 2583,
       "graphTooltip": 1,
-      "id": 29,
-      "iteration": 1569257185850,
+      "id": 9,
+      "iteration": 1577555358996,
       "links": [],
       "panels": [
         {
@@ -56,10 +56,192 @@ data:
             "x": 0,
             "y": 0
           },
+          "id": 22,
+          "panels": [],
+          "repeat": "env",
+          "title": "Health",
+          "type": "row"
+        },
+        {
+          "cacheTimeout": null,
+          "colorBackground": false,
+          "colorValue": true,
+          "colors": [
+            "rgba(245, 54, 54, 0.9)",
+            "rgba(237, 129, 40, 0.89)",
+            "rgba(50, 172, 45, 0.97)"
+          ],
+          "datasource": "Prometheus",
+          "decimals": null,
+          "format": "s",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "gridPos": {
+            "h": 4,
+            "w": 12,
+            "x": 0,
+            "y": 1
+          },
+          "id": 10,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "options": {},
+          "postfix": "",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": false,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "expr": "mongodb_instance_uptime_seconds{instance=~\"$instance\"}",
+              "format": "time_series",
+              "intervalFactor": 2,
+              "legendFormat": "",
+              "refId": "A",
+              "step": 1800
+            }
+          ],
+          "thresholds": "0,360",
+          "title": "Uptime",
+          "type": "singlestat",
+          "valueFontSize": "80%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "current"
+        },
+        {
+          "cacheTimeout": null,
+          "colorBackground": false,
+          "colorValue": false,
+          "colors": [
+            "rgba(245, 54, 54, 0.9)",
+            "rgba(237, 129, 40, 0.89)",
+            "rgba(50, 172, 45, 0.97)"
+          ],
+          "datasource": "Prometheus",
+          "format": "none",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "gridPos": {
+            "h": 4,
+            "w": 12,
+            "x": 12,
+            "y": 1
+          },
+          "id": 1,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "options": {},
+          "postfix": "",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": true,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": true
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "expr": "mongodb_connections{instance=~\"$instance\",state=\"current\"}",
+              "format": "time_series",
+              "intervalFactor": 2,
+              "legendFormat": "",
+              "metric": "mongodb_connections",
+              "refId": "A",
+              "step": 1800
+            }
+          ],
+          "thresholds": "",
+          "title": "Open Connections",
+          "type": "singlestat",
+          "valueFontSize": "80%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "avg"
+        },
+        {
+          "collapsed": false,
+          "gridPos": {
+            "h": 1,
+            "w": 24,
+            "x": 0,
+            "y": 5
+          },
           "id": 20,
           "panels": [],
           "repeat": "env",
-          "title": "Query Metrics for $env",
+          "title": "Operations",
           "type": "row"
         },
         {
@@ -74,7 +256,7 @@ data:
             "h": 6,
             "w": 10,
             "x": 0,
-            "y": 1
+            "y": 6
           },
           "id": 7,
           "legend": {
@@ -103,7 +285,7 @@ data:
           "steppedLine": false,
           "targets": [
             {
-              "expr": "rate(mongodb_op_counters_total{instance=~\"$env\"}[$interval])",
+              "expr": "rate(mongodb_op_counters_total{instance=~\"$instance\"}[$interval])",
               "format": "time_series",
               "interval": "",
               "intervalFactor": 2,
@@ -165,7 +347,7 @@ data:
             "h": 6,
             "w": 8,
             "x": 10,
-            "y": 1
+            "y": 6
           },
           "id": 9,
           "legend": {
@@ -199,7 +381,7 @@ data:
           "steppedLine": false,
           "targets": [
             {
-              "expr": "rate(mongodb_mongod_metrics_document_total{instance=~\"$env\"}[$interval])",
+              "expr": "rate(mongodb_mongod_metrics_document_total{instance=~\"$instance\"}[$interval])",
               "format": "time_series",
               "interval": "",
               "intervalFactor": 2,
@@ -261,7 +443,7 @@ data:
             "h": 6,
             "w": 6,
             "x": 18,
-            "y": 1
+            "y": 6
           },
           "id": 8,
           "legend": {
@@ -290,7 +472,7 @@ data:
           "steppedLine": false,
           "targets": [
             {
-              "expr": "rate(mongodb_mongod_metrics_query_executor_total{instance=~\"$env\"}[$interval])",
+              "expr": "rate(mongodb_mongod_metrics_query_executor_total{instance=~\"$instance\"}[$interval])",
               "format": "time_series",
               "interval": "",
               "intervalFactor": 2,
@@ -340,273 +522,6 @@ data:
             "alignLevel": null
           }
         },
-        {
-          "collapsed": false,
-          "gridPos": {
-            "h": 1,
-            "w": 24,
-            "x": 0,
-            "y": 7
-          },
-          "id": 22,
-          "panels": [],
-          "repeat": "env",
-          "title": "Health metrics for $env",
-          "type": "row"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": true,
-          "colors": [
-            "rgba(245, 54, 54, 0.9)",
-            "rgba(237, 129, 40, 0.89)",
-            "rgba(50, 172, 45, 0.97)"
-          ],
-          "datasource": "Prometheus",
-          "decimals": null,
-          "format": "s",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 4,
-            "w": 4,
-            "x": 0,
-            "y": 8
-          },
-          "id": 10,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "mongodb_instance_uptime_seconds{instance=~\"$env\"}",
-              "format": "time_series",
-              "intervalFactor": 2,
-              "legendFormat": "",
-              "refId": "A",
-              "step": 1800
-            }
-          ],
-          "thresholds": "0,360",
-          "title": "Uptime",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "current"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "rgba(245, 54, 54, 0.9)",
-            "rgba(237, 129, 40, 0.89)",
-            "rgba(50, 172, 45, 0.97)"
-          ],
-          "datasource": "Prometheus",
-          "decimals": null,
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 4,
-            "w": 4,
-            "x": 4,
-            "y": 8
-          },
-          "id": 2,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": true,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": true
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "mongodb_connections{instance=~\"$env\",state=\"available\"}",
-              "format": "time_series",
-              "intervalFactor": 2,
-              "legendFormat": "",
-              "metric": "mongodb_connections",
-              "refId": "A",
-              "step": 1800
-            }
-          ],
-          "thresholds": "",
-          "title": "Available Connections",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "rgba(245, 54, 54, 0.9)",
-            "rgba(237, 129, 40, 0.89)",
-            "rgba(50, 172, 45, 0.97)"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 4,
-            "w": 16,
-            "x": 8,
-            "y": 8
-          },
-          "id": 1,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": true,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": true
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "mongodb_connections{instance=~\"$env\",state=\"current\"}",
-              "format": "time_series",
-              "intervalFactor": 2,
-              "legendFormat": "",
-              "metric": "mongodb_connections",
-              "refId": "A",
-              "step": 1800
-            }
-          ],
-          "thresholds": "",
-          "title": "Open Connections",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
         {
           "collapsed": false,
           "gridPos": {
@@ -618,7 +533,7 @@ data:
           "id": 23,
           "panels": [],
           "repeat": null,
-          "title": "Resource Metrics",
+          "title": "Resources",
           "type": "row"
         },
         {
@@ -666,7 +581,7 @@ data:
           "steppedLine": false,
           "targets": [
             {
-              "expr": "mongodb_memory{instance=~\"$env\",type=~\"resident|virtual\"}",
+              "expr": "mongodb_memory{instance=~\"$instance\",type=~\"resident|virtual\"}",
               "format": "time_series",
               "interval": "",
               "intervalFactor": 2,
@@ -759,7 +674,7 @@ data:
           "steppedLine": false,
           "targets": [
             {
-              "expr": "rate(mongodb_network_bytes_total{instance=~\"$env\"}[$interval])",
+              "expr": "rate(mongodb_network_bytes_total{instance=~\"$instance\"}[$interval])",
               "format": "time_series",
               "interval": "",
               "intervalFactor": 2,
@@ -814,9 +729,7 @@ data:
       "refresh": "5s",
       "schemaVersion": 19,
       "style": "dark",
-      "tags": [
-        "prometheus"
-      ],
+      "tags": [],
       "templating": {
         "list": [
           {
@@ -829,9 +742,9 @@ data:
             "definition": "",
             "hide": 0,
             "includeAll": true,
-            "label": "env",
+            "label": "instance",
             "multi": true,
-            "name": "env",
+            "name": "instance",
             "options": [],
             "query": "label_values(mongodb_connections, instance)",
             "refresh": 1,
@@ -951,5 +864,5 @@ data:
       "timezone": "browser",
       "title": "MongoDB",
       "uid": "HEK4NbtZk",
-      "version": 1
+      "version": 2
     }
index 32f081e..77ce2b1 100644 (file)
@@ -23,7 +23,7 @@ metadata:
     heritage: Tiller
   name: osm-monitoring-prometheus-mysql-exporter-grafana
   annotations:
-    k8s-sidecar-target-directory: "/tmp/dashboards/OSM Third Party Modules"
+    k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
 data:
   mysql-exporter-dashboard.json: |-
     {
@@ -40,7 +40,7 @@ data:
           }
         ]
       },
-      "description": "Basic Mysql dashboard for the prometheus exporter ",
+      "description": "Mysql dashboard",
       "editable": true,
       "gnetId": 6239,
       "graphTooltip": 0,
@@ -731,7 +731,7 @@ data:
           "dashLength": 10,
           "dashes": false,
           "datasource": "Prometheus",
-          "description": "The number of connections that were aborted because the client died without closing the connection properly. See Section B.5.2.10, “Communication Errors and Aborted Connections”.",
+          "description": "The number of connections that were aborted because the client died without closing the connection properly.",
           "fill": 1,
           "fillGradient": 0,
           "gridPos": {
@@ -820,7 +820,7 @@ data:
           "dashLength": 10,
           "dashes": false,
           "datasource": "Prometheus",
-          "description": "The number of failed attempts to connect to the MySQL server. See Section B.5.2.10, “Communication Errors and Aborted Connections”.\n\nFor additional connection-related information, check the Connection_errors_xxx status variables and the host_cache table.",
+          "description": "The number of failed attempts to connect to the MySQL server.",
           "fill": 1,
           "fillGradient": 0,
           "gridPos": {
@@ -1106,8 +1106,6 @@ data:
       "schemaVersion": 19,
       "style": "dark",
       "tags": [
-        "Databases",
-        "backgroundservices"
       ],
       "templating": {
         "list": [
@@ -1169,7 +1167,7 @@ data:
         ]
       },
       "timezone": "",
-      "title": "Mysql - Prometheus",
+      "title": "Mysql",
       "uid": "6-kPlS7ik",
       "version": 1
     }
diff --git a/installers/k8s/nodes-dashboard.yaml b/installers/k8s/nodes-dashboard.yaml
new file mode 100644 (file)
index 0000000..dc96e21
--- /dev/null
@@ -0,0 +1,1704 @@
+#   Copyright 2019 Minsait - Indra S.A.
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#   Author: Jose Manuel Palacios (jmpalacios@minsait.com)
+#   Author: Jose Antonio Martinez (jamartinezv@minsait.com)
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  labels:
+    grafana_dashboard: "1"
+  name: osm-monitoring-osm-nodes-grafana
+  annotations:
+    k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
+data:
+  osm-nodes-dashboard.json: |-
+    {
+      "annotations": {
+        "list": [
+          {
+            "builtIn": 1,
+            "datasource": "-- Grafana --",
+            "enable": true,
+            "hide": true,
+            "iconColor": "rgba(0, 211, 255, 1)",
+            "name": "Annotations & Alerts",
+            "type": "dashboard"
+          }
+        ]
+      },
+      "description": "Physical nodes dashboard",
+      "editable": true,
+      "gnetId": 11074,
+      "graphTooltip": 0,
+      "id": 12,
+      "iteration": 1577553366915,
+      "links": [],
+      "panels": [
+        {
+          "collapsed": true,
+          "gridPos": {
+            "h": 1,
+            "w": 24,
+            "x": 0,
+            "y": 0
+          },
+          "id": 179,
+          "panels": [
+            {
+              "cacheTimeout": null,
+              "colorBackground": false,
+              "colorPostfix": false,
+              "colorPrefix": false,
+              "colorValue": true,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "datasource": "Prometheus",
+              "decimals": 1,
+              "description": "",
+              "format": "s",
+              "gauge": {
+                "maxValue": 100,
+                "minValue": 0,
+                "show": false,
+                "thresholdLabels": false,
+                "thresholdMarkers": true
+              },
+              "gridPos": {
+                "h": 6,
+                "w": 2,
+                "x": 0,
+                "y": 1
+              },
+              "hideTimeOverride": true,
+              "id": 15,
+              "interval": null,
+              "links": [],
+              "mappingType": 1,
+              "mappingTypes": [
+                {
+                  "name": "value to text",
+                  "value": 1
+                },
+                {
+                  "name": "range to text",
+                  "value": 2
+                }
+              ],
+              "maxDataPoints": 100,
+              "nullPointMode": "null",
+              "nullText": null,
+              "options": {},
+              "pluginVersion": "6.4.2",
+              "postfix": "",
+              "postfixFontSize": "50%",
+              "prefix": "",
+              "prefixFontSize": "50%",
+              "rangeMaps": [
+                {
+                  "from": "null",
+                  "text": "N/A",
+                  "to": "null"
+                }
+              ],
+              "sparkline": {
+                "fillColor": "rgba(31, 118, 189, 0.18)",
+                "full": false,
+                "lineColor": "rgb(31, 120, 193)",
+                "show": false
+              },
+              "tableColumn": "",
+              "targets": [
+                {
+                  "expr": "sum(time() - node_boot_time_seconds{instance=~\"$node\"})",
+                  "format": "time_series",
+                  "hide": false,
+                  "instant": true,
+                  "intervalFactor": 1,
+                  "refId": "A",
+                  "step": 40
+                }
+              ],
+              "thresholds": "1,2",
+              "title": "System Uptime",
+              "type": "singlestat",
+              "valueFontSize": "70%",
+              "valueMaps": [
+                {
+                  "op": "=",
+                  "text": "N/A",
+                  "value": "null"
+                }
+              ],
+              "valueName": "current"
+            },
+            {
+              "cacheTimeout": null,
+              "colorBackground": false,
+              "colorPostfix": false,
+              "colorValue": true,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "datasource": "Prometheus",
+              "description": "",
+              "format": "short",
+              "gauge": {
+                "maxValue": 100,
+                "minValue": 0,
+                "show": false,
+                "thresholdLabels": false,
+                "thresholdMarkers": true
+              },
+              "gridPos": {
+                "h": 6,
+                "w": 2,
+                "x": 2,
+                "y": 1
+              },
+              "id": 14,
+              "interval": null,
+              "links": [],
+              "mappingType": 1,
+              "mappingTypes": [
+                {
+                  "name": "value to text",
+                  "value": 1
+                },
+                {
+                  "name": "range to text",
+                  "value": 2
+                }
+              ],
+              "maxDataPoints": 100,
+              "maxPerRow": 6,
+              "nullPointMode": "null",
+              "nullText": null,
+              "options": {},
+              "postfix": "",
+              "postfixFontSize": "50%",
+              "prefix": "",
+              "prefixFontSize": "50%",
+              "rangeMaps": [
+                {
+                  "from": "null",
+                  "text": "N/A",
+                  "to": "null"
+                }
+              ],
+              "sparkline": {
+                "fillColor": "rgba(31, 118, 189, 0.18)",
+                "full": false,
+                "lineColor": "rgb(31, 120, 193)",
+                "show": false
+              },
+              "tableColumn": "",
+              "targets": [
+                {
+                  "expr": "sum(count(node_cpu_seconds_total{instance=~\"$node\", mode='system'}) by (cpu))",
+                  "format": "time_series",
+                  "instant": true,
+                  "intervalFactor": 1,
+                  "legendFormat": "",
+                  "refId": "A",
+                  "step": 20
+                }
+              ],
+              "thresholds": "1,2",
+              "title": "CPU Cores",
+              "type": "singlestat",
+              "valueFontSize": "70%",
+              "valueMaps": [
+                {
+                  "op": "=",
+                  "text": "N/A",
+                  "value": "null"
+                }
+              ],
+              "valueName": "current"
+            },
+            {
+              "cacheTimeout": null,
+              "colorBackground": false,
+              "colorValue": true,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "datasource": "Prometheus",
+              "decimals": 2,
+              "description": "",
+              "format": "bytes",
+              "gauge": {
+                "maxValue": 100,
+                "minValue": 0,
+                "show": false,
+                "thresholdLabels": false,
+                "thresholdMarkers": true
+              },
+              "gridPos": {
+                "h": 6,
+                "w": 2,
+                "x": 4,
+                "y": 1
+              },
+              "id": 75,
+              "interval": null,
+              "links": [],
+              "mappingType": 1,
+              "mappingTypes": [
+                {
+                  "name": "value to text",
+                  "value": 1
+                },
+                {
+                  "name": "range to text",
+                  "value": 2
+                }
+              ],
+              "maxDataPoints": 100,
+              "maxPerRow": 6,
+              "nullPointMode": "null",
+              "nullText": null,
+              "options": {},
+              "postfix": "",
+              "postfixFontSize": "70%",
+              "prefix": "",
+              "prefixFontSize": "50%",
+              "rangeMaps": [
+                {
+                  "from": "null",
+                  "text": "N/A",
+                  "to": "null"
+                }
+              ],
+              "sparkline": {
+                "fillColor": "rgba(31, 118, 189, 0.18)",
+                "full": false,
+                "lineColor": "rgb(31, 120, 193)",
+                "show": false
+              },
+              "tableColumn": "",
+              "targets": [
+                {
+                  "expr": "sum(node_memory_MemTotal_bytes{instance=~\"$node\"})",
+                  "format": "time_series",
+                  "instant": true,
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}",
+                  "refId": "A",
+                  "step": 20
+                }
+              ],
+              "thresholds": "2,3",
+              "title": "Total RAM",
+              "type": "singlestat",
+              "valueFontSize": "70%",
+              "valueMaps": [
+                {
+                  "op": "=",
+                  "text": "N/A",
+                  "value": "null"
+                }
+              ],
+              "valueName": "current"
+            },
+            {
+              "datasource": "Prometheus",
+              "gridPos": {
+                "h": 6,
+                "w": 18,
+                "x": 6,
+                "y": 1
+              },
+              "id": 177,
+              "options": {
+                "displayMode": "lcd",
+                "fieldOptions": {
+                  "calcs": [
+                    "last"
+                  ],
+                  "defaults": {
+                    "mappings": [
+                      {
+                        "from": "",
+                        "id": 1,
+                        "operator": "",
+                        "text": "-",
+                        "to": "",
+                        "type": 1,
+                        "value": "NaN"
+                      }
+                    ],
+                    "max": 100,
+                    "min": 0,
+                    "thresholds": [
+                      {
+                        "color": "green",
+                        "value": null
+                      },
+                      {
+                        "color": "#EAB839",
+                        "value": 60
+                      },
+                      {
+                        "color": "red",
+                        "value": 80
+                      }
+                    ],
+                    "title": "",
+                    "unit": "percent"
+                  },
+                  "override": {},
+                  "values": false
+                },
+                "orientation": "horizontal"
+              },
+              "pluginVersion": "6.3.5",
+              "targets": [
+                {
+                  "expr": "100 - (avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[30m])) * 100)",
+                  "instant": true,
+                  "legendFormat": "CPU Busy",
+                  "refId": "A"
+                },
+                {
+                  "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[30m])) * 100",
+                  "hide": true,
+                  "instant": true,
+                  "legendFormat": "Busy Iowait",
+                  "refId": "C"
+                },
+                {
+                  "expr": "(1 - (node_memory_MemAvailable_bytes{instance=~\"$node\"} / (node_memory_MemTotal_bytes{instance=~\"$node\"})))* 100",
+                  "instant": true,
+                  "legendFormat": "Used RAM Memory",
+                  "refId": "B"
+                },
+                {
+                  "expr": "100 - ((node_filesystem_avail_bytes{instance=~\"$node\",mountpoint=\"$maxmount\",fstype=~\"ext4|xfs\"} * 100) / node_filesystem_size_bytes {instance=~\"$node\",mountpoint=\"$maxmount\",fstype=~\"ext4|xfs\"})",
+                  "hide": false,
+                  "instant": true,
+                  "legendFormat": "Used Max Mount($maxmount)",
+                  "refId": "D"
+                },
+                {
+                  "expr": "(1 - (node_memory_SwapFree_bytes{instance=~\"$node\"} / node_memory_SwapTotal_bytes{instance=~\"$node\"})) * 100",
+                  "instant": true,
+                  "legendFormat": "Used SWAP",
+                  "refId": "E"
+                }
+              ],
+              "timeFrom": null,
+              "timeShift": null,
+              "title": "",
+              "type": "bargauge"
+            }
+          ],
+          "title": "Summary",
+          "type": "row"
+        },
+        {
+          "collapsed": true,
+          "gridPos": {
+            "h": 1,
+            "w": 24,
+            "x": 0,
+            "y": 1
+          },
+          "id": 181,
+          "panels": [
+            {
+              "aliasColors": {
+                "15分钟": "#6ED0E0",
+                "1分钟": "#BF1B00",
+                "5分钟": "#CCA300"
+              },
+              "bars": false,
+              "dashLength": 10,
+              "dashes": false,
+              "datasource": "Prometheus",
+              "editable": true,
+              "error": false,
+              "fill": 1,
+              "fillGradient": 1,
+              "grid": {},
+              "gridPos": {
+                "h": 10,
+                "w": 12,
+                "x": 0,
+                "y": 8
+              },
+              "height": "300",
+              "id": 13,
+              "legend": {
+                "alignAsTable": true,
+                "avg": true,
+                "current": true,
+                "max": true,
+                "min": false,
+                "rightSide": false,
+                "show": true,
+                "total": false,
+                "values": true
+              },
+              "lines": true,
+              "linewidth": 2,
+              "links": [],
+              "maxPerRow": 6,
+              "nullPointMode": "null as zero",
+              "options": {
+                "dataLinks": []
+              },
+              "percentage": false,
+              "pointradius": 5,
+              "points": false,
+              "renderer": "flot",
+              "repeat": null,
+              "seriesOverrides": [],
+              "spaceLength": 10,
+              "stack": false,
+              "steppedLine": false,
+              "targets": [
+                {
+                  "expr": "node_load1{instance=~\"$node\"}",
+                  "format": "time_series",
+                  "instant": false,
+                  "interval": "",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_1m",
+                  "metric": "",
+                  "refId": "A",
+                  "step": 20,
+                  "target": ""
+                },
+                {
+                  "expr": "node_load5{instance=~\"$node\"}",
+                  "format": "time_series",
+                  "instant": false,
+                  "interval": "",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_5m",
+                  "refId": "B",
+                  "step": 20
+                },
+                {
+                  "expr": "node_load15{instance=~\"$node\"}",
+                  "format": "time_series",
+                  "instant": false,
+                  "interval": "",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_15m",
+                  "refId": "C",
+                  "step": 20
+                }
+              ],
+              "thresholds": [],
+              "timeFrom": null,
+              "timeRegions": [],
+              "timeShift": null,
+              "title": "System Load",
+              "tooltip": {
+                "msResolution": false,
+                "shared": true,
+                "sort": 2,
+                "value_type": "cumulative"
+              },
+              "type": "graph",
+              "xaxis": {
+                "buckets": null,
+                "mode": "time",
+                "name": null,
+                "show": true,
+                "values": []
+              },
+              "yaxes": [
+                {
+                  "format": "short",
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                },
+                {
+                  "format": "short",
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                }
+              ],
+              "yaxis": {
+                "align": false,
+                "alignLevel": null
+              }
+            },
+            {
+              "aliasColors": {
+                "192.168.200.241:9100_Total": "dark-red",
+                "Idle - Waiting for something to happen": "#052B51",
+                "guest": "#9AC48A",
+                "idle": "#052B51",
+                "iowait": "#EAB839",
+                "irq": "#BF1B00",
+                "nice": "#C15C17",
+                "softirq": "#E24D42",
+                "steal": "#FCE2DE",
+                "system": "#508642",
+                "user": "#5195CE"
+              },
+              "bars": false,
+              "dashLength": 10,
+              "dashes": false,
+              "datasource": "Prometheus",
+              "decimals": 2,
+              "description": "",
+              "fill": 1,
+              "fillGradient": 0,
+              "gridPos": {
+                "h": 10,
+                "w": 12,
+                "x": 12,
+                "y": 8
+              },
+              "id": 7,
+              "legend": {
+                "alignAsTable": true,
+                "avg": true,
+                "current": true,
+                "hideEmpty": true,
+                "hideZero": true,
+                "max": true,
+                "min": false,
+                "rightSide": false,
+                "show": true,
+                "sideWidth": null,
+                "sort": "current",
+                "sortDesc": true,
+                "total": false,
+                "values": true
+              },
+              "lines": true,
+              "linewidth": 2,
+              "links": [],
+              "maxPerRow": 6,
+              "nullPointMode": "null",
+              "options": {
+                "dataLinks": []
+              },
+              "percentage": false,
+              "pointradius": 5,
+              "points": false,
+              "renderer": "flot",
+              "repeat": null,
+              "seriesOverrides": [
+                {
+                  "alias": "/.*_Total/",
+                  "color": "#C4162A",
+                  "fill": 0
+                }
+              ],
+              "spaceLength": 10,
+              "stack": false,
+              "steppedLine": false,
+              "targets": [
+                {
+                  "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"system\"}[30m])) by (instance)",
+                  "format": "time_series",
+                  "hide": false,
+                  "instant": false,
+                  "interval": "",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_System",
+                  "refId": "A",
+                  "step": 20
+                },
+                {
+                  "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"user\"}[30m])) by (instance)",
+                  "format": "time_series",
+                  "hide": false,
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_User",
+                  "refId": "B",
+                  "step": 240
+                },
+                {
+                  "expr": "avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"iowait\"}[30m])) by (instance)",
+                  "format": "time_series",
+                  "hide": false,
+                  "instant": false,
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_Iowait",
+                  "refId": "D",
+                  "step": 240
+                },
+                {
+                  "expr": "1 - avg(irate(node_cpu_seconds_total{instance=~\"$node\",mode=\"idle\"}[30m])) by (instance)",
+                  "format": "time_series",
+                  "hide": false,
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_Total",
+                  "refId": "F",
+                  "step": 240
+                }
+              ],
+              "thresholds": [],
+              "timeFrom": null,
+              "timeRegions": [],
+              "timeShift": null,
+              "title": "CPU",
+              "tooltip": {
+                "shared": true,
+                "sort": 2,
+                "value_type": "individual"
+              },
+              "type": "graph",
+              "xaxis": {
+                "buckets": null,
+                "mode": "time",
+                "name": null,
+                "show": true,
+                "values": []
+              },
+              "yaxes": [
+                {
+                  "decimals": 2,
+                  "format": "percentunit",
+                  "label": "",
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                },
+                {
+                  "format": "short",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": false
+                }
+              ],
+              "yaxis": {
+                "align": false,
+                "alignLevel": null
+              }
+            }
+          ],
+          "title": "CPU",
+          "type": "row"
+        },
+        {
+          "collapsed": true,
+          "gridPos": {
+            "h": 1,
+            "w": 24,
+            "x": 0,
+            "y": 2
+          },
+          "id": 183,
+          "panels": [
+            {
+              "columns": [],
+              "datasource": "Prometheus",
+              "fontSize": "110%",
+              "gridPos": {
+                "h": 8,
+                "w": 8,
+                "x": 0,
+                "y": 3
+              },
+              "id": 164,
+              "links": [],
+              "options": {},
+              "pageSize": null,
+              "scroll": true,
+              "showHeader": true,
+              "sort": {
+                "col": 11,
+                "desc": true
+              },
+              "styles": [
+                {
+                  "alias": "Mounted on",
+                  "colorMode": null,
+                  "colors": [
+                    "rgba(50, 172, 45, 0.97)",
+                    "rgba(237, 129, 40, 0.89)",
+                    "rgba(245, 54, 54, 0.9)"
+                  ],
+                  "dateFormat": "YYYY-MM-DD HH:mm:ss",
+                  "decimals": 2,
+                  "mappingType": 1,
+                  "pattern": "mountpoint",
+                  "thresholds": [
+                    ""
+                  ],
+                  "type": "string",
+                  "unit": "bytes"
+                },
+                {
+                  "alias": "Avail",
+                  "colorMode": "value",
+                  "colors": [
+                    "rgba(245, 54, 54, 0.9)",
+                    "rgba(237, 129, 40, 0.89)",
+                    "rgba(50, 172, 45, 0.97)"
+                  ],
+                  "dateFormat": "YYYY-MM-DD HH:mm:ss",
+                  "decimals": 2,
+                  "mappingType": 1,
+                  "pattern": "Value #A",
+                  "thresholds": [
+                    "10000000000",
+                    "20000000000"
+                  ],
+                  "type": "number",
+                  "unit": "bytes"
+                },
+                {
+                  "alias": "Used",
+                  "colorMode": "cell",
+                  "colors": [
+                    "rgba(50, 172, 45, 0.97)",
+                    "rgba(237, 129, 40, 0.89)",
+                    "rgba(245, 54, 54, 0.9)"
+                  ],
+                  "dateFormat": "YYYY-MM-DD HH:mm:ss",
+                  "decimals": 2,
+                  "mappingType": 1,
+                  "pattern": "Value #B",
+                  "thresholds": [
+                    "0.6",
+                    "0.8"
+                  ],
+                  "type": "number",
+                  "unit": "percentunit"
+                },
+                {
+                  "alias": "Size",
+                  "colorMode": null,
+                  "colors": [
+                    "rgba(245, 54, 54, 0.9)",
+                    "rgba(237, 129, 40, 0.89)",
+                    "rgba(50, 172, 45, 0.97)"
+                  ],
+                  "dateFormat": "YYYY-MM-DD HH:mm:ss",
+                  "decimals": 1,
+                  "link": false,
+                  "mappingType": 1,
+                  "pattern": "Value #C",
+                  "thresholds": [],
+                  "type": "number",
+                  "unit": "bytes"
+                },
+                {
+                  "alias": "Filesystem",
+                  "colorMode": null,
+                  "colors": [
+                    "rgba(245, 54, 54, 0.9)",
+                    "rgba(237, 129, 40, 0.89)",
+                    "rgba(50, 172, 45, 0.97)"
+                  ],
+                  "dateFormat": "YYYY-MM-DD HH:mm:ss",
+                  "decimals": 2,
+                  "link": false,
+                  "mappingType": 1,
+                  "pattern": "fstype",
+                  "thresholds": [],
+                  "type": "string",
+                  "unit": "short"
+                },
+                {
+                  "alias": "",
+                  "colorMode": null,
+                  "colors": [
+                    "rgba(245, 54, 54, 0.9)",
+                    "rgba(237, 129, 40, 0.89)",
+                    "rgba(50, 172, 45, 0.97)"
+                  ],
+                  "decimals": 2,
+                  "pattern": "/.*/",
+                  "preserveFormat": true,
+                  "sanitize": false,
+                  "thresholds": [],
+                  "type": "hidden",
+                  "unit": "short"
+                }
+              ],
+              "targets": [
+                {
+                  "expr": "node_filesystem_avail_bytes {instance=~'$node',fstype=~\"ext4|xfs\"}-0",
+                  "format": "table",
+                  "hide": false,
+                  "instant": true,
+                  "interval": "10s",
+                  "intervalFactor": 1,
+                  "legendFormat": "",
+                  "refId": "A"
+                },
+                {
+                  "expr": "1-(node_filesystem_free_bytes{instance=~'$node',fstype=~\"ext4|xfs\"} / node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext4|xfs\"})",
+                  "format": "table",
+                  "hide": false,
+                  "instant": true,
+                  "intervalFactor": 1,
+                  "legendFormat": "",
+                  "refId": "B"
+                },
+                {
+                  "expr": "node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext4|xfs\"}-0",
+                  "format": "table",
+                  "hide": false,
+                  "instant": true,
+                  "intervalFactor": 1,
+                  "legendFormat": "",
+                  "refId": "C"
+                }
+              ],
+              "title": "Disk Space Used  (EXT4/XFS)",
+              "transform": "table",
+              "type": "table"
+            },
+            {
+              "aliasColors": {
+                "vda_write": "#6ED0E0"
+              },
+              "bars": false,
+              "dashLength": 10,
+              "dashes": false,
+              "datasource": "Prometheus",
+              "description": "Per second read / write bytes ",
+              "fill": 1,
+              "fillGradient": 1,
+              "gridPos": {
+                "h": 8,
+                "w": 8,
+                "x": 8,
+                "y": 3
+              },
+              "height": "300",
+              "id": 168,
+              "legend": {
+                "alignAsTable": true,
+                "avg": true,
+                "current": true,
+                "hideEmpty": true,
+                "hideZero": true,
+                "max": true,
+                "min": false,
+                "show": true,
+                "sort": "current",
+                "sortDesc": true,
+                "total": false,
+                "values": true
+              },
+              "lines": true,
+              "linewidth": 2,
+              "links": [],
+              "nullPointMode": "null",
+              "options": {
+                "dataLinks": []
+              },
+              "percentage": false,
+              "pointradius": 5,
+              "points": false,
+              "renderer": "flot",
+              "seriesOverrides": [
+                {
+                  "alias": "/.*_Read bytes$/",
+                  "transform": "negative-Y"
+                }
+              ],
+              "spaceLength": 10,
+              "stack": false,
+              "steppedLine": false,
+              "targets": [
+                {
+                  "expr": "irate(node_disk_read_bytes_total{instance=~\"$node\"}[30m])",
+                  "format": "time_series",
+                  "interval": "",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_{{device}}_Read bytes",
+                  "refId": "A",
+                  "step": 10
+                },
+                {
+                  "expr": "irate(node_disk_written_bytes_total{instance=~\"$node\"}[30m])",
+                  "format": "time_series",
+                  "hide": false,
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_{{device}}_Written bytes",
+                  "refId": "B",
+                  "step": 10
+                }
+              ],
+              "thresholds": [],
+              "timeFrom": null,
+              "timeRegions": [],
+              "timeShift": null,
+              "title": "Disk R/W Data",
+              "tooltip": {
+                "shared": true,
+                "sort": 2,
+                "value_type": "individual"
+              },
+              "type": "graph",
+              "xaxis": {
+                "buckets": null,
+                "mode": "time",
+                "name": null,
+                "show": true,
+                "values": []
+              },
+              "yaxes": [
+                {
+                  "decimals": null,
+                  "format": "Bps",
+                  "label": "Bytes read (-) / write (+)",
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                },
+                {
+                  "format": "short",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": false
+                }
+              ],
+              "yaxis": {
+                "align": false,
+                "alignLevel": null
+              }
+            },
+            {
+              "aliasColors": {
+                "Idle - Waiting for something to happen": "#052B51",
+                "guest": "#9AC48A",
+                "idle": "#052B51",
+                "iowait": "#EAB839",
+                "irq": "#BF1B00",
+                "nice": "#C15C17",
+                "sdb_每秒I/O操作%": "#d683ce",
+                "softirq": "#E24D42",
+                "steal": "#FCE2DE",
+                "system": "#508642",
+                "user": "#5195CE",
+                "磁盘花费在I/O操作占比": "#ba43a9"
+              },
+              "bars": false,
+              "dashLength": 10,
+              "dashes": false,
+              "datasource": "Prometheus",
+              "decimals": null,
+              "description": "The time spent on I/O in the natural time of each second.(wall-clock time)",
+              "fill": 1,
+              "fillGradient": 5,
+              "gridPos": {
+                "h": 8,
+                "w": 8,
+                "x": 16,
+                "y": 3
+              },
+              "id": 175,
+              "legend": {
+                "alignAsTable": true,
+                "avg": true,
+                "current": true,
+                "hideEmpty": true,
+                "hideZero": true,
+                "max": true,
+                "min": false,
+                "rightSide": false,
+                "show": true,
+                "sideWidth": null,
+                "sort": null,
+                "sortDesc": null,
+                "total": false,
+                "values": true
+              },
+              "lines": true,
+              "linewidth": 2,
+              "links": [],
+              "maxPerRow": 6,
+              "nullPointMode": "null",
+              "options": {
+                "dataLinks": []
+              },
+              "percentage": false,
+              "pointradius": 5,
+              "points": false,
+              "renderer": "flot",
+              "seriesOverrides": [],
+              "spaceLength": 10,
+              "stack": false,
+              "steppedLine": false,
+              "targets": [
+                {
+                  "expr": "irate(node_disk_io_time_seconds_total{instance=~\"$node\"}[30m])",
+                  "format": "time_series",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_{{device}}_ IO time",
+                  "refId": "C"
+                }
+              ],
+              "thresholds": [],
+              "timeFrom": null,
+              "timeRegions": [],
+              "timeShift": null,
+              "title": "Time Spent Doing I/Os",
+              "tooltip": {
+                "shared": true,
+                "sort": 2,
+                "value_type": "individual"
+              },
+              "type": "graph",
+              "xaxis": {
+                "buckets": null,
+                "mode": "time",
+                "name": null,
+                "show": true,
+                "values": []
+              },
+              "yaxes": [
+                {
+                  "decimals": null,
+                  "format": "s",
+                  "label": "",
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                },
+                {
+                  "format": "short",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": false
+                }
+              ],
+              "yaxis": {
+                "align": false,
+                "alignLevel": null
+              }
+            }
+          ],
+          "title": "Disk",
+          "type": "row"
+        },
+        {
+          "collapsed": true,
+          "gridPos": {
+            "h": 1,
+            "w": 24,
+            "x": 0,
+            "y": 3
+          },
+          "id": 185,
+          "panels": [
+            {
+              "bars": false,
+              "dashLength": 10,
+              "dashes": false,
+              "datasource": "Prometheus",
+              "decimals": 2,
+              "fill": 1,
+              "fillGradient": 0,
+              "gridPos": {
+                "h": 8,
+                "w": 24,
+                "x": 0,
+                "y": 28
+              },
+              "height": "300",
+              "id": 156,
+              "legend": {
+                "alignAsTable": true,
+                "avg": false,
+                "current": true,
+                "max": false,
+                "min": false,
+                "rightSide": false,
+                "show": true,
+                "sort": "current",
+                "sortDesc": true,
+                "total": false,
+                "values": true
+              },
+              "lines": true,
+              "linewidth": 2,
+              "links": [],
+              "nullPointMode": "null",
+              "options": {
+                "dataLinks": []
+              },
+              "percentage": false,
+              "pointradius": 5,
+              "points": false,
+              "renderer": "flot",
+              "seriesOverrides": [
+                {
+                  "alias": "/.*_Total/",
+                  "color": "#C4162A",
+                  "fill": 0
+                }
+              ],
+              "spaceLength": 10,
+              "stack": false,
+              "steppedLine": false,
+              "targets": [
+                {
+                  "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"}",
+                  "format": "time_series",
+                  "hide": false,
+                  "instant": false,
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_Total",
+                  "refId": "A",
+                  "step": 4
+                },
+                {
+                  "expr": "node_memory_MemTotal_bytes{instance=~\"$node\"} - node_memory_MemAvailable_bytes{instance=~\"$node\"}",
+                  "format": "time_series",
+                  "hide": false,
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_Used",
+                  "refId": "B",
+                  "step": 4
+                },
+                {
+                  "expr": "node_memory_MemAvailable_bytes{instance=~\"$node\"}",
+                  "format": "time_series",
+                  "hide": false,
+                  "interval": "",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_Avaliable",
+                  "refId": "F",
+                  "step": 4
+                }
+              ],
+              "thresholds": [],
+              "timeFrom": null,
+              "timeRegions": [],
+              "timeShift": null,
+              "title": "Memory",
+              "tooltip": {
+                "shared": true,
+                "sort": 2,
+                "value_type": "individual"
+              },
+              "type": "graph",
+              "xaxis": {
+                "buckets": null,
+                "mode": "time",
+                "name": null,
+                "show": true,
+                "values": []
+              },
+              "yaxes": [
+                {
+                  "format": "bytes",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": "0",
+                  "show": true
+                },
+                {
+                  "format": "short",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                }
+              ],
+              "yaxis": {
+                "align": false,
+                "alignLevel": null
+              }
+            }
+          ],
+          "title": "Memory",
+          "type": "row"
+        },
+        {
+          "collapsed": true,
+          "gridPos": {
+            "h": 1,
+            "w": 24,
+            "x": 0,
+            "y": 4
+          },
+          "id": 187,
+          "panels": [
+            {
+              "bars": false,
+              "dashLength": 10,
+              "dashes": false,
+              "datasource": "Prometheus",
+              "fill": 1,
+              "fillGradient": 3,
+              "gridPos": {
+                "h": 12,
+                "w": 12,
+                "x": 0,
+                "y": 29
+              },
+              "height": "300",
+              "id": 157,
+              "legend": {
+                "alignAsTable": true,
+                "avg": false,
+                "current": true,
+                "hideEmpty": true,
+                "hideZero": true,
+                "max": true,
+                "min": false,
+                "rightSide": false,
+                "show": true,
+                "sort": "current",
+                "sortDesc": true,
+                "total": false,
+                "values": true
+              },
+              "lines": true,
+              "linewidth": 2,
+              "links": [],
+              "nullPointMode": "null",
+              "options": {
+                "dataLinks": []
+              },
+              "percentage": false,
+              "pointradius": 2,
+              "points": false,
+              "renderer": "flot",
+              "seriesOverrides": [
+                {
+                  "alias": "/.*_transmit$/",
+                  "transform": "negative-Y"
+                }
+              ],
+              "spaceLength": 10,
+              "stack": false,
+              "steppedLine": false,
+              "targets": [
+                {
+                  "expr": "irate(node_network_receive_bytes_total{instance=~'$node',device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8",
+                  "format": "time_series",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_{{device}}_receive",
+                  "refId": "A",
+                  "step": 4
+                },
+                {
+                  "expr": "irate(node_network_transmit_bytes_total{instance=~'$node',device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8",
+                  "format": "time_series",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_{{device}}_transmit",
+                  "refId": "B",
+                  "step": 4
+                }
+              ],
+              "thresholds": [],
+              "timeFrom": null,
+              "timeRegions": [],
+              "timeShift": null,
+              "title": "Network Traffic",
+              "tooltip": {
+                "shared": true,
+                "sort": 2,
+                "value_type": "individual"
+              },
+              "type": "graph",
+              "xaxis": {
+                "buckets": null,
+                "mode": "time",
+                "name": null,
+                "show": true,
+                "values": []
+              },
+              "yaxes": [
+                {
+                  "format": "bps",
+                  "label": "transmit(-)/receive(+)",
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                },
+                {
+                  "format": "short",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": false
+                }
+              ],
+              "yaxis": {
+                "align": false,
+                "alignLevel": null
+              }
+            },
+            {
+              "aliasColors": {
+                "TCP": "#6ED0E0"
+              },
+              "bars": false,
+              "dashLength": 10,
+              "dashes": false,
+              "datasource": "Prometheus",
+              "description": "TCP_alloc - Allocated sockets\n\nCurrEstab - TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT\n\nTCP_tw - Sockets wating close\n\nUDP_inuse - Udp sockets currently in use\n\nSockets_used - Sockets currently in use",
+              "fill": 1,
+              "fillGradient": 0,
+              "gridPos": {
+                "h": 12,
+                "w": 12,
+                "x": 12,
+                "y": 29
+              },
+              "height": "300",
+              "id": 158,
+              "interval": "",
+              "legend": {
+                "alignAsTable": true,
+                "avg": true,
+                "current": true,
+                "hideEmpty": true,
+                "hideZero": true,
+                "max": true,
+                "min": false,
+                "rightSide": false,
+                "show": true,
+                "sort": "current",
+                "sortDesc": true,
+                "total": false,
+                "values": true
+              },
+              "lines": true,
+              "linewidth": 2,
+              "links": [],
+              "nullPointMode": "null",
+              "options": {
+                "dataLinks": []
+              },
+              "percentage": false,
+              "pointradius": 5,
+              "points": false,
+              "renderer": "flot",
+              "seriesOverrides": [
+                {
+                  "alias": "/.*_Sockets_used/",
+                  "color": "#C4162A",
+                  "fill": 0
+                }
+              ],
+              "spaceLength": 10,
+              "stack": false,
+              "steppedLine": false,
+              "targets": [
+                {
+                  "expr": "node_netstat_Tcp_CurrEstab{instance=~'$node'}",
+                  "format": "time_series",
+                  "hide": false,
+                  "instant": false,
+                  "interval": "",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_CurrEstab",
+                  "refId": "A",
+                  "step": 20
+                },
+                {
+                  "expr": "node_sockstat_TCP_tw{instance=~'$node'}",
+                  "format": "time_series",
+                  "intervalFactor": 1,
+                  "legendFormat": "{{instance}}_TCP_tw",
+                  "refId": "D"
+                },
+                {
+                  "expr": "node_sockstat_sockets_used{instance=~'$node'}",
+                  "legendFormat": "{{instance}}_Sockets_used",
+                  "refId": "B"
+                },
+                {
+                  "expr": "node_sockstat_UDP_inuse{instance=~'$node'}",
+                  "legendFormat": "{{instance}}_UDP_inuse",
+                  "refId": "C"
+                },
+                {
+                  "expr": "node_sockstat_TCP_alloc{instance=~'$node'}",
+                  "legendFormat": "{{instance}}_TCP_alloc",
+                  "refId": "E"
+                }
+              ],
+              "thresholds": [],
+              "timeFrom": null,
+              "timeRegions": [],
+              "timeShift": null,
+              "title": "Network Sockstat",
+              "tooltip": {
+                "shared": true,
+                "sort": 2,
+                "value_type": "individual"
+              },
+              "type": "graph",
+              "xaxis": {
+                "buckets": null,
+                "mode": "time",
+                "name": null,
+                "show": true,
+                "values": []
+              },
+              "yaxes": [
+                {
+                  "format": "short",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                },
+                {
+                  "format": "short",
+                  "label": null,
+                  "logBase": 1,
+                  "max": null,
+                  "min": null,
+                  "show": true
+                }
+              ],
+              "yaxis": {
+                "align": false,
+                "alignLevel": null
+              }
+            }
+          ],
+          "title": "Network",
+          "type": "row"
+        }
+      ],
+      "refresh": false,
+      "schemaVersion": 19,
+      "style": "dark",
+      "tags": [],
+      "templating": {
+        "list": [
+          {
+            "allValue": null,
+            "current": {
+              "text": "node-exporter",
+              "value": "node-exporter"
+            },
+            "datasource": "Prometheus",
+            "definition": "label_values(node_uname_info, job)",
+            "hide": 0,
+            "includeAll": false,
+            "label": "JOB",
+            "multi": false,
+            "name": "job",
+            "options": [],
+            "query": "label_values(node_uname_info, job)",
+            "refresh": 1,
+            "regex": "",
+            "skipUrlSync": false,
+            "sort": 1,
+            "tagValuesQuery": "",
+            "tags": [],
+            "tagsQuery": "",
+            "type": "query",
+            "useTags": false
+          },
+          {
+            "allValue": null,
+            "current": {
+              "text": "All",
+              "value": "$__all"
+            },
+            "datasource": "Prometheus",
+            "definition": "label_values(node_uname_info{job=~\"$job\"}, nodename)",
+            "hide": 0,
+            "includeAll": true,
+            "label": "Host",
+            "multi": true,
+            "name": "hostname",
+            "options": [],
+            "query": "label_values(node_uname_info{job=~\"$job\"}, nodename)",
+            "refresh": 1,
+            "regex": "",
+            "skipUrlSync": false,
+            "sort": 0,
+            "tagValuesQuery": "",
+            "tags": [],
+            "tagsQuery": "",
+            "type": "query",
+            "useTags": false
+          },
+          {
+            "allFormat": "glob",
+            "allValue": null,
+            "current": {
+              "tags": [],
+              "text": "All",
+              "value": "$__all"
+            },
+            "datasource": "Prometheus",
+            "definition": "label_values(node_uname_info{nodename=~\"$hostname\"},instance)",
+            "hide": 0,
+            "includeAll": true,
+            "label": "IP",
+            "multi": false,
+            "multiFormat": "regex values",
+            "name": "node",
+            "options": [],
+            "query": "label_values(node_uname_info{nodename=~\"$hostname\"},instance)",
+            "refresh": 2,
+            "regex": "",
+            "skipUrlSync": false,
+            "sort": 1,
+            "tagValuesQuery": "",
+            "tags": [],
+            "tagsQuery": "",
+            "type": "query",
+            "useTags": false
+          },
+          {
+            "allValue": null,
+            "current": {
+              "text": "/",
+              "value": "/"
+            },
+            "datasource": "Prometheus",
+            "definition": "",
+            "hide": 2,
+            "includeAll": false,
+            "label": "",
+            "multi": false,
+            "name": "maxmount",
+            "options": [],
+            "query": "query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{instance=~'$node',fstype=~\"ext4|xfs\"}) by (mountpoint))))",
+            "refresh": 2,
+            "regex": "/.*\\\"(.*)\\\".*/",
+            "skipUrlSync": false,
+            "sort": 0,
+            "tagValuesQuery": "",
+            "tags": [],
+            "tagsQuery": "",
+            "type": "query",
+            "useTags": false
+          },
+          {
+            "allFormat": "glob",
+            "allValue": null,
+            "current": {
+              "isNone": true,
+              "text": "None",
+              "value": ""
+            },
+            "datasource": "Prometheus",
+            "definition": "",
+            "hide": 2,
+            "includeAll": false,
+            "multi": false,
+            "multiFormat": "regex values",
+            "name": "env",
+            "options": [],
+            "query": "label_values(node_exporter_build_info,env)",
+            "refresh": 2,
+            "regex": "",
+            "skipUrlSync": false,
+            "sort": 1,
+            "tagValuesQuery": "",
+            "tags": [],
+            "tagsQuery": "",
+            "type": "query",
+            "useTags": false
+          },
+          {
+            "allFormat": "glob",
+            "allValue": "",
+            "current": {
+              "isNone": true,
+              "text": "None",
+              "value": ""
+            },
+            "datasource": "Prometheus",
+            "definition": "label_values(node_exporter_build_info{env=~'$env'},name)",
+            "hide": 2,
+            "includeAll": false,
+            "label": "名称",
+            "multi": true,
+            "multiFormat": "regex values",
+            "name": "name",
+            "options": [],
+            "query": "label_values(node_exporter_build_info{env=~'$env'},name)",
+            "refresh": 2,
+            "regex": "",
+            "skipUrlSync": false,
+            "sort": 1,
+            "tagValuesQuery": "/.*/",
+            "tags": [],
+            "tagsQuery": "",
+            "type": "query",
+            "useTags": false
+          }
+        ]
+      },
+      "time": {
+        "from": "now-2d",
+        "to": "now"
+      },
+      "timepicker": {
+        "now": true,
+        "refresh_intervals": [
+          "5s",
+          "10s",
+          "30s",
+          "1m",
+          "5m",
+          "15m",
+          "30m",
+          "1h",
+          "2h",
+          "1d"
+        ],
+        "time_options": [
+          "5m",
+          "15m",
+          "1h",
+          "6h",
+          "12h",
+          "24h",
+          "2d",
+          "7d",
+          "30d"
+        ]
+      },
+      "timezone": "browser",
+      "title": "Hosts",
+      "uid": "ha7fSE0Zz",
+      "version": 1
+    }
index 2919440..b357451 100644 (file)
@@ -19,11 +19,11 @@ kind: ConfigMap
 metadata:
   labels:
     grafana_dashboard: "1"
-  name: osm-monitoring-prometheus-summary-grafana
+  name: osm-monitoring-osm-summary-grafana
   annotations:
-    k8s-sidecar-target-directory: "/tmp/dashboards/Summary"
+    k8s-sidecar-target-directory: "/tmp/dashboards/Open Source MANO"
 data:
-  summary-dashboard.json: |-
+  osm-summary-dashboard.json: |-
     {
       "annotations": {
         "list": [
@@ -38,22 +38,19 @@ data:
           }
         ]
       },
-      "description": "Summary metrics about containers running on Kubernetes nodes and OSM Modules",
+      "description": "OSM status summary",
       "editable": true,
       "gnetId": 6417,
       "graphTooltip": 1,
-      "id": 28,
-      "iteration": 1574687594565,
+      "id": 10,
+      "iteration": 1577638384562,
       "links": [
         {
           "asDropdown": true,
           "icon": "external link",
           "includeVars": true,
           "keepTime": false,
-          "tags": [
-            "osm-third-party-modules",
-            "kubernetes-cluster"
-          ],
+          "tags": [],
           "title": "Dashboards",
           "type": "dashboards"
         }
@@ -75,6 +72,7 @@ data:
         {
           "cacheTimeout": null,
           "colorBackground": false,
+          "colorPrefix": false,
           "colorValue": false,
           "colors": [
             "#299c46",
@@ -82,21 +80,21 @@ data:
             "#d44a3a"
           ],
           "datasource": "Prometheus",
-          "format": "percentunit",
+          "format": "none",
           "gauge": {
             "maxValue": 100,
             "minValue": 0,
-            "show": true,
+            "show": false,
             "thresholdLabels": false,
             "thresholdMarkers": true
           },
           "gridPos": {
-            "h": 4,
-            "w": 6,
+            "h": 2,
+            "w": 12,
             "x": 0,
             "y": 1
           },
-          "id": 4,
+          "id": 26,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -114,7 +112,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
-          "postfix": "",
+          "postfix": " Nodes",
           "postfixFontSize": "50%",
           "prefix": "",
           "prefixFontSize": "50%",
@@ -125,25 +123,29 @@ data:
               "to": "null"
             }
           ],
+          "repeat": null,
+          "repeatDirection": "h",
           "sparkline": {
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
             "lineColor": "rgb(31, 120, 193)",
             "show": false
           },
-          "tableColumn": "",
+          "tableColumn": "Value",
           "targets": [
             {
-              "expr": "sum(kube_pod_info{node=~\"$node\"}) / sum(kube_node_status_allocatable_pods{node=~\".*\"})",
+              "expr": "sum(kube_node_info)",
               "format": "time_series",
+              "instant": true,
               "intervalFactor": 1,
-              "refId": "A"
+              "legendFormat": "",
+              "refId": "B"
             }
           ],
-          "thresholds": "80,90",
-          "title": "Cluster Pod Usage",
+          "thresholds": "1",
+          "title": "",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "70%",
           "valueMaps": [
             {
               "op": "=",
@@ -163,21 +165,21 @@ data:
             "#d44a3a"
           ],
           "datasource": "Prometheus",
-          "format": "percentunit",
+          "format": "none",
           "gauge": {
             "maxValue": 100,
             "minValue": 0,
-            "show": true,
+            "show": false,
             "thresholdLabels": false,
             "thresholdMarkers": true
           },
           "gridPos": {
-            "h": 4,
-            "w": 6,
-            "x": 6,
+            "h": 2,
+            "w": 12,
+            "x": 12,
             "y": 1
           },
-          "id": 5,
+          "id": 30,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -195,7 +197,91 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
-          "postfix": "",
+          "postfix": " Pods Running",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "sparkline": {
+            "fillColor": "rgba(78, 203, 42, 0.28)",
+            "full": false,
+            "lineColor": "#629e51",
+            "show": true
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "expr": "sum(kube_pod_status_phase)",
+              "format": "time_series",
+              "instant": true,
+              "interval": "",
+              "intervalFactor": 1,
+              "refId": "A"
+            }
+          ],
+          "thresholds": "",
+          "title": "",
+          "type": "singlestat",
+          "valueFontSize": "70%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "current"
+        },
+        {
+          "cacheTimeout": null,
+          "colorBackground": true,
+          "colorPrefix": false,
+          "colorValue": false,
+          "colors": [
+            "#56A64B",
+            "rgba(237, 129, 40, 0.89)",
+            "#d44a3a"
+          ],
+          "datasource": "Prometheus",
+          "format": "none",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "gridPos": {
+            "h": 2,
+            "w": 12,
+            "x": 0,
+            "y": 3
+          },
+          "id": 24,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "options": {},
+          "postfix": " Nodes Unavailable",
           "postfixFontSize": "50%",
           "prefix": "",
           "prefixFontSize": "50%",
@@ -215,16 +301,17 @@ data:
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_container_resource_requests_cpu_cores{node=~\"$node\"}) / sum(kube_node_status_allocatable_cpu_cores{node=~\"$node\"})",
+              "expr": "sum(kube_node_info)-sum(kube_node_status_condition{condition=\"Ready\", status=\"true\"})",
               "format": "time_series",
+              "instant": true,
               "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "80,90",
-          "title": "Cluster CPU Usage",
+          "thresholds": "1,1",
+          "title": "",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "70%",
           "valueMaps": [
             {
               "op": "=",
@@ -234,6 +321,91 @@ data:
           ],
           "valueName": "current"
         },
+        {
+          "cacheTimeout": null,
+          "colorBackground": true,
+          "colorValue": false,
+          "colors": [
+            "#56A64B",
+            "rgba(237, 129, 40, 0.89)",
+            "#d44a3a"
+          ],
+          "datasource": "Prometheus",
+          "format": "none",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "gridPos": {
+            "h": 2,
+            "w": 12,
+            "x": 12,
+            "y": 3
+          },
+          "id": 55,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "options": {},
+          "postfix": " Pods not Ready",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": false,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false,
+            "ymax": null,
+            "ymin": null
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "expr": "sum(kube_pod_status_phase{phase!=\"Running\"})",
+              "instant": true,
+              "legendFormat": "",
+              "refId": "A"
+            }
+          ],
+          "thresholds": "1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "",
+          "type": "singlestat",
+          "valueFontSize": "70%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "avg"
+        },
         {
           "cacheTimeout": null,
           "colorBackground": false,
@@ -246,7 +418,7 @@ data:
           "datasource": "Prometheus",
           "format": "percentunit",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
             "show": true,
             "thresholdLabels": false,
@@ -255,10 +427,10 @@ data:
           "gridPos": {
             "h": 4,
             "w": 6,
-            "x": 12,
-            "y": 1
+            "x": 0,
+            "y": 5
           },
-          "id": 6,
+          "id": 4,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -296,14 +468,14 @@ data:
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_container_resource_requests_memory_bytes{node=~\"$node\"}) / sum(kube_node_status_allocatable_memory_bytes{node=~\"$node\"})",
+              "expr": "sum(kube_pod_info) / sum(kube_node_status_allocatable_pods)",
               "format": "time_series",
               "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "80,90",
-          "title": "Cluster Memory Usage",
+          "thresholds": "0.7,0.85",
+          "title": "Pod Usage",
           "type": "singlestat",
           "valueFontSize": "80%",
           "valueMaps": [
@@ -327,7 +499,7 @@ data:
           "datasource": "Prometheus",
           "format": "percentunit",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
             "show": true,
             "thresholdLabels": false,
@@ -336,10 +508,10 @@ data:
           "gridPos": {
             "h": 4,
             "w": 6,
-            "x": 18,
-            "y": 1
+            "x": 6,
+            "y": 5
           },
-          "id": 7,
+          "id": 5,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -377,14 +549,15 @@ data:
           "tableColumn": "",
           "targets": [
             {
-              "expr": "(sum (node_filesystem_size_bytes{nodename=~\"$node\"}) - sum (node_filesystem_free_bytes{nodename=~\"$node\"})) / sum (node_filesystem_size_bytes{nodename=~\"$node\"})",
+              "expr": "sum(kube_pod_container_resource_requests_cpu_cores) / sum(kube_node_status_allocatable_cpu_cores)",
               "format": "time_series",
+              "instant": true,
               "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "80,90",
-          "title": "Cluster Disk Usage",
+          "thresholds": "0.7,0.85",
+          "title": "CPU Usage",
           "type": "singlestat",
           "valueFontSize": "80%",
           "valueMaps": [
@@ -397,959 +570,37 @@ data:
           "valueName": "current"
         },
         {
-          "aliasColors": {},
-          "bars": false,
-          "dashLength": 10,
-          "dashes": false,
+          "cacheTimeout": null,
+          "colorBackground": false,
+          "colorValue": false,
+          "colors": [
+            "#299c46",
+            "rgba(237, 129, 40, 0.89)",
+            "#d44a3a"
+          ],
           "datasource": "Prometheus",
-          "fill": 1,
-          "fillGradient": 0,
+          "format": "percentunit",
+          "gauge": {
+            "maxValue": 1,
+            "minValue": 0,
+            "show": true,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
           "gridPos": {
-            "h": 5,
+            "h": 4,
             "w": 6,
-            "x": 0,
+            "x": 12,
             "y": 5
           },
-          "id": 9,
-          "legend": {
-            "avg": false,
-            "current": false,
-            "max": false,
-            "min": false,
-            "show": true,
-            "total": false,
-            "values": false
-          },
-          "lines": true,
-          "linewidth": 1,
+          "id": 6,
+          "interval": null,
           "links": [],
-          "nullPointMode": "null",
-          "options": {
-            "dataLinks": []
-          },
-          "percentage": false,
-          "pointradius": 5,
-          "points": false,
-          "renderer": "flot",
-          "seriesOverrides": [],
-          "spaceLength": 10,
-          "stack": false,
-          "steppedLine": false,
-          "targets": [
+          "mappingType": 1,
+          "mappingTypes": [
             {
-              "expr": "sum(kube_node_status_allocatable_pods{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "allocatable",
-              "refId": "A"
-            },
-            {
-              "expr": "sum(kube_node_status_capacity_pods{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "capacity",
-              "refId": "B"
-            },
-            {
-              "expr": "sum(kube_pod_info{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "requested",
-              "refId": "C"
-            }
-          ],
-          "thresholds": [],
-          "timeFrom": null,
-          "timeRegions": [],
-          "timeShift": null,
-          "title": "Cluster Pod Capacity",
-          "tooltip": {
-            "shared": true,
-            "sort": 0,
-            "value_type": "individual"
-          },
-          "type": "graph",
-          "xaxis": {
-            "buckets": null,
-            "mode": "time",
-            "name": null,
-            "show": true,
-            "values": []
-          },
-          "yaxes": [
-            {
-              "format": "short",
-              "label": "pods",
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            },
-            {
-              "format": "short",
-              "label": null,
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            }
-          ],
-          "yaxis": {
-            "align": false,
-            "alignLevel": null
-          }
-        },
-        {
-          "aliasColors": {},
-          "bars": false,
-          "dashLength": 10,
-          "dashes": false,
-          "datasource": "Prometheus",
-          "fill": 1,
-          "fillGradient": 0,
-          "gridPos": {
-            "h": 5,
-            "w": 6,
-            "x": 6,
-            "y": 5
-          },
-          "id": 10,
-          "legend": {
-            "avg": false,
-            "current": false,
-            "max": false,
-            "min": false,
-            "show": true,
-            "total": false,
-            "values": false
-          },
-          "lines": true,
-          "linewidth": 1,
-          "links": [],
-          "nullPointMode": "null",
-          "options": {
-            "dataLinks": []
-          },
-          "percentage": false,
-          "pointradius": 5,
-          "points": false,
-          "renderer": "flot",
-          "seriesOverrides": [],
-          "spaceLength": 10,
-          "stack": false,
-          "steppedLine": false,
-          "targets": [
-            {
-              "expr": "sum(kube_node_status_capacity_cpu_cores{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "allocatable",
-              "refId": "A"
-            },
-            {
-              "expr": "sum(kube_node_status_allocatable_cpu_cores{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "capacity",
-              "refId": "B"
-            },
-            {
-              "expr": "sum(kube_pod_container_resource_requests_cpu_cores{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "requested",
-              "refId": "C"
-            }
-          ],
-          "thresholds": [],
-          "timeFrom": null,
-          "timeRegions": [],
-          "timeShift": null,
-          "title": "Cluster CPU Capacity",
-          "tooltip": {
-            "shared": true,
-            "sort": 0,
-            "value_type": "individual"
-          },
-          "type": "graph",
-          "xaxis": {
-            "buckets": null,
-            "mode": "time",
-            "name": null,
-            "show": true,
-            "values": []
-          },
-          "yaxes": [
-            {
-              "decimals": null,
-              "format": "none",
-              "label": "cores",
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            },
-            {
-              "format": "short",
-              "label": null,
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            }
-          ],
-          "yaxis": {
-            "align": false,
-            "alignLevel": null
-          }
-        },
-        {
-          "aliasColors": {},
-          "bars": false,
-          "dashLength": 10,
-          "dashes": false,
-          "datasource": "Prometheus",
-          "fill": 1,
-          "fillGradient": 0,
-          "gridPos": {
-            "h": 5,
-            "w": 6,
-            "x": 12,
-            "y": 5
-          },
-          "id": 11,
-          "legend": {
-            "avg": false,
-            "current": false,
-            "max": false,
-            "min": false,
-            "show": true,
-            "total": false,
-            "values": false
-          },
-          "lines": true,
-          "linewidth": 1,
-          "links": [],
-          "nullPointMode": "null",
-          "options": {
-            "dataLinks": []
-          },
-          "percentage": false,
-          "pointradius": 5,
-          "points": false,
-          "renderer": "flot",
-          "seriesOverrides": [],
-          "spaceLength": 10,
-          "stack": false,
-          "steppedLine": false,
-          "targets": [
-            {
-              "expr": "sum(kube_node_status_allocatable_memory_bytes{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "allocatable",
-              "refId": "A"
-            },
-            {
-              "expr": "sum(kube_node_status_capacity_memory_bytes{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "capacity",
-              "refId": "B"
-            },
-            {
-              "expr": "sum(kube_pod_container_resource_requests_memory_bytes{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "requested",
-              "refId": "C"
-            }
-          ],
-          "thresholds": [],
-          "timeFrom": null,
-          "timeRegions": [],
-          "timeShift": null,
-          "title": "Cluster Mem Capacity",
-          "tooltip": {
-            "shared": true,
-            "sort": 0,
-            "value_type": "individual"
-          },
-          "type": "graph",
-          "xaxis": {
-            "buckets": null,
-            "mode": "time",
-            "name": null,
-            "show": true,
-            "values": []
-          },
-          "yaxes": [
-            {
-              "format": "decbytes",
-              "label": null,
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            },
-            {
-              "format": "short",
-              "label": null,
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            }
-          ],
-          "yaxis": {
-            "align": false,
-            "alignLevel": null
-          }
-        },
-        {
-          "aliasColors": {},
-          "bars": false,
-          "dashLength": 10,
-          "dashes": false,
-          "datasource": "Prometheus",
-          "fill": 1,
-          "fillGradient": 0,
-          "gridPos": {
-            "h": 5,
-            "w": 6,
-            "x": 18,
-            "y": 5
-          },
-          "id": 12,
-          "legend": {
-            "avg": false,
-            "current": false,
-            "max": false,
-            "min": false,
-            "show": true,
-            "total": false,
-            "values": false
-          },
-          "lines": true,
-          "linewidth": 1,
-          "links": [],
-          "nullPointMode": "null",
-          "options": {
-            "dataLinks": []
-          },
-          "percentage": false,
-          "pointradius": 5,
-          "points": false,
-          "renderer": "flot",
-          "seriesOverrides": [],
-          "spaceLength": 10,
-          "stack": false,
-          "steppedLine": false,
-          "targets": [
-            {
-              "expr": "sum(node_filesystem_size_bytes{nodename=~\"$node\"}) - sum(node_filesystem_free_bytes{nodename=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "usage",
-              "refId": "A"
-            },
-            {
-              "expr": "sum(node_filesystem_size_bytes{nodename=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "legendFormat": "limit",
-              "refId": "B"
-            }
-          ],
-          "thresholds": [],
-          "timeFrom": null,
-          "timeRegions": [],
-          "timeShift": null,
-          "title": "Cluster Disk Capacity",
-          "tooltip": {
-            "shared": true,
-            "sort": 0,
-            "value_type": "individual"
-          },
-          "type": "graph",
-          "xaxis": {
-            "buckets": null,
-            "mode": "time",
-            "name": null,
-            "show": true,
-            "values": []
-          },
-          "yaxes": [
-            {
-              "format": "decbytes",
-              "label": null,
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            },
-            {
-              "format": "short",
-              "label": null,
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            }
-          ],
-          "yaxis": {
-            "align": false,
-            "alignLevel": null
-          }
-        },
-        {
-          "collapsed": false,
-          "gridPos": {
-            "h": 1,
-            "w": 24,
-            "x": 0,
-            "y": 10
-          },
-          "id": 14,
-          "panels": [],
-          "title": "Deployments",
-          "type": "row"
-        },
-        {
-          "columns": [
-            {
-              "text": "Current",
-              "value": "current"
-            }
-          ],
-          "datasource": "Prometheus",
-          "fontSize": "100%",
-          "gridPos": {
-            "h": 5,
-            "w": 6,
-            "x": 0,
-            "y": 11
-          },
-          "id": 16,
-          "links": [],
-          "options": {},
-          "pageSize": null,
-          "scroll": true,
-          "showHeader": true,
-          "sort": {
-            "col": 1,
-            "desc": true
-          },
-          "styles": [
-            {
-              "alias": "Time",
-              "dateFormat": "YYYY-MM-DD HH:mm:ss",
-              "pattern": "Time",
-              "type": "date"
-            },
-            {
-              "alias": "",
-              "colorMode": "row",
-              "colors": [
-                "rgba(245, 54, 54, 0.9)",
-                "rgba(237, 129, 40, 0.89)",
-                "rgba(50, 172, 45, 0.97)"
-              ],
-              "decimals": 0,
-              "pattern": "Metric",
-              "thresholds": [
-                "0",
-                "0",
-                ".9"
-              ],
-              "type": "string",
-              "unit": "none"
-            },
-            {
-              "alias": "",
-              "colorMode": "row",
-              "colors": [
-                "rgba(245, 54, 54, 0.9)",
-                "rgba(237, 129, 40, 0.89)",
-                "rgba(50, 172, 45, 0.97)"
-              ],
-              "dateFormat": "YYYY-MM-DD HH:mm:ss",
-              "decimals": 0,
-              "link": false,
-              "pattern": "Value",
-              "thresholds": [
-                "0",
-                "1"
-              ],
-              "type": "number",
-              "unit": "none"
-            }
-          ],
-          "targets": [
-            {
-              "expr": "kube_deployment_status_replicas{namespace=~\"$namespace\"}",
-              "format": "time_series",
-              "instant": true,
-              "interval": "",
-              "intervalFactor": 1,
-              "legendFormat": "{{ deployment }}",
-              "refId": "A"
-            }
-          ],
-          "title": "Deployment Replicas - Up To Date",
-          "transform": "timeseries_to_rows",
-          "type": "table"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 5,
-            "w": 6,
-            "x": 6,
-            "y": 11
-          },
-          "id": 18,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "sum(kube_deployment_status_replicas{namespace=~\"$namespace\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "refId": "A"
-            }
-          ],
-          "thresholds": "",
-          "title": "Deployment Replicas",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 5,
-            "w": 6,
-            "x": 12,
-            "y": 11
-          },
-          "id": 19,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "sum(kube_deployment_status_replicas_updated{namespace=~\"$namespace\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "refId": "A"
-            }
-          ],
-          "thresholds": "",
-          "title": "Deployment Replicas - Updated",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 5,
-            "w": 6,
-            "x": 18,
-            "y": 11
-          },
-          "id": 20,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "sum(kube_deployment_status_replicas_unavailable{namespace=~\"$namespace\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "refId": "A"
-            }
-          ],
-          "thresholds": "",
-          "title": "Deployment Replicas - Unavailable",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "collapsed": false,
-          "gridPos": {
-            "h": 1,
-            "w": 24,
-            "x": 0,
-            "y": 16
-          },
-          "id": 22,
-          "panels": [],
-          "title": "Node",
-          "type": "row"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 0,
-            "y": 17
-          },
-          "id": 24,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "sum(kube_node_info{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "refId": "A"
-            }
-          ],
-          "thresholds": "",
-          "title": "Number Of Nodes",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": true,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 8,
-            "y": 17
-          },
-          "id": 25,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "sum(kube_node_status_condition{condition=\"OutOfDisk\", node=~\"$node\", status=\"true\"})  or vector(0)",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "refId": "A"
-            }
-          ],
-          "thresholds": "1",
-          "title": "Nodes Out of Disk",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "current"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": true,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 16,
-            "y": 17
-          },
-          "id": 26,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
+              "name": "value to text",
+              "value": 1
             },
             {
               "name": "range to text",
@@ -1374,115 +625,21 @@ data:
           "sparkline": {
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "expr": "sum(kube_node_spec_unschedulable{node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
-              "refId": "A"
-            }
-          ],
-          "thresholds": "1",
-          "title": "Nodes Unavailable",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "current"
-        },
-        {
-          "collapsed": false,
-          "gridPos": {
-            "h": 1,
-            "w": 24,
-            "x": 0,
-            "y": 20
-          },
-          "id": 28,
-          "panels": [],
-          "title": "Pods",
-          "type": "row"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
-          ],
-          "datasource": "Prometheus",
-          "format": "none",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "gridPos": {
-            "h": 3,
-            "w": 12,
-            "x": 0,
-            "y": 21
-          },
-          "id": 30,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "options": {},
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "sparkline": {
-            "fillColor": "rgba(78, 203, 42, 0.28)",
-            "full": false,
-            "lineColor": "#629e51",
-            "show": true
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Running\"})",
+              "expr": "sum(kube_pod_container_resource_requests_memory_bytes) / sum(kube_node_status_allocatable_memory_bytes)",
               "format": "time_series",
-              "interval": "",
+              "instant": true,
               "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Pods Running",
+          "thresholds": "0.7,0.85",
+          "title": "Memory Usage",
           "type": "singlestat",
           "valueFontSize": "80%",
           "valueMaps": [
@@ -1499,26 +656,26 @@ data:
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#73BF69",
             "rgba(237, 129, 40, 0.89)",
             "#d44a3a"
           ],
           "datasource": "Prometheus",
-          "format": "none",
+          "format": "percentunit",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
             "thresholdMarkers": true
           },
           "gridPos": {
-            "h": 3,
-            "w": 12,
-            "x": 12,
-            "y": 21
+            "h": 4,
+            "w": 6,
+            "x": 18,
+            "y": 5
           },
-          "id": 31,
+          "id": 7,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -1548,23 +705,23 @@ data:
             }
           ],
           "sparkline": {
-            "fillColor": "rgba(78, 203, 42, 0.28)",
+            "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
-            "lineColor": "#629e51",
-            "show": true
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Pending\"})",
+              "expr": "(sum (node_filesystem_size_bytes) - sum (node_filesystem_free_bytes)) / sum (node_filesystem_size_bytes)",
               "format": "time_series",
-              "interval": "",
+              "instant": true,
               "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Pods Pending",
+          "thresholds": "0.7,0.85",
+          "title": "Disk Usage",
           "type": "singlestat",
           "valueFontSize": "80%",
           "valueMaps": [
@@ -1576,31 +733,44 @@ data:
           ],
           "valueName": "current"
         },
+        {
+          "collapsed": false,
+          "gridPos": {
+            "h": 1,
+            "w": 24,
+            "x": 0,
+            "y": 9
+          },
+          "id": 61,
+          "panels": [],
+          "title": "OSM",
+          "type": "row"
+        },
         {
           "cacheTimeout": null,
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 8,
+            "h": 4,
+            "w": 3,
             "x": 0,
-            "y": 24
+            "y": 10
           },
-          "id": 32,
+          "id": 71,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -1630,29 +800,31 @@ data:
             }
           ],
           "sparkline": {
-            "fillColor": "rgba(78, 203, 42, 0.28)",
+            "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
-            "lineColor": "#629e51",
-            "show": true
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Failed\"})",
+              "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"prometheus\"}",
               "format": "time_series",
-              "interval": "",
-              "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Pods Failed",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Prometheus",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
@@ -1663,26 +835,27 @@ data:
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
+          "decimals": null,
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 8,
-            "y": 24
+            "h": 4,
+            "w": 3,
+            "x": 4,
+            "y": 10
           },
-          "id": 33,
+          "id": 74,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -1712,29 +885,31 @@ data:
             }
           ],
           "sparkline": {
-            "fillColor": "rgba(78, 203, 42, 0.28)",
+            "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
-            "lineColor": "#629e51",
-            "show": true
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Succeeded\"})",
+              "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"mongo\"}",
               "format": "time_series",
-              "interval": "",
-              "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Pods Succeeded",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "mongo",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
@@ -1745,26 +920,26 @@ data:
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 16,
-            "y": 24
+            "h": 4,
+            "w": 3,
+            "x": 8,
+            "y": 10
           },
-          "id": 34,
+          "id": 72,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -1794,72 +969,61 @@ data:
             }
           ],
           "sparkline": {
-            "fillColor": "rgba(78, 203, 42, 0.28)",
+            "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
-            "lineColor": "#629e51",
-            "show": true
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Unknown\"})",
+              "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"mysql\"}",
               "format": "time_series",
-              "interval": "",
-              "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Pods Unknown",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "mysql ",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
           "valueName": "current"
         },
-        {
-          "collapsed": false,
-          "gridPos": {
-            "h": 1,
-            "w": 24,
-            "x": 0,
-            "y": 27
-          },
-          "id": 36,
-          "panels": [],
-          "title": "Containers",
-          "type": "row"
-        },
         {
           "cacheTimeout": null,
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 6,
-            "x": 0,
-            "y": 28
+            "h": 4,
+            "w": 3,
+            "x": 12,
+            "y": 10
           },
-          "id": 38,
+          "id": 77,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -1877,6 +1041,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
+          "pluginVersion": "6.3.5",
           "postfix": "",
           "postfixFontSize": "50%",
           "prefix": "",
@@ -1892,25 +1057,30 @@ data:
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
-          "tableColumn": "",
+          "tableColumn": "Value",
           "targets": [
             {
-              "expr": "sum(kube_pod_container_status_running{namespace=~\"$namespace\"})",
+              "expr": "kube_deployment_status_replicas_available{deployment=\"ro\"}",
               "format": "time_series",
-              "intervalFactor": 1,
+              "instant": true,
+              "legendFormat": "",
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Containers Running",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "ro",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
@@ -1921,26 +1091,27 @@ data:
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
+          "decimals": null,
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 6,
-            "x": 6,
-            "y": 28
+            "h": 4,
+            "w": 3,
+            "x": 16,
+            "y": 10
           },
-          "id": 39,
+          "id": 73,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -1973,25 +1144,28 @@ data:
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_container_status_waiting{namespace=~\"$namespace\"})",
+              "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"zookeeper\"}",
               "format": "time_series",
-              "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Containers Waiting",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "zookeeper",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
@@ -2002,26 +1176,27 @@ data:
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
+          "decimals": null,
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 6,
-            "x": 12,
-            "y": 28
+            "h": 4,
+            "w": 3,
+            "x": 20,
+            "y": 10
           },
-          "id": 40,
+          "id": 78,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -2054,25 +1229,28 @@ data:
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_container_status_terminated{namespace=~\"$namespace\"})",
+              "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"kafka\"}",
               "format": "time_series",
-              "intervalFactor": 1,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Containers Terminated",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "kafka",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
@@ -2083,26 +1261,26 @@ data:
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 6,
-            "x": 18,
-            "y": 28
+            "h": 4,
+            "w": 3,
+            "x": 0,
+            "y": 14
           },
-          "id": 41,
+          "id": 76,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -2120,6 +1298,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
+          "pluginVersion": "6.3.5",
           "postfix": "",
           "postfixFontSize": "50%",
           "prefix": "",
@@ -2135,25 +1314,30 @@ data:
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
-          "tableColumn": "",
+          "tableColumn": "Value",
           "targets": [
             {
-              "expr": "sum(delta(kube_pod_container_status_restarts_total{namespace=\"kube-system\"}[30m]))",
+              "expr": "kube_deployment_status_replicas_available{deployment=\"lcm\"}",
               "format": "time_series",
-              "intervalFactor": 1,
+              "instant": true,
+              "legendFormat": "",
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Containers Restarts (Last 30 Minutes)",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "lcm",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
@@ -2164,26 +1348,26 @@ data:
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 12,
-            "x": 0,
-            "y": 31
+            "h": 4,
+            "w": 3,
+            "x": 4,
+            "y": 14
           },
-          "id": 43,
+          "id": 79,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -2201,6 +1385,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
+          "pluginVersion": "6.3.5",
           "postfix": "",
           "postfixFontSize": "50%",
           "prefix": "",
@@ -2216,55 +1401,59 @@ data:
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "sum(kube_pod_container_resource_requests_cpu_cores{namespace=~\"$namespace\", node=~\"$node\"})",
-              "format": "time_series",
-              "intervalFactor": 1,
+              "expr": "kube_deployment_status_replicas_available{deployment=\"light-ui\"}",
+              "instant": true,
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "CPU Cores Requested by Containers",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "light-ui",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
-          "valueName": "current"
+          "valueName": "avg"
         },
         {
           "cacheTimeout": null,
           "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#299c46",
+            "#d44a3a",
             "rgba(237, 129, 40, 0.89)",
-            "#d44a3a"
+            "#299c46"
           ],
           "datasource": "Prometheus",
-          "format": "decbytes",
+          "description": "",
+          "format": "none",
           "gauge": {
-            "maxValue": 100,
+            "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 12,
-            "x": 12,
-            "y": 31
+            "h": 4,
+            "w": 3,
+            "x": 8,
+            "y": 14
           },
-          "id": 42,
+          "id": 75,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -2282,6 +1471,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
+          "pluginVersion": "6.3.5",
           "postfix": "",
           "postfixFontSize": "50%",
           "prefix": "",
@@ -2297,68 +1487,60 @@ data:
             "fillColor": "rgba(31, 118, 189, 0.18)",
             "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
-          "tableColumn": "",
+          "tableColumn": "Value",
           "targets": [
             {
-              "expr": "sum(kube_pod_container_resource_requests_memory_bytes{namespace=~\"$namespace\", node=~\"$node\"})",
+              "expr": "kube_deployment_status_replicas_available{deployment=\"nbi\"}",
               "format": "time_series",
-              "intervalFactor": 1,
+              "instant": true,
+              "legendFormat": "",
               "refId": "A"
             }
           ],
-          "thresholds": "",
-          "title": "Memory Requested By Containers",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "nbi",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
-          ],
-          "valueName": "current"
-        },
-        {
-          "collapsed": false,
-          "gridPos": {
-            "h": 1,
-            "w": 24,
-            "x": 0,
-            "y": 34
-          },
-          "id": 50,
-          "panels": [],
-          "title": "OSM Third Party Modules",
-          "type": "row"
+          ],
+          "valueName": "current"
         },
         {
           "cacheTimeout": null,
-          "colorBackground": true,
+          "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#bf1b00",
-            "#508642",
-            "#ef843c"
+            "#d44a3a",
+            "rgba(237, 129, 40, 0.89)",
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
             "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 0,
-            "y": 35
+            "h": 4,
+            "w": 3,
+            "x": 12,
+            "y": 14
           },
-          "id": 51,
+          "id": 67,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -2376,6 +1558,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
+          "pluginVersion": "6.3.5",
           "postfix": "",
           "postfixFontSize": "50%",
           "prefix": "",
@@ -2389,27 +1572,32 @@ data:
           ],
           "sparkline": {
             "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": true,
+            "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
-          "tableColumn": "",
+          "tableColumn": "Value",
           "targets": [
             {
-              "expr": "mysql_up{}",
+              "expr": "kube_deployment_status_replicas_available{deployment=\"pol\"}",
               "format": "time_series",
-              "intervalFactor": 1,
+              "instant": true,
+              "legendFormat": "",
               "refId": "A"
             }
           ],
-          "thresholds": "1,2",
-          "title": "MysqlDB Up",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "pol",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
@@ -2417,29 +1605,29 @@ data:
         },
         {
           "cacheTimeout": null,
-          "colorBackground": true,
+          "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#bf1b00",
-            "#508642",
-            "#ef843c"
+            "#d44a3a",
+            "rgba(237, 129, 40, 0.89)",
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
             "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 8,
-            "y": 35
+            "h": 4,
+            "w": 3,
+            "x": 16,
+            "y": 14
           },
-          "id": 52,
+          "id": 69,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -2457,6 +1645,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
+          "pluginVersion": "6.3.5",
           "postfix": "",
           "postfixFontSize": "50%",
           "prefix": "",
@@ -2470,57 +1659,60 @@ data:
           ],
           "sparkline": {
             "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": true,
+            "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
           "tableColumn": "",
           "targets": [
             {
-              "expr": "mongodb_up{}",
-              "format": "time_series",
-              "intervalFactor": 1,
+              "expr": "kube_deployment_status_replicas_available{deployment=\"mon\"}",
+              "instant": true,
               "refId": "A"
             }
           ],
-          "thresholds": "1,2",
-          "title": "MongoDB Up",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "mon",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
-          "valueName": "current"
+          "valueName": "avg"
         },
         {
           "cacheTimeout": null,
-          "colorBackground": true,
+          "colorBackground": false,
           "colorValue": false,
           "colors": [
-            "#bf1b00",
-            "#508642",
-            "#ef843c"
+            "#d44a3a",
+            "rgba(237, 129, 40, 0.89)",
+            "#299c46"
           ],
           "datasource": "Prometheus",
           "format": "none",
           "gauge": {
             "maxValue": 1,
             "minValue": 0,
-            "show": false,
+            "show": true,
             "thresholdLabels": false,
-            "thresholdMarkers": true
+            "thresholdMarkers": false
           },
           "gridPos": {
-            "h": 3,
-            "w": 8,
-            "x": 16,
-            "y": 35
+            "h": 4,
+            "w": 3,
+            "x": 20,
+            "y": 14
           },
-          "id": 53,
+          "id": 81,
           "interval": null,
           "links": [],
           "mappingType": 1,
@@ -2538,6 +1730,7 @@ data:
           "nullPointMode": "connected",
           "nullText": null,
           "options": {},
+          "pluginVersion": "6.3.5",
           "postfix": "",
           "postfixFontSize": "50%",
           "prefix": "",
@@ -2551,39 +1744,271 @@ data:
           ],
           "sparkline": {
             "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": true,
+            "full": false,
             "lineColor": "rgb(31, 120, 193)",
-            "show": true
+            "show": false,
+            "ymax": null,
+            "ymin": null
           },
-          "tableColumn": "",
+          "tableColumn": "Value",
           "targets": [
             {
-              "expr": "kafka_brokers{}",
+              "expr": "kube_deployment_status_replicas_available{deployment=\"keystone\"}",
               "format": "time_series",
-              "intervalFactor": 1,
+              "instant": true,
+              "legendFormat": "",
               "refId": "A"
             }
           ],
-          "thresholds": "1,2",
-          "title": "Kafka Broker Up",
+          "thresholds": "0,1",
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "keystone",
           "type": "singlestat",
-          "valueFontSize": "80%",
+          "valueFontSize": "100%",
           "valueMaps": [
             {
               "op": "=",
-              "text": "N/A",
+              "text": "0",
               "value": "null"
             }
           ],
           "valueName": "current"
+        },
+        {
+          "datasource": "Prometheus",
+          "aliasColors": {},
+          "bars": false,
+          "dashLength": 10,
+          "dashes": false,
+          "fill": 6,
+          "fillGradient": 0,
+          "gridPos": {
+            "h": 9,
+            "w": 23,
+            "x": 0,
+            "y": 18
+          },
+          "id": 84,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "nullPointMode": "null",
+          "options": {
+            "dataLinks": []
+          },
+          "percentage": false,
+          "pointradius": 2,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "spaceLength": 10,
+          "stack": true,
+          "steppedLine": false,
+          "targets": [
+            {
+              "expr": "sum(namespace_pod_container:container_cpu_usage_seconds_total:sum_rate{namespace=\"osm\"}) by (pod)",
+              "instant": false,
+              "intervalFactor": 4,
+              "legendFormat": "{{pod}}",
+              "refId": "A"
+            }
+          ],
+          "thresholds": [],
+          "timeFrom": null,
+          "timeRegions": [],
+          "timeShift": null,
+          "title": "Pod CPU Usage",
+          "tooltip": {
+            "shared": true,
+            "sort": 0,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "xaxis": {
+            "buckets": null,
+            "mode": "time",
+            "name": null,
+            "show": true,
+            "values": []
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ],
+          "yaxis": {
+            "align": false,
+            "alignLevel": null
+          }
+        },
+        {
+          "datasource": "Prometheus",
+          "aliasColors": {},
+          "bars": false,
+          "dashLength": 10,
+          "dashes": false,
+          "fill": 6,
+          "fillGradient": 0,
+          "gridPos": {
+            "h": 9,
+            "w": 23,
+            "x": 0,
+            "y": 27
+          },
+          "id": 85,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "nullPointMode": "null",
+          "options": {
+            "dataLinks": []
+          },
+          "percentage": false,
+          "pointradius": 2,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "spaceLength": 10,
+          "stack": true,
+          "steppedLine": false,
+          "targets": [
+            {
+              "expr": "sum(container_memory_working_set_bytes{namespace=\"osm\", container!=\"\"}) by (pod)",
+              "intervalFactor": 4,
+              "legendFormat": "{{pod}}",
+              "refId": "A"
+            }
+          ],
+          "thresholds": [],
+          "timeFrom": null,
+          "timeRegions": [],
+          "timeShift": null,
+          "title": "Pod Memory Usage",
+          "tooltip": {
+            "shared": true,
+            "sort": 0,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "xaxis": {
+            "buckets": null,
+            "mode": "time",
+            "name": null,
+            "show": true,
+            "values": []
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ],
+          "yaxis": {
+            "align": false,
+            "alignLevel": null
+          }
+        },
+        {
+          "cacheTimeout": null,
+          "content": "\n\n\n",
+          "gridPos": {
+            "h": 4,
+            "w": 3,
+            "x": 21,
+            "y": 36
+          },
+          "id": 82,
+          "links": [],
+          "mode": "markdown",
+          "options": {},
+          "pluginVersion": "6.3.5",
+          "targets": [
+            {
+              "expr": "",
+              "instant": true,
+              "refId": "A"
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "",
+          "transparent": true,
+          "type": "text"
+        },
+        {
+          "cacheTimeout": null,
+          "content": "<h2 style=\"text-align: center;\"></p>\n\n\n",
+          "gridPos": {
+            "h": 4,
+            "w": 3,
+            "x": 19,
+            "y": 40
+          },
+          "id": 80,
+          "links": [],
+          "mode": "html",
+          "options": {},
+          "pluginVersion": "6.3.5",
+          "targets": [
+            {
+              "expr": "",
+              "instant": true,
+              "refId": "A"
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "",
+          "transparent": true,
+          "type": "text"
         }
       ],
+      "refresh": "30s",
       "schemaVersion": 19,
       "style": "dark",
-      "tags": [
-        "osm-third-party-modules",
-        "kubernetes-cluster"
-      ],
+      "tags": [],
       "templating": {
         "list": [
           {
@@ -2602,49 +2027,11 @@ data:
             "regex": "/$ds/",
             "skipUrlSync": false,
             "type": "datasource"
-          },
-          {
-            "current": {
-              "text": ".*",
-              "value": ".*"
-            },
-            "hide": 0,
-            "label": null,
-            "name": "node",
-            "options": [
-              {
-                "selected": true,
-                "text": ".*",
-                "value": ".*"
-              }
-            ],
-            "query": ".*",
-            "skipUrlSync": false,
-            "type": "constant"
-          },
-          {
-            "current": {
-              "text": ".*",
-              "value": ".*"
-            },
-            "hide": 0,
-            "label": null,
-            "name": "namespace",
-            "options": [
-              {
-                "selected": true,
-                "text": ".*",
-                "value": ".*"
-              }
-            ],
-            "query": ".*",
-            "skipUrlSync": false,
-            "type": "constant"
           }
         ]
       },
       "time": {
-        "from": "now-30m",
+        "from": "now-15m",
         "to": "now"
       },
       "timepicker": {
@@ -2673,7 +2060,7 @@ data:
         ]
       },
       "timezone": "browser",
-      "title": "Summary Kubernetes Cluster and OSM Modules",
-      "uid": "4XuMd2Iiz",
-      "version": 13
-    }
\ No newline at end of file
+      "title": "OSM Status Summary",
+      "uid": "4XuPd2Ii1",
+      "version": 2
+    }
index 1a3c773..d5d5268 100755 (executable)
@@ -70,7 +70,8 @@ fi
 
 # remove dashboards
 echo "Deleting dashboards...."
-kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-summary-grafana > /dev/null 2>&1
+kubectl -n $NAMESPACE delete configmap osm-monitoring-osm-summary-grafana > /dev/null 2>&1
+kubectl -n $NAMESPACE delete configmap osm-monitoring-osm-nodes-grafana > /dev/null 2>&1
 kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-kafka-exporter-grafana > /dev/null 2>&1
 kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-mysql-exporter-grafana > /dev/null 2>&1
 kubectl -n $NAMESPACE delete configmap osm-monitoring-prometheus-mongodb-exporter-grafana > /dev/null 2>&1
@@ -98,11 +99,9 @@ echo "Deleting monitoring namespace...."
 kubectl delete namespace $NAMESPACE
 
 if [ -n "$HELM" ] ; then
-    sudo helm reset --force 
-    kubectl delete --namespace kube-system serviceaccount tiller 
-    kubectl delete clusterrolebinding tiller-cluster-rule 
-    sudo rm /usr/local/bin/helm 
+    sudo helm reset --force
+    kubectl delete --namespace kube-system serviceaccount tiller
+    kubectl delete clusterrolebinding tiller-cluster-rule
+    sudo rm /usr/local/bin/helm
     rm -rf $HOME/.helm
 fi
-
-