Adding OSM Monitoring dashboards to Grafana charm

Change-Id: Idb9b552d799181623aa48110a083439d808fd0b3
Signed-off-by: sousaedu <eduardo.sousa@canonical.com>
diff --git a/installers/charm/grafana/files/summary_dashboard.yaml b/installers/charm/grafana/files/summary_dashboard.yaml
new file mode 100644
index 0000000..c9c1fdf
--- /dev/null
+++ b/installers/charm/grafana/files/summary_dashboard.yaml
@@ -0,0 +1,1621 @@
+# Copyright 2021 Canonical Ltd.
+#
+# 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.
+#
+# For those usages not covered by the Apache License, Version 2.0 please
+# contact: legal@canonical.com
+#
+# To get in touch with the maintainers, please contact:
+# osm-charmers@lists.launchpad.net
+##
+
+---
+annotations:
+  list:
+    - builtIn: 1
+      datasource: '-- Grafana --'
+      enable: true
+      hide: true
+      iconColor: 'rgba(0, 211, 255, 1)'
+      name: Annotations & Alerts
+      type: dashboard
+description: OSM status summary
+editable: true
+gnetId: 6417
+graphTooltip: 1
+id: 10
+iteration: 1577638384562
+links:
+  - asDropdown: true
+    icon: external link
+    includeVars: true
+    keepTime: false
+    tags: []
+    title: Dashboards
+    type: dashboards
+panels:
+  - collapsed: false
+    gridPos:
+      h: 1
+      w: 24
+      x: 0
+      'y': 0
+    id: 2
+    panels: []
+    title: Cluster Health
+    type: row
+  - 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'
+      - 'rgba(237, 129, 40, 0.89)'
+      - '#d44a3a'
+    datasource: Prometheus
+    format: percentunit
+    gauge:
+      maxValue: 1
+      minValue: 0
+      show: true
+      thresholdLabels: false
+      thresholdMarkers: true
+    gridPos:
+      h: 4
+      w: 6
+      x: 0
+      'y': 5
+    id: 4
+    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_pod_info) / sum(kube_node_status_allocatable_pods)
+        format: time_series
+        intervalFactor: 1
+        refId: A
+    thresholds: '0.7,0.85'
+    title: Pod Usage
+    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: percentunit
+    gauge:
+      maxValue: 1
+      minValue: 0
+      show: true
+      thresholdLabels: false
+      thresholdMarkers: true
+    gridPos:
+      h: 4
+      w: 6
+      x: 6
+      'y': 5
+    id: 5
+    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_pod_container_resource_requests_cpu_cores) /
+          sum(kube_node_status_allocatable_cpu_cores)
+        format: time_series
+        instant: true
+        intervalFactor: 1
+        refId: A
+    thresholds: '0.7,0.85'
+    title: CPU Usage
+    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: percentunit
+    gauge:
+      maxValue: 1
+      minValue: 0
+      show: true
+      thresholdLabels: false
+      thresholdMarkers: true
+    gridPos:
+      h: 4
+      w: 6
+      x: 12
+      'y': 5
+    id: 6
+    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_pod_container_resource_requests_memory_bytes) /
+          sum(kube_node_status_allocatable_memory_bytes)
+        format: time_series
+        instant: true
+        intervalFactor: 1
+        refId: A
+    thresholds: '0.7,0.85'
+    title: Memory Usage
+    type: singlestat
+    valueFontSize: 80%
+    valueMaps:
+      - op: '='
+        text: N/A
+        value: 'null'
+    valueName: current
+  - cacheTimeout: null
+    colorBackground: false
+    colorValue: false
+    colors:
+      - '#73BF69'
+      - 'rgba(237, 129, 40, 0.89)'
+      - '#d44a3a'
+    datasource: Prometheus
+    format: percentunit
+    gauge:
+      maxValue: 1
+      minValue: 0
+      show: true
+      thresholdLabels: false
+      thresholdMarkers: true
+    gridPos:
+      h: 4
+      w: 6
+      x: 18
+      'y': 5
+    id: 7
+    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 (node_filesystem_size_bytes) - sum (node_filesystem_free_bytes))
+          / sum (node_filesystem_size_bytes)
+        format: time_series
+        instant: true
+        intervalFactor: 1
+        refId: A
+    thresholds: '0.7,0.85'
+    title: Disk Usage
+    type: singlestat
+    valueFontSize: 80%
+    valueMaps:
+      - op: '='
+        text: N/A
+        value: 'null'
+    valueName: current
+  - collapsed: false
+    gridPos:
+      h: 1
+      w: 24
+      x: 0
+      'y': 9
+    id: 61
+    panels: []
+    title: OSM
+    type: row
+  - cacheTimeout: null
+    colorBackground: false
+    colorValue: false
+    colors:
+      - '#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: 71
+    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="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="mongodb-k8s"}
+        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
+        legendFormat: ''
+        refId: A
+    thresholds: '0,1'
+    timeFrom: null
+    timeShift: null
+    title: ro
+    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: 16
+      'y': 10
+    id: 73
+    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="zookeeper"}
+        format: time_series
+        refId: A
+    thresholds: '0,1'
+    timeFrom: null
+    timeShift: null
+    title: zookeeper
+    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: 20
+      'y': 10
+    id: 78
+    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="kafka"}
+        format: time_series
+        refId: A
+    thresholds: '0,1'
+    timeFrom: null
+    timeShift: null
+    title: kafka
+    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: 0
+      'y': 14
+    id: 76
+    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="lcm"}'
+        format: time_series
+        instant: true
+        legendFormat: ''
+        refId: A
+    thresholds: '0,1'
+    timeFrom: null
+    timeShift: null
+    title: lcm
+    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: 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="ng-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': 14
+    id: 75
+    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="nbi"}'
+        format: time_series
+        instant: true
+        legendFormat: ''
+        refId: A
+    thresholds: '0,1'
+    timeFrom: null
+    timeShift: null
+    title: nbi
+    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': 14
+    id: 67
+    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="pol"}'
+        format: time_series
+        instant: true
+        legendFormat: ''
+        refId: A
+    thresholds: '0,1'
+    timeFrom: null
+    timeShift: null
+    title: pol
+    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: 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: 85
+    legend:
+      avg: false
+      current: false
+      max: false
+      min: false
+      show: true
+      total: false
+      values: false
+    lines: true
+    linewidth: 1
+    nullPointMode: 'null'
+    options:
+      dataLinks: []
+    percentage: false
+    pointradius: 2
+    points: false
+    renderer: flot
+    seriesOverrides: []
+    spaceLength: 10
+    stack: true
+    steppedLine: false
+    targets:
+      - expr: >-
+          sum(container_memory_working_set_bytes{namespace="osm",
+          container!=""}) by (pod)
+        intervalFactor: 4
+        legendFormat: '{{pod}}'
+        refId: A
+    thresholds: []
+    timeFrom: null
+    timeRegions: []
+    timeShift: null
+    title: Pod Memory Usage
+    tooltip:
+      shared: true
+      sort: 0
+      value_type: individual
+    type: graph
+    xaxis:
+      buckets: null
+      mode: time
+      name: null
+      show: true
+      values: []
+    yaxes:
+      - format: short
+        label: null
+        logBase: 1
+        max: null
+        min: null
+        show: true
+      - format: short
+        label: null
+        logBase: 1
+        max: null
+        min: null
+        show: true
+    yaxis:
+      align: false
+      alignLevel: null
+  - cacheTimeout: null
+    content: |+
+      ''
+      ''
+      ''
+    gridPos:
+      h: 4
+      w: 3
+      x: 21
+      'y': 36
+    id: 82
+    links: []
+    mode: markdown
+    options: {}
+    pluginVersion: 6.3.5
+    targets:
+      - expr: ''
+        instant: true
+        refId: A
+    timeFrom: null
+    timeShift: null
+    title: ''
+    transparent: true
+    type: text
+  - cacheTimeout: null
+    content: |+
+      '<h2 style="text-align: center;"></p>'
+      ''
+      ''
+    gridPos:
+      h: 4
+      w: 3
+      x: 19
+      'y': 40
+    id: 80
+    links: []
+    mode: html
+    options: {}
+    pluginVersion: 6.3.5
+    targets:
+      - expr: ''
+        instant: true
+        refId: A
+    timeFrom: null
+    timeShift: null
+    title: ''
+    transparent: true
+    type: text
+refresh: 30s
+schemaVersion: 19
+style: dark
+tags: []
+templating:
+  list:
+    - current:
+        text: No data sources found
+        value: ''
+      hide: 2
+      includeAll: false
+      label: ''
+      multi: false
+      name: datasource
+      options: []
+      query: prometheus
+      refresh: 1
+      regex: /$ds/
+      skipUrlSync: false
+      type: datasource
+time:
+  from: now-15m
+  to: now
+timepicker:
+  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: OSM Status Summary
+uid: 4XuPd2Ii1
+version: 2