Merge "Fix bug 964: Duplicated dashboards. Set fixed port for Grafana"
diff --git a/installers/k8s/README-osm_k8s_monitoring.md b/installers/k8s/README-osm_k8s_monitoring.md
index 223a954..5632f4b 100644
--- a/installers/k8s/README-osm_k8s_monitoring.md
+++ b/installers/k8s/README-osm_k8s_monitoring.md
@@ -16,54 +16,51 @@
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)
-
-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.
-
-As a result, there will be 3 folders in Grafana:
-
-- 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.
+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.
## Requirements
-- Kubernetes 1.15.X
-- OSM Kubernetes version Release 7
-
-## Components
-
-- 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.
+OSM must be/have been deployed using the Kubernetes installer (that is, with the -c k8s option).
## Versions
-We use the following versions:
+For reference, the versions for the external components used are as follows:
-- PROMETHEUS_OPERATOR=6.18.0
-- PROMETHEUS_MONGODB_EXPORTER=2.3.0
-- PROMETHEUS_MYSQL_EXPORTER=0.5.1
-- HELM_CLIENT=2.15.2
+* PROMETHEUS_OPERATOR=6.18.0
+* PROMETHEUS_MONGODB_EXPORTER=2.3.0
+* PROMETHEUS_MYSQL_EXPORTER=0.5.1
+* HELM_CLIENT=2.15.2
-## Install
+## Functionality
-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.
+Kubernetes cluster metrics (for nodes, pods, deployments, etc.) are stored in the dedicated Prometheus instance and accessible using Grafana.
+
+"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.
+
+## Install procedure
+
+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>)
+
+* Using the --k8s_monitor switch in the OSM installation:
```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 @@
-h / --help : print this help
```
-## Uninstall
+## Access to Grafana
-To uninstall the utility you must use the installation script.
+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
+
+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 @@
-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:
+
+ * Kubernetes components (api server, kubelet, pods, etc)
+ * Nodes of the cluster.
+ * Prometheus operator components.
+
+* 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:
+```
+kubectl -n monitoring get configmap <configmap-name> -o yaml > <confimap-file>
```
-You must see the NodePort (greater than 30000) that uses the grafana service and type in your WEB browser:
+Grafana Sidecar will read the label `grafana_dashboard: "1"` in the configmap and upload the dashboard information to Grafana.
-```sh
- http://<ip_your_osm_host>:<nodeport>
-```
-
-- Username: admin
-- Password: prom-operator
+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.
diff --git a/installers/k8s/change-charts-prometheus-operator.sh b/installers/k8s/change-charts-prometheus-operator.sh
index 7ac07dd..5fcf67a 100755
--- a/installers/k8s/change-charts-prometheus-operator.sh
+++ b/installers/k8s/change-charts-prometheus-operator.sh
@@ -75,4 +75,9 @@
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
index a6f802c..0000000
--- a/installers/k8s/grafanaproviders.yaml
+++ /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
diff --git a/installers/k8s/install_osm_k8s_monitoring.sh b/installers/k8s/install_osm_k8s_monitoring.sh
index 4259696..badba81 100755
--- a/installers/k8s/install_osm_k8s_monitoring.sh
+++ b/installers/k8s/install_osm_k8s_monitoring.sh
@@ -46,7 +46,7 @@
HELM=""
DEBUG=""
DUMP_VARS=""
-SERVICE_TYPE=""
+SERVICE_TYPE=""
while getopts ":h-:n:s:" o; do
case "${o}" in
h)
@@ -111,8 +111,8 @@
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 @@
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 @@
# 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 @@
#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 @@
# 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
diff --git a/installers/k8s/kafka-exporter-dashboard.yaml b/installers/k8s/kafka-exporter-dashboard.yaml
index 71b88db..4354e2f 100644
--- a/installers/k8s/kafka-exporter-dashboard.yaml
+++ b/installers/k8s/kafka-exporter-dashboard.yaml
@@ -23,7 +23,7 @@
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 @@
"editable": true,
"gnetId": 7589,
"graphTooltip": 0,
- "id": 36,
- "iteration": 1569330292834,
+ "id": 10,
+ "iteration": 1578848023483,
"links": [],
"panels": [
{
@@ -94,7 +94,7 @@
"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 @@
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
- "title": "Message in per second",
+ "title": "Messages stored per topic",
"tooltip": {
"shared": true,
"sort": 0,
@@ -166,6 +166,7 @@
"rightSide": false,
"show": true,
"sideWidth": 480,
+ "sort": "max",
"sortDesc": true,
"total": false,
"values": true
@@ -192,7 +193,7 @@
"instant": false,
"interval": "",
"intervalFactor": 1,
- "legendFormat": "{{consumergroup}} (topic: {{topic}})",
+ "legendFormat": " {{topic}} ({{consumergroup}})",
"refId": "A"
}
],
@@ -292,7 +293,7 @@
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
- "title": "Message in per minute",
+ "title": "Messages produced per minute",
"tooltip": {
"shared": true,
"sort": 0,
@@ -378,7 +379,7 @@
"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 @@
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
- "title": "Message consume per minute",
+ "title": "Messages consumed per minute",
"tooltip": {
"shared": true,
"sort": 0,
@@ -521,15 +522,12 @@
"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 @@
},
{
"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 @@
{
"allValue": null,
"current": {
+ "tags": [],
"text": "All",
"value": [
"$__all"
@@ -637,7 +631,7 @@
]
},
"timezone": "browser",
- "title": "Kafka Exporter Overview",
+ "title": "Kafka",
"uid": "jwPKIsniz",
- "version": 1
+ "version": 2
}
diff --git a/installers/k8s/mongodb-exporter-dashboard.yaml b/installers/k8s/mongodb-exporter-dashboard.yaml
index a7320ce..9def63a 100644
--- a/installers/k8s/mongodb-exporter-dashboard.yaml
+++ b/installers/k8s/mongodb-exporter-dashboard.yaml
@@ -23,7 +23,7 @@
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 @@
}
]
},
- "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 @@
"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 @@
"h": 6,
"w": 10,
"x": 0,
- "y": 1
+ "y": 6
},
"id": 7,
"legend": {
@@ -103,7 +285,7 @@
"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 @@
"h": 6,
"w": 8,
"x": 10,
- "y": 1
+ "y": 6
},
"id": 9,
"legend": {
@@ -199,7 +381,7 @@
"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 @@
"h": 6,
"w": 6,
"x": 18,
- "y": 1
+ "y": 6
},
"id": 8,
"legend": {
@@ -290,7 +472,7 @@
"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,
@@ -346,279 +528,12 @@
"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": {
- "h": 1,
- "w": 24,
- "x": 0,
"y": 12
},
"id": 23,
"panels": [],
"repeat": null,
- "title": "Resource Metrics",
+ "title": "Resources",
"type": "row"
},
{
@@ -666,7 +581,7 @@
"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 @@
"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 @@
"refresh": "5s",
"schemaVersion": 19,
"style": "dark",
- "tags": [
- "prometheus"
- ],
+ "tags": [],
"templating": {
"list": [
{
@@ -829,9 +742,9 @@
"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 @@
"timezone": "browser",
"title": "MongoDB",
"uid": "HEK4NbtZk",
- "version": 1
+ "version": 2
}
diff --git a/installers/k8s/mysql-exporter-dashboard.yaml b/installers/k8s/mysql-exporter-dashboard.yaml
index 32f081e..77ce2b1 100644
--- a/installers/k8s/mysql-exporter-dashboard.yaml
+++ b/installers/k8s/mysql-exporter-dashboard.yaml
@@ -23,7 +23,7 @@
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 @@
}
]
},
- "description": "Basic Mysql dashboard for the prometheus exporter ",
+ "description": "Mysql dashboard",
"editable": true,
"gnetId": 6239,
"graphTooltip": 0,
@@ -731,7 +731,7 @@
"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 @@
"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 @@
"schemaVersion": 19,
"style": "dark",
"tags": [
- "Databases",
- "backgroundservices"
],
"templating": {
"list": [
@@ -1169,7 +1167,7 @@
]
},
"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
index 0000000..dc96e21
--- /dev/null
+++ b/installers/k8s/nodes-dashboard.yaml
@@ -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
+ }
diff --git a/installers/k8s/summary-dashboard.yaml b/installers/k8s/summary-dashboard.yaml
index 2919440..b357451 100644
--- a/installers/k8s/summary-dashboard.yaml
+++ b/installers/k8s/summary-dashboard.yaml
@@ -19,11 +19,11 @@
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 @@
}
]
},
- "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,343 @@
{
"cacheTimeout": null,
"colorBackground": false,
+ "colorPrefix": 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": 2,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 26,
+ "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",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "repeat": null,
+ "repeatDirection": "h",
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "Value",
+ "targets": [
+ {
+ "expr": "sum(kube_node_info)",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "thresholds": "1",
+ "title": "",
+ "type": "singlestat",
+ "valueFontSize": "70%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "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": 2,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "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": " 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%",
+ "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)-sum(kube_node_status_condition{condition=\"Ready\", status=\"true\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "1,1",
+ "title": "",
+ "type": "singlestat",
+ "valueFontSize": "70%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "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,
"colorValue": false,
"colors": [
"#299c46",
@@ -84,7 +418,7 @@
"datasource": "Prometheus",
"format": "percentunit",
"gauge": {
- "maxValue": 100,
+ "maxValue": 1,
"minValue": 0,
"show": true,
"thresholdLabels": false,
@@ -94,7 +428,7 @@
"h": 4,
"w": 6,
"x": 0,
- "y": 1
+ "y": 5
},
"id": 4,
"interval": null,
@@ -134,14 +468,14 @@
"tableColumn": "",
"targets": [
{
- "expr": "sum(kube_pod_info{node=~\"$node\"}) / sum(kube_node_status_allocatable_pods{node=~\".*\"})",
+ "expr": "sum(kube_pod_info) / sum(kube_node_status_allocatable_pods)",
"format": "time_series",
"intervalFactor": 1,
"refId": "A"
}
],
- "thresholds": "80,90",
- "title": "Cluster Pod Usage",
+ "thresholds": "0.7,0.85",
+ "title": "Pod Usage",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
@@ -165,7 +499,7 @@
"datasource": "Prometheus",
"format": "percentunit",
"gauge": {
- "maxValue": 100,
+ "maxValue": 1,
"minValue": 0,
"show": true,
"thresholdLabels": false,
@@ -175,7 +509,7 @@
"h": 4,
"w": 6,
"x": 6,
- "y": 1
+ "y": 5
},
"id": 5,
"interval": null,
@@ -215,14 +549,15 @@
"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_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 CPU Usage",
+ "thresholds": "0.7,0.85",
+ "title": "CPU Usage",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
@@ -246,7 +581,7 @@
"datasource": "Prometheus",
"format": "percentunit",
"gauge": {
- "maxValue": 100,
+ "maxValue": 1,
"minValue": 0,
"show": true,
"thresholdLabels": false,
@@ -256,7 +591,7 @@
"h": 4,
"w": 6,
"x": 12,
- "y": 1
+ "y": 5
},
"id": 6,
"interval": null,
@@ -296,14 +631,15 @@
"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_container_resource_requests_memory_bytes) / sum(kube_node_status_allocatable_memory_bytes)",
"format": "time_series",
+ "instant": true,
"intervalFactor": 1,
"refId": "A"
}
],
- "thresholds": "80,90",
- "title": "Cluster Memory Usage",
+ "thresholds": "0.7,0.85",
+ "title": "Memory Usage",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
@@ -320,14 +656,14 @@
"colorBackground": false,
"colorValue": false,
"colors": [
- "#299c46",
+ "#73BF69",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"datasource": "Prometheus",
"format": "percentunit",
"gauge": {
- "maxValue": 100,
+ "maxValue": 1,
"minValue": 0,
"show": true,
"thresholdLabels": false,
@@ -337,7 +673,7 @@
"h": 4,
"w": 6,
"x": 18,
- "y": 1
+ "y": 5
},
"id": 7,
"interval": null,
@@ -377,14 +713,15 @@
"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 (node_filesystem_size_bytes) - sum (node_filesystem_free_bytes)) / sum (node_filesystem_size_bytes)",
"format": "time_series",
+ "instant": true,
"intervalFactor": 1,
"refId": "A"
}
],
- "thresholds": "80,90",
- "title": "Cluster Disk Usage",
+ "thresholds": "0.7,0.85",
+ "title": "Disk Usage",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
@@ -397,922 +734,353 @@
"valueName": "current"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "Prometheus",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 5,
- "w": 6,
- "x": 0,
- "y": 5
- },
- "id": 9,
- "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_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": 9
+ },
+ "id": 61,
+ "panels": [],
+ "title": "OSM",
+ "type": "row"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": "Prometheus",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "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,
+ "id": 71,
+ "interval": null,
"links": [],
- "options": {},
- "pageSize": null,
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 1,
- "desc": true
- },
- "styles": [
+ "mappingType": 1,
+ "mappingTypes": [
{
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "date"
+ "name": "value to text",
+ "value": 1
},
{
- "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"
+ "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,
+ "ymax": null,
+ "ymin": null
+ },
+ "tableColumn": "",
"targets": [
{
- "expr": "kube_deployment_status_replicas{namespace=~\"$namespace\"}",
+ "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"prometheus\"}",
+ "format": "time_series",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Prometheus",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "0",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": "Prometheus",
+ "decimals": null,
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 4,
+ "y": 10
+ },
+ "id": 74,
+ "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,
+ "ymax": null,
+ "ymin": null
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"mongo\"}",
+ "format": "time_series",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "mongo",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "0",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": "Prometheus",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 8,
+ "y": 10
+ },
+ "id": 72,
+ "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,
+ "ymax": null,
+ "ymin": null
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"mysql\"}",
+ "format": "time_series",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "mysql ",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "0",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": "Prometheus",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 12,
+ "y": 10
+ },
+ "id": 77,
+ "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": {},
+ "pluginVersion": "6.3.5",
+ "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,
+ "ymax": null,
+ "ymin": null
+ },
+ "tableColumn": "Value",
+ "targets": [
+ {
+ "expr": "kube_deployment_status_replicas_available{deployment=\"ro\"}",
"format": "time_series",
"instant": true,
- "interval": "",
- "intervalFactor": 1,
- "legendFormat": "{{ deployment }}",
+ "legendFormat": "",
"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",
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "ro",
"type": "singlestat",
- "valueFontSize": "80%",
+ "valueFontSize": "100%",
"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",
+ "text": "0",
"value": "null"
}
],
@@ -1320,29 +1088,30 @@
},
{
"cacheTimeout": null,
- "colorBackground": true,
+ "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,
+ "h": 4,
+ "w": 3,
"x": 16,
- "y": 17
+ "y": 10
},
- "id": 26,
+ "id": 73,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1375,68 +1144,59 @@
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
- "show": false
+ "show": false,
+ "ymax": null,
+ "ymin": null
},
"tableColumn": "",
"targets": [
{
- "expr": "sum(kube_node_spec_unschedulable{node=~\"$node\"})",
+ "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"zookeeper\"}",
"format": "time_series",
- "intervalFactor": 1,
"refId": "A"
}
],
- "thresholds": "1",
- "title": "Nodes Unavailable",
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "zookeeper",
"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": 20
- },
- "id": 28,
- "panels": [],
- "title": "Pods",
- "type": "row"
- },
- {
"cacheTimeout": null,
"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": 12,
- "x": 0,
- "y": 21
+ "h": 4,
+ "w": 3,
+ "x": 20,
+ "y": 10
},
- "id": 30,
+ "id": 78,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1466,29 +1226,31 @@
}
],
"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=\"Running\"})",
+ "expr": "kube_statefulset_status_replicas_ready{namespace=\"osm\", statefulset=\"kafka\"}",
"format": "time_series",
- "interval": "",
- "intervalFactor": 1,
"refId": "A"
}
],
- "thresholds": "",
- "title": "Pods Running",
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "kafka",
"type": "singlestat",
- "valueFontSize": "80%",
+ "valueFontSize": "100%",
"valueMaps": [
{
"op": "=",
- "text": "N/A",
+ "text": "0",
"value": "null"
}
],
@@ -1499,108 +1261,26 @@
"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": 12,
- "y": 21
- },
- "id": 31,
- "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
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Pending\"})",
- "format": "time_series",
- "interval": "",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Pods Pending",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "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,
+ "h": 4,
+ "w": 3,
"x": 0,
- "y": 24
+ "y": 14
},
- "id": 32,
+ "id": 76,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1618,6 +1298,7 @@
"nullPointMode": "connected",
"nullText": null,
"options": {},
+ "pluginVersion": "6.3.5",
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
@@ -1630,29 +1311,33 @@
}
],
"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": "",
+ "tableColumn": "Value",
"targets": [
{
- "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Failed\"})",
+ "expr": "kube_deployment_status_replicas_available{deployment=\"lcm\"}",
"format": "time_series",
- "interval": "",
- "intervalFactor": 1,
+ "instant": true,
+ "legendFormat": "",
"refId": "A"
}
],
- "thresholds": "",
- "title": "Pods Failed",
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "lcm",
"type": "singlestat",
- "valueFontSize": "80%",
+ "valueFontSize": "100%",
"valueMaps": [
{
"op": "=",
- "text": "N/A",
+ "text": "0",
"value": "null"
}
],
@@ -1663,26 +1348,112 @@
"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": 4,
+ "y": 14
+ },
+ "id": 79,
+ "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": {},
+ "pluginVersion": "6.3.5",
+ "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,
+ "ymax": null,
+ "ymin": null
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "kube_deployment_status_replicas_available{deployment=\"light-ui\"}",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "light-ui",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "0",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": "Prometheus",
+ "description": "",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
"x": 8,
- "y": 24
+ "y": 14
},
- "id": 33,
+ "id": 75,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1700,6 +1471,7 @@
"nullPointMode": "connected",
"nullText": null,
"options": {},
+ "pluginVersion": "6.3.5",
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
@@ -1712,29 +1484,33 @@
}
],
"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": "",
+ "tableColumn": "Value",
"targets": [
{
- "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Succeeded\"})",
+ "expr": "kube_deployment_status_replicas_available{deployment=\"nbi\"}",
"format": "time_series",
- "interval": "",
- "intervalFactor": 1,
+ "instant": true,
+ "legendFormat": "",
"refId": "A"
}
],
- "thresholds": "",
- "title": "Pods Succeeded",
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "nbi",
"type": "singlestat",
- "valueFontSize": "80%",
+ "valueFontSize": "100%",
"valueMaps": [
{
"op": "=",
- "text": "N/A",
+ "text": "0",
"value": "null"
}
],
@@ -1745,26 +1521,26 @@
"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": 12,
+ "y": 14
},
- "id": 34,
+ "id": 67,
"interval": null,
"links": [],
"mappingType": 1,
@@ -1782,6 +1558,7 @@
"nullPointMode": "connected",
"nullText": null,
"options": {},
+ "pluginVersion": "6.3.5",
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
@@ -1794,796 +1571,444 @@
}
],
"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": "",
+ "tableColumn": "Value",
"targets": [
{
- "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Unknown\"})",
+ "expr": "kube_deployment_status_replicas_available{deployment=\"pol\"}",
"format": "time_series",
- "interval": "",
- "intervalFactor": 1,
+ "instant": true,
+ "legendFormat": "",
"refId": "A"
}
],
- "thresholds": "",
- "title": "Pods Unknown",
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "pol",
"type": "singlestat",
- "valueFontSize": "80%",
+ "valueFontSize": "100%",
"valueMaps": [
{
"op": "=",
- "text": "N/A",
+ "text": "0",
"value": "null"
}
],
"valueName": "current"
},
{
- "collapsed": false,
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": "Prometheus",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 4,
+ "w": 3,
+ "x": 16,
+ "y": 14
+ },
+ "id": 69,
+ "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": {},
+ "pluginVersion": "6.3.5",
+ "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,
+ "ymax": null,
+ "ymin": null
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "kube_deployment_status_replicas_available{deployment=\"mon\"}",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "mon",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "0",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#d44a3a",
+ "rgba(237, 129, 40, 0.89)",
+ "#299c46"
+ ],
+ "datasource": "Prometheus",
+ "format": "none",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 20,
+ "y": 14
+ },
+ "id": 81,
+ "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": {},
+ "pluginVersion": "6.3.5",
+ "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,
+ "ymax": null,
+ "ymin": null
+ },
+ "tableColumn": "Value",
+ "targets": [
+ {
+ "expr": "kube_deployment_status_replicas_available{deployment=\"keystone\"}",
+ "format": "time_series",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "0,1",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "keystone",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "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": 36,
- "panels": [],
- "title": "Containers",
- "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
+ "id": 85,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
},
- "gridPos": {
- "h": 3,
- "w": 6,
- "x": 0,
- "y": 28
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": []
},
- "id": 38,
- "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": true
- },
- "tableColumn": "",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
"targets": [
{
- "expr": "sum(kube_pod_container_status_running{namespace=~\"$namespace\"})",
- "format": "time_series",
- "intervalFactor": 1,
+ "expr": "sum(container_memory_working_set_bytes{namespace=\"osm\", container!=\"\"}) by (pod)",
+ "intervalFactor": 4,
+ "legendFormat": "{{pod}}",
"refId": "A"
}
],
- "thresholds": "",
- "title": "Containers Running",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
+ "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": [
{
- "op": "=",
- "text": "N/A",
- "value": "null"
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
}
],
- "valueName": "current"
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
},
{
"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
- },
+ "content": "\n\n\n",
"gridPos": {
- "h": 3,
- "w": 6,
- "x": 6,
- "y": 28
+ "h": 4,
+ "w": 3,
+ "x": 21,
+ "y": 36
},
- "id": 39,
- "interval": null,
+ "id": 82,
"links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
+ "mode": "markdown",
"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": true
- },
- "tableColumn": "",
+ "pluginVersion": "6.3.5",
"targets": [
{
- "expr": "sum(kube_pod_container_status_waiting{namespace=~\"$namespace\"})",
- "format": "time_series",
- "intervalFactor": 1,
+ "expr": "",
+ "instant": true,
"refId": "A"
}
],
- "thresholds": "",
- "title": "Containers Waiting",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "",
+ "transparent": true,
+ "type": "text"
},
{
"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
- },
+ "content": "<h2 style=\"text-align: center;\"></p>\n\n\n",
"gridPos": {
- "h": 3,
- "w": 6,
- "x": 12,
- "y": 28
+ "h": 4,
+ "w": 3,
+ "x": 19,
+ "y": 40
},
- "id": 40,
- "interval": null,
+ "id": 80,
"links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
+ "mode": "html",
"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": true
- },
- "tableColumn": "",
+ "pluginVersion": "6.3.5",
"targets": [
{
- "expr": "sum(kube_pod_container_status_terminated{namespace=~\"$namespace\"})",
- "format": "time_series",
- "intervalFactor": 1,
+ "expr": "",
+ "instant": true,
"refId": "A"
}
],
- "thresholds": "",
- "title": "Containers Terminated",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "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": 6,
- "x": 18,
- "y": 28
- },
- "id": 41,
- "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": true
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "sum(delta(kube_pod_container_status_restarts_total{namespace=\"kube-system\"}[30m]))",
- "format": "time_series",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Containers Restarts (Last 30 Minutes)",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "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": 31
- },
- "id": 43,
- "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": true
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "sum(kube_pod_container_resource_requests_cpu_cores{namespace=~\"$namespace\", node=~\"$node\"})",
- "format": "time_series",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "CPU Cores Requested by Containers",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "Prometheus",
- "format": "decbytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 12,
- "x": 12,
- "y": 31
- },
- "id": 42,
- "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": true
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "sum(kube_pod_container_resource_requests_memory_bytes{namespace=~\"$namespace\", node=~\"$node\"})",
- "format": "time_series",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Memory Requested By Containers",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "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"
- },
- {
- "cacheTimeout": null,
- "colorBackground": true,
- "colorValue": false,
- "colors": [
- "#bf1b00",
- "#508642",
- "#ef843c"
- ],
- "datasource": "Prometheus",
- "format": "none",
- "gauge": {
- "maxValue": 1,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 8,
- "x": 0,
- "y": 35
- },
- "id": 51,
- "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": "mysql_up{}",
- "format": "time_series",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "1,2",
- "title": "MysqlDB Up",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": true,
- "colorValue": false,
- "colors": [
- "#bf1b00",
- "#508642",
- "#ef843c"
- ],
- "datasource": "Prometheus",
- "format": "none",
- "gauge": {
- "maxValue": 1,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 8,
- "x": 8,
- "y": 35
- },
- "id": 52,
- "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_up{}",
- "format": "time_series",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "1,2",
- "title": "MongoDB Up",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": true,
- "colorValue": false,
- "colors": [
- "#bf1b00",
- "#508642",
- "#ef843c"
- ],
- "datasource": "Prometheus",
- "format": "none",
- "gauge": {
- "maxValue": 1,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 8,
- "x": 16,
- "y": 35
- },
- "id": 53,
- "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": "kafka_brokers{}",
- "format": "time_series",
- "intervalFactor": 1,
- "refId": "A"
- }
- ],
- "thresholds": "1,2",
- "title": "Kafka Broker Up",
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "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 @@
"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 @@
]
},
"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
+ }
diff --git a/installers/k8s/uninstall_osm_k8s_monitoring.sh b/installers/k8s/uninstall_osm_k8s_monitoring.sh
index 1a3c773..d5d5268 100755
--- a/installers/k8s/uninstall_osm_k8s_monitoring.sh
+++ b/installers/k8s/uninstall_osm_k8s_monitoring.sh
@@ -70,7 +70,8 @@
# 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 @@
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
-
-