{{- $Values := (.helm).Values | default .Values }}
{{- $clusterLabel := ($Values.global).clusterLabel | default "cluster" }}
{{- $multicluster := ((($Values.grafana).sidecar).dashboards).multicluster | default false }}
{{- $defaultDatasource := "prometheus" -}}
{{- range (((($Values.grafana).sidecar).datasources).victoriametrics | default list) }}
  {{- if and .isDefault .type }}{{ $defaultDatasource = .type }}{{- end }}
{{- end }}
__elements: {}
__inputs:
- description: ''
  label: Prometheus
  name: DS_PROMETHEUS
  pluginId: prometheus
  pluginName: Prometheus
  type: datasource
__requires:
- id: bargauge
  name: Bar gauge
  type: panel
  version: ''
- id: grafana
  name: Grafana
  type: grafana
  version: 10.3.1
- id: prometheus
  name: Prometheus
  type: datasource
  version: 1.0.0
- id: stat
  name: Stat
  type: panel
  version: ''
- id: timeseries
  name: Time series
  type: panel
  version: ''
annotations:
  list:
  - builtIn: 1
    datasource:
      type: datasource
      uid: grafana
    enable: true
    hide: true
    iconColor: rgba(0, 211, 255, 1)
    name: Annotations & Alerts
    target:
      limit: 100
      matchAny: false
      tags: []
      type: dashboard
    type: dashboard
  - datasource:
      type: datasource
      uid: grafana
    enable: true
    hide: false
    iconColor: '#5c4ee5'
    name: terraform
    target:
      limit: 100
      matchAny: false
      tags:
      - terraform
      type: tags
  - datasource:
      type: datasource
      uid: grafana
    enable: true
    hide: false
    iconColor: red
    name: oncall
    target:
      limit: 100
      matchAny: false
      tags:
      - oncall
      type: tags
condition: {{ ($Values.kubelet).enabled }}
description: 'This is a modern ''Global View'' dashboard for your Kubernetes cluster(s). Made for kube-prometheus-stack and take advantage of the latest Grafana features. GitHub repository: https://github.com/dotdc/grafana-dashboards-kubernetes'
editable: false
fiscalYearStartMonth: 0
graphTooltip: 1
links: []
liveNow: false
panels:
- collapsed: false
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  gridPos:
    h: 1
    w: 24
    x: 0
    'y': 0
  id: 67
  panels: []
  title: Overview
  type: row
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: continuous-GrYlRd
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 6
    x: 0
    'y': 1
  id: 77
  options:
    displayMode: lcd
    maxVizHeight: 300
    minVizHeight: 10
    minVizWidth: 0
    namePlacement: auto
    orientation: horizontal
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ''
      values: false
    showUnfilled: true
    sizing: auto
    valueMode: color
  pluginVersion: 11.2.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: avg(sum by (instance, cpu) (rate(node_cpu_seconds_total{mode!~"idle|iowait|steal", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])))
    interval: ''
    legendFormat: Real Linux
    range: true
    refId: Real Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: avg(sum by (core) (rate(windows_cpu_time_total{mode!="idle", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])))
    hide: false
    interval: ''
    legendFormat: Real Windows
    range: true
    refId: Real Windows
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_requests{resource="cpu", {{ $clusterLabel }}=~"$cluster"}) / sum(machine_cpu_cores{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_limits{resource="cpu", {{ $clusterLabel }}=~"$cluster"}) / sum(machine_cpu_cores{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  title: Global CPU  Usage
  transformations:
  - id: calculateField
    options:
      alias: Real
      mode: reduceRow
      reduce:
        include:
        - Real Linux
        - Real Windows
        reducer: mean
  - id: organize
    options:
      excludeByName:
        Real Linux: true
        Real Windows: true
        Time: true
      indexByName:
        Limits: 5
        Real: 1
        Real Linux: 2
        Real Windows: 3
        Requests: 4
        Time: 0
      renameByName: {}
  type: bargauge
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: continuous-GrYlRd
      decimals: 2
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 6
    x: 6
    'y': 1
  id: 78
  options:
    displayMode: lcd
    maxVizHeight: 300
    minVizHeight: 10
    minVizWidth: 0
    namePlacement: auto
    orientation: horizontal
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ''
      values: false
    showUnfilled: true
    sizing: auto
    text: {}
    valueMode: color
  pluginVersion: 11.2.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(node_memory_MemTotal_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"} - node_memory_MemAvailable_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"}) / sum(node_memory_MemTotal_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"})
    hide: false
    interval: ''
    legendFormat: Real Linux
    range: true
    refId: Real Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(windows_memory_available_bytes{ {{ $clusterLabel }}=~"$cluster"} + windows_memory_cache_bytes{ {{ $clusterLabel }}=~"$cluster"}) / sum(windows_os_visible_memory_bytes{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Real Windows
    range: true
    refId: Real Windows
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_requests{resource="memory", {{ $clusterLabel }}=~"$cluster"}) / sum(machine_memory_bytes{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_limits{resource="memory", {{ $clusterLabel }}=~"$cluster"}) / sum(machine_memory_bytes{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  title: Global RAM Usage
  transformations:
  - id: calculateField
    options:
      alias: Real
      mode: reduceRow
      reduce:
        include:
        - Real Linux
        - Real Windows
        reducer: mean
  - id: organize
    options:
      excludeByName:
        Real Linux: true
        Real Windows: true
        Time: true
      includeByName: {}
      indexByName:
        Limits: 5
        Real: 3
        Real Linux: 1
        Real Windows: 2
        Requests: 4
        Time: 0
      renameByName: {}
  type: bargauge
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      mappings: []
      noValue: '0'
      thresholds:
        mode: absolute
        steps:
        - color: blue
          value: null
    overrides: []
  gridPos:
    h: 4
    w: 2
    x: 12
    'y': 1
  id: 63
  options:
    colorMode: value
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - last
      fields: ''
      values: false
    showPercentChange: false
    text: {}
    textMode: value
    wideLayout: true
  pluginVersion: 11.2.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: count(count by (node) (kube_node_info{ {{ $clusterLabel }}=~"$cluster"}))
    interval: ''
    legendFormat: ''
    range: true
    refId: A
  title: Nodes
  type: stat
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: ''
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 12
    w: 10
    x: 14
    'y': 1
  id: 52
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    exemplar: true
    expr: sum(kube_namespace_labels{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Namespaces
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_pod_container_status_running{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Running Containers
    refId: B
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_pod_status_phase{phase="Running", {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Running Pods
    refId: O
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_service_info{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Services
    refId: C
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_endpoint_info{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Endpoints
    refId: D
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_ingress_info{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Ingresses
    refId: E
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_deployment_labels{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Deployments
    refId: F
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_statefulset_labels{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Statefulsets
    refId: G
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_daemonset_labels{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Daemonsets
    refId: H
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_persistentvolumeclaim_info{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Persistent Volume Claims
    refId: I
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_hpa_labels{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Horizontal Pod Autoscalers
    refId: J
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_configmap_info{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Configmaps
    refId: K
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_secret_info{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Secrets
    refId: L
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_networkpolicy_labels{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: Network Policies
    refId: M
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    exemplar: true
    expr: count(count by (node) (kube_node_info{ {{ $clusterLabel }}=~"$cluster"}))
    hide: false
    interval: ''
    legendFormat: Nodes
    refId: N
  title: Kubernetes Resource Count
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      mappings: []
      noValue: '0'
      thresholds:
        mode: absolute
        steps:
        - color: blue
          value: null
    overrides: []
  gridPos:
    h: 4
    w: 2
    x: 12
    'y': 5
  id: 59
  options:
    colorMode: value
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - last
      fields: ''
      values: false
    showPercentChange: false
    text: {}
    textMode: value
    wideLayout: true
  pluginVersion: 11.2.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: count(kube_namespace_created{ {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: ''
    refId: A
  title: Namespaces
  type: stat
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      mappings: []
      noValue: '0'
      thresholds:
        mode: absolute
        steps:
        - color: rgb(255, 255, 255)
          value: null
      unit: none
    overrides: []
  gridPos:
    h: 4
    w: 6
    x: 0
    'y': 9
  id: 37
  options:
    colorMode: none
    graphMode: none
    justifyMode: center
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ''
      values: false
    showPercentChange: false
    text: {}
    textMode: auto
    wideLayout: true
  pluginVersion: 11.2.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(node_cpu_seconds_total{mode!~"idle|iowait|steal", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval]))
    interval: ''
    legendFormat: Real Linux
    range: true
    refId: Real Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(windows_cpu_time_total{mode!="idle", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval]))
    hide: false
    interval: ''
    legendFormat: Real Windows
    range: true
    refId: Real Windows
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_requests{resource="cpu", {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_limits{resource="cpu", {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(machine_cpu_cores{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Total
    range: true
    refId: Total
  title: CPU Usage
  transformations:
  - id: calculateField
    options:
      alias: Real
      mode: reduceRow
      reduce:
        include:
        - Real Linux
        - Real Windows
        reducer: sum
  - id: organize
    options:
      excludeByName:
        Real Linux: true
        Real Windows: true
        Time: true
        Total Linux: true
        Total Windows: true
      indexByName:
        Limits: 5
        Real: 3
        Real Linux: 1
        Real Windows: 2
        Requests: 4
        Time: 0
        Total: 8
        Total Linux: 6
        Total Windows: 7
      renameByName: {}
  type: stat
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      mappings: []
      noValue: '0'
      thresholds:
        mode: absolute
        steps:
        - color: rgb(255, 255, 255)
          value: null
      unit: bytes
    overrides: []
  gridPos:
    h: 4
    w: 6
    x: 6
    'y': 9
  id: 39
  options:
    colorMode: none
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ''
      values: false
    showPercentChange: false
    text: {}
    textMode: auto
    wideLayout: true
  pluginVersion: 11.2.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(node_memory_MemTotal_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"} - node_memory_MemAvailable_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"})
    interval: ''
    legendFormat: Real Linux
    range: true
    refId: Real Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(windows_os_visible_memory_bytes{ {{ $clusterLabel }}=~"$cluster"} - windows_memory_available_bytes{ {{ $clusterLabel }}=~"$cluster"} - windows_memory_cache_bytes{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    interval: ''
    legendFormat: Real Windows
    range: true
    refId: Real Windows
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_requests{resource="memory", {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_container_resource_limits{resource="memory", {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(machine_memory_bytes{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Total
    range: true
    refId: Total
  title: RAM Usage
  transformations:
  - id: calculateField
    options:
      alias: Real
      mode: reduceRow
      reduce:
        include:
        - Real Linux
        - Real Windows
        reducer: mean
  - id: organize
    options:
      excludeByName:
        Real Linux: true
        Real Windows: true
        Time: true
      includeByName: {}
      indexByName:
        Limits: 5
        Real: 3
        Real Linux: 1
        Real Windows: 2
        Requests: 4
        Time: 0
        Total: 6
      renameByName: {}
  type: stat
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      mappings: []
      noValue: '0'
      thresholds:
        mode: absolute
        steps:
        - color: blue
          value: null
    overrides: []
  gridPos:
    h: 4
    w: 2
    x: 12
    'y': 9
  id: 62
  options:
    colorMode: value
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - last
      fields: ''
      values: false
    showPercentChange: false
    text: {}
    textMode: value
    wideLayout: true
  pluginVersion: 11.2.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: sum(kube_pod_status_phase{phase="Running", {{ $clusterLabel }}=~"$cluster"})
    interval: ''
    legendFormat: ''
    refId: A
  title: Running Pods
  type: stat
- collapsed: false
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  gridPos:
    h: 1
    w: 24
    x: 0
    'y': 13
  id: 71
  panels: []
  title: Resources
  type: row
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: continuous-GrYlRd
        seriesBy: last
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: CPU %
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 10
        gradientMode: scheme
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineStyle:
          fill: solid
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: yellow
          value: 0.5
        - color: red
          value: 0.7
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    'y': 14
  id: 72
  options:
    legend:
      calcs: []
      displayMode: hidden
      placement: right
      showLegend: false
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: avg(sum by (instance, cpu) (rate(node_cpu_seconds_total{mode!~"idle|iowait|steal", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])))
    interval: $resolution
    legendFormat: Linux
    range: true
    refId: Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: 1 - avg(rate(windows_cpu_time_total{ {{ $clusterLabel }}=~"$cluster",mode="idle"}[$__rate_interval]))
    hide: false
    interval: $resolution
    legendFormat: Windows
    range: true
    refId: Windows
  title: Cluster CPU Utilization
  transformations:
  - id: calculateField
    options:
      alias: CPU usage in %
      mode: reduceRow
      reduce:
        reducer: mean
      replaceFields: true
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: continuous-GrYlRd
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: MEMORY
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 10
        gradientMode: scheme
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: '#EAB839'
          value: 0.5
        - color: red
          value: 0.7
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    'y': 14
  id: 55
  options:
    legend:
      calcs:
      - mean
      - lastNotNull
      - max
      - min
      displayMode: hidden
      placement: right
      showLegend: false
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(node_memory_MemTotal_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"} - node_memory_MemAvailable_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"}) / sum(node_memory_MemTotal_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"})
    interval: $resolution
    legendFormat: Linux
    range: true
    refId: Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(windows_os_visible_memory_bytes{ {{ $clusterLabel }}=~"$cluster"} - windows_memory_available_bytes{ {{ $clusterLabel }}=~"$cluster"}) / sum(windows_os_visible_memory_bytes{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    interval: $resolution
    legendFormat: Windows
    range: true
    refId: Windows
  title: Cluster Memory Utilization
  transformations:
  - id: calculateField
    options:
      alias: Memory usage in %
      mode: reduceRow
      reduce:
        reducer: mean
      replaceFields: true
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: CPU CORES
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineStyle:
          fill: solid
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    'y': 22
  id: 46
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 10.4.0
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: |-
      sum(rate(container_cpu_usage_seconds_total{image!="", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (namespace)
      + on (namespace)
      (sum(rate(windows_container_cpu_usage_seconds_total{container_id!="", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval]) * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!="", {{ $clusterLabel }}=~"$cluster"}) OR kube_namespace_created{ {{ $clusterLabel }}=~"$cluster"} * 0) by (namespace))
    format: time_series
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  title: CPU Utilization by namespace
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: ''
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: bytes
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    'y': 22
  id: 50
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: |-
      sum(container_memory_working_set_bytes{image!="", {{ $clusterLabel }}=~"$cluster"}) by (namespace)
      + on (namespace)
      (sum(windows_container_memory_usage_commit_bytes{container_id!="", {{ $clusterLabel }}=~"$cluster"} * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!="", {{ $clusterLabel }}=~"$cluster"}) OR kube_namespace_created{ {{ $clusterLabel }}=~"$cluster"} * 0) by (namespace))
    interval: $resolution
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  title: Memory Utilization by namespace
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: CPU %
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    'y': 30
  id: 54
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: avg(sum by (instance, cpu) (rate(node_cpu_seconds_total{mode!~"idle|iowait|steal", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval]))) by (instance)
    interval: $resolution
    legendFormat: '{{`{{`}} node {{`}}`}}'
    range: true
    refId: Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: avg(sum by (instance,core) (rate(windows_cpu_time_total{mode!="idle", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval]))) by (instance)
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} node {{`}}`}}'
    range: true
    refId: Windows
  title: CPU Utilization by instance
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: MEMORY
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: bytes
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    'y': 30
  id: 73
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(node_memory_MemTotal_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"} - node_memory_MemAvailable_bytes{ {{ $clusterLabel }}=~"$cluster", job="$job"}) by (instance)
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    range: true
    refId: Linux
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(windows_os_visible_memory_bytes{ {{ $clusterLabel }}=~"$cluster"} - windows_memory_available_bytes{ {{ $clusterLabel }}=~"$cluster"}) by (instance)
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    range: true
    refId: Windows
  title: Memory Utilization by instance
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: No data is generally a good thing here.
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: SECONDS
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineStyle:
          fill: solid
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: s
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    'y': 38
  id: 82
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(container_cpu_cfs_throttled_seconds_total{image!="", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (namespace) > 0
    interval: $resolution
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  title: CPU Throttled seconds by namespace
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: No data is generally a good thing here.
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: NB
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineStyle:
          fill: solid
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    'y': 38
  id: 83
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(node_cpu_core_throttles_total{ {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (instance)
    interval: $resolution
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    range: true
    refId: A
  title: CPU Core Throttled by instance
  type: timeseries
- collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    'y': 46
  id: 86
  panels: []
  title: Kubernetes
  type: row
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: ''
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 9
    w: 12
    x: 0
    'y': 47
  id: 84
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(kube_pod_status_qos_class{ {{ $clusterLabel }}=~"$cluster"}) by (qos_class)
    interval: ''
    legendFormat: '{{`{{`}} qos_class {{`}}`}} pods'
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: sum(kube_pod_info{ {{ $clusterLabel }}=~"$cluster"})
    hide: false
    legendFormat: Total pods
    range: true
    refId: B
  title: Kubernetes Pods QoS classes
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: ''
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 9
    w: 12
    x: 12
    'y': 47
  id: 85
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(kube_pod_status_reason{ {{ $clusterLabel }}=~"$cluster"}) by (reason)
    interval: ''
    legendFormat: '{{`{{`}} reason {{`}}`}}'
    range: true
    refId: A
  title: Kubernetes Pods Status Reason
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: No data is generally a good thing here.
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: ''
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: points
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 9
    w: 12
    x: 0
    'y': 56
  id: 87
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(increase(container_oom_events_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (namespace) > 0
    interval: ''
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  title: OOM Events by namespace
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: No data is generally a good thing here.
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: ''
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: points
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 9
    w: 12
    x: 12
    'y': 56
  id: 88
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(increase(kube_pod_container_status_restarts_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (namespace) > 0
    interval: ''
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  title: Container Restarts by namespace
  type: timeseries
- collapsed: false
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  gridPos:
    h: 1
    w: 24
    x: 0
    'y': 65
  id: 69
  panels: []
  title: Network
  type: row
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Dropped noisy virtual devices for readability.
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: BANDWIDTH
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: binBps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    'y': 66
  id: 44
  options:
    legend:
      calcs: []
      displayMode: hidden
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(node_network_receive_bytes_total{device!~"(veth|azv|lxc).*", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (device)
    interval: $resolution
    legendFormat: 'Received : {{`{{`}} device {{`}}`}}'
    range: true
    refId: Linux Received
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: '- sum(rate(node_network_transmit_bytes_total{device!~"(veth|azv|lxc).*", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (device)'
    interval: $resolution
    legendFormat: 'Transmitted : {{`{{`}} device {{`}}`}}'
    range: true
    refId: Linux Transmitted
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(windows_net_bytes_received_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (nic)
    hide: false
    interval: $resolution
    legendFormat: 'Received : {{`{{`}} nic {{`}}`}}'
    range: true
    refId: Windows Received
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: '- sum(rate(windows_net_bytes_sent_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (nic)'
    hide: false
    interval: $resolution
    legendFormat: 'Transmitted : {{`{{`}} device {{`}}`}}'
    range: true
    refId: Windows Transmitted
  title: Global Network Utilization by device
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: DROPPED PACKETS
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    'y': 66
  id: 53
  options:
    legend:
      calcs: []
      displayMode: hidden
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(node_network_receive_drop_total{ {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval]))
    interval: $resolution
    legendFormat: Linux Packets dropped (receive)
    range: true
    refId: Linux Packets dropped (receive)
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: '- sum(rate(node_network_transmit_drop_total{ {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval]))'
    interval: $resolution
    legendFormat: Linux Packets dropped (transmit)
    range: true
    refId: Linux Packets dropped (transmit)
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(windows_net_packets_received_discarded_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval]))
    hide: false
    interval: $resolution
    legendFormat: Windows Packets dropped (receive)
    range: true
    refId: Windows Packets dropped (receive)
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: '- sum(rate(windows_net_packets_outbound_discarded_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval]))'
    hide: false
    interval: $resolution
    legendFormat: Windows Packets dropped (transmit)
    range: true
    refId: Windows Packets dropped (transmit)
  title: Network Saturation - Packets dropped
  transformations:
  - id: calculateField
    options:
      alias: Packets dropped (receive)
      mode: reduceRow
      reduce:
        include:
        - Linux Packets dropped (receive)
        - Windows Packets dropped (receive)
        reducer: mean
  - id: calculateField
    options:
      alias: Packets dropped (transmit)
      mode: reduceRow
      reduce:
        include:
        - Linux Packets dropped (transmit)
        - Windows Packets dropped (transmit)
        reducer: mean
  - id: organize
    options:
      excludeByName:
        Linux Packets dropped (receive): true
        Linux Packets dropped (transmit): true
        Time: false
        Windows Packets dropped (receive): true
        Windows Packets dropped (transmit): true
      includeByName: {}
      indexByName: {}
      renameByName: {}
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: BANDWIDTH
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: binBps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    'y': 74
  id: 79
  options:
    legend:
      calcs: []
      displayMode: hidden
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: |-
      sum(rate(container_network_receive_bytes_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (namespace)
      + on (namespace)
      (sum(rate(windows_container_network_receive_bytes_total{container_id!="", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval]) * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!="", {{ $clusterLabel }}=~"$cluster"}) OR kube_namespace_created{ {{ $clusterLabel }}=~"$cluster"} * 0) by (namespace))
    interval: $resolution
    legendFormat: 'Received : {{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: |-
      - (sum(rate(container_network_transmit_bytes_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (namespace)
      + on (namespace)
      (sum(rate(windows_container_network_transmit_bytes_total{container_id!="", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval]) * on (container_id) group_left (container, pod, namespace) max by ( container, container_id, pod, namespace) (kube_pod_container_info{container_id!="", {{ $clusterLabel }}=~"$cluster"}) OR kube_namespace_created{ {{ $clusterLabel }}=~"$cluster"} * 0) by (namespace)))
    hide: false
    interval: $resolution
    legendFormat: 'Transmitted : {{`{{`}} namespace {{`}}`}}'
    range: true
    refId: B
  title: Network Received by namespace
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: BANDWIDTH
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: binBps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    'y': 74
  id: 80
  options:
    legend:
      calcs: []
      displayMode: hidden
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(node_network_receive_bytes_total{ {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (instance)
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: Linux Received bytes
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: '- sum(rate(node_network_transmit_bytes_total{ {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (instance)'
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: Linux Transmitted bytes
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(windows_net_bytes_received_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (instance)
    hide: false
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: Windows Received bytes
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: '- sum(rate(windows_net_bytes_sent_total{ {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (instance)'
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: Windows Transmitted bytes
  title: Total Network Received (with all virtual devices) by instance
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Dropped noisy virtual devices for readability.
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: BANDWIDTH
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: binBps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    'y': 82
  id: 56
  options:
    legend:
      calcs: []
      displayMode: hidden
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(node_network_receive_bytes_total{device!~"(veth|azv|lxc|lo).*", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (instance)
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: '- sum(rate(node_network_transmit_bytes_total{device!~"(veth|azv|lxc|lo).*", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (instance)'
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: B
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(windows_net_bytes_received_total{nic!~".*Virtual.*", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (instance)
    hide: false
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: C
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: '- sum(rate(windows_net_bytes_sent_total{nic!~".*Virtual.*", {{ $clusterLabel }}=~"$cluster"}[$__rate_interval])) by (instance)'
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: D
  title: Network Received (without loopback)  by instance
  type: timeseries
- datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Dropped noisy virtual devices for readability.
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: BANDWIDTH
        axisPlacement: auto
        barAlignment: 0
        barWidthFactor: 0.6
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: 'off'
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: binBps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    'y': 82
  id: 81
  options:
    legend:
      calcs: []
      displayMode: hidden
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    exemplar: true
    expr: sum(rate(node_network_receive_bytes_total{device="lo", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (instance)
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    editorMode: code
    expr: '- sum(rate(node_network_transmit_bytes_total{device="lo", {{ $clusterLabel }}=~"$cluster", job="$job"}[$__rate_interval])) by (instance)'
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: B
  title: Network Received (loopback only) by instance
  type: timeseries
refresh: 30s
schemaVersion: 39
tags:
- Kubernetes
- Prometheus
- vm-k8s-stack
templating:
  list:
  - current:
      selected: false
      text: ''
      value: ''
    hide: 0
    includeAll: false
    multi: false
    name: datasource
    options: []
    query: {{ $defaultDatasource }}
    queryValue: ''
    refresh: 1
    regex: ''
    skipUrlSync: false
    type: datasource
  - current: {}
    datasource:
      type: prometheus
      uid: ${datasource}
    definition: label_values(kube_node_info,{{ $clusterLabel }})
    hide: {{ ternary 0 2 $multicluster }}
    includeAll: false
    multi: false
    name: cluster
    options: []
    query: {{ ternary (b64dec "eyJxcnlUeXBlIjogMSwgInF1ZXJ5IjogImxhYmVsX3ZhbHVlcyhrdWJlX25vZGVfaW5mbyxjbHVzdGVyKSIsICJyZWZJZCI6ICJQcm9tZXRoZXVzVmFyaWFibGVRdWVyeUVkaXRvci1WYXJpYWJsZVF1ZXJ5In0=" | replace "cluster" $clusterLabel) ".*" $multicluster }}
    refresh: 1
    regex: ''
    skipUrlSync: false
    sort: 1
    type: {{ ternary "query" "constant" $multicluster }}
  - current:
      selected: false
      text: 30s
      value: 30s
    hide: 0
    includeAll: false
    multi: false
    name: resolution
    options:
    - selected: false
      text: 1s
      value: 1s
    - selected: false
      text: 15s
      value: 15s
    - selected: true
      text: 30s
      value: 30s
    - selected: false
      text: 1m
      value: 1m
    - selected: false
      text: 3m
      value: 3m
    - selected: false
      text: 5m
      value: 5m
    query: 1s, 15s, 30s, 1m, 3m, 5m
    queryValue: ''
    skipUrlSync: false
    type: custom
  - current:
      selected: false
      text: ''
      value: ''
    datasource:
      type: prometheus
      uid: ${datasource}
    definition: label_values(node_cpu_seconds_total{ {{ $clusterLabel }}=~"$cluster"},job)
    hide: 0
    includeAll: false
    multi: true
    name: job
    options: []
    query:
      qryType: 1
      query: label_values(node_cpu_seconds_total{ {{ $clusterLabel }}=~"$cluster"},job)
      refId: PrometheusVariableQueryEditor-VariableQuery
    refresh: 1
    regex: ''
    skipUrlSync: false
    sort: 1
    type: query
time:
  from: now-1h
  to: now
timepicker: {}
timezone: {{ default "utc" ($Values.defaultDashboards).defaultTimezone }}
title: Kubernetes / Views / Global
uid: k8s_views_global
version: 43
weekStart: ''
