
{{- $Values := (.helm).Values | default .Values }}
{{- $multicluster := ((($Values.grafana).sidecar).dashboards).multicluster | default false }}
{{- $defaultDatasource := "prometheus" -}}
{{- $clusterLabel := ($Values.global).clusterLabel | default "cluster" }}
{{- range (($Values.defaultDatasources).victoriametrics).datasources | default list }}
  {{- if and .isDefault .type }}{{ $defaultDatasource = .type }}{{- end }}
{{- end }}
title: Kubernetes / Views / Global
templating:
  list:
  - name: datasource
    type: datasource
    query: {{ $defaultDatasource }}
    hide: 0
    current:
      selected: false
      text: ""
      value: ""
    options: []
    queryValue: ""
    refresh: 1
    regex: ""
    skipUrlSync: false
  - name: cluster
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: {{ ternary "query" "constant" $multicluster }}
    query: {{ ternary (printf "{\"qryType\":1,\"query\":\"label_values(kube_node_info, %s)\",\"refId\":\"PrometheusVariableQueryEditor-VariableQuery\"}" $clusterLabel) ".*" $multicluster }}
    definition: {{ ternary (printf "label_values(kube_node_info, %s)" $clusterLabel) ".*" $multicluster }}
    hide: {{ ternary 0 2 $multicluster }}
    current: {}
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 1
  - name: resolution
    type: custom
    query: 1s, 15s, 30s, 1m, 3m, 5m
    hide: 0
    current:
      selected: false
      text: 30s
      value: 30s
    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
    queryValue: ""
    skipUrlSync: false
  - name: job
    multi: true
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      qryType: 1
      query: {{ printf "label_values(node_cpu_seconds_total{%s=~\"$cluster\"}, job)" $clusterLabel }}
      refId: PrometheusVariableQueryEditor-VariableQuery
    definition: {{ printf "label_values(node_cpu_seconds_total{%s=~\"$cluster\"}, job)" $clusterLabel }}
    hide: 0
    current:
      selected: false
      text: ""
      value: ""
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 1
editable: false
timezone: {{ default "utc" ($Values.defaultDashboards).defaultTimezone }}
tags:
- Kubernetes
- Prometheus
- vm-k8s-stack
annotations:
  list:
  - name: Annotations & Alerts
    datasource:
      type: datasource
      uid: grafana
    builtIn: 1
    enable: true
    hide: true
    iconColor: rgba(0, 211, 255, 1)
    target:
      limit: 100
      matchAny: false
      tags: []
      type: dashboard
    type: dashboard
  - name: terraform
    datasource:
      type: datasource
      uid: grafana
    enable: true
    hide: false
    iconColor: '#5c4ee5'
    target:
      limit: 100
      matchAny: false
      tags:
      - terraform
      type: tags
  - name: oncall
    datasource:
      type: datasource
      uid: grafana
    enable: true
    hide: false
    iconColor: red
    target:
      limit: 100
      matchAny: false
      tags:
      - oncall
      type: tags
panels:
- title: Overview
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 0
  id: 67
  type: row
- title: Global CPU  Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "avg(sum(rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,cpu,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: Real
    range: true
    refId: Real
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_requests{resource=\"cpu\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s) / sum(machine_cpu_cores{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_limits{resource=\"cpu\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s) / sum(machine_cpu_cores{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  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
  type: bargauge
- title: Global RAM Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_memory_MemTotal_bytes{%s=~\"$cluster\",job=\"$job\"} - node_memory_MemAvailable_bytes{%s=~\"$cluster\",job=\"$job\"}) by(%s) / sum(node_memory_MemTotal_bytes{%s=~\"$cluster\",job=\"$job\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: ""
    legendFormat: Real
    range: true
    refId: Real
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_requests{resource=\"memory\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s) / sum(machine_memory_bytes{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_limits{resource=\"memory\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s) / sum(machine_memory_bytes{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  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
  type: bargauge
- title: Nodes
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "count(count(kube_node_info{%s=~\"$cluster\"}) by(node,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: ""
    range: true
    refId: A
  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
  type: stat
- title: Kubernetes Resource Count
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_namespace_labels{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: ""
    legendFormat: Namespaces
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_status_running{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Running Containers
    refId: B
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Running Pods
    refId: O
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_service_info{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Services
    refId: C
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_endpoint_info{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Endpoints
    refId: D
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_ingress_info{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Ingresses
    refId: E
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_deployment_labels{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Deployments
    refId: F
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_statefulset_labels{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Statefulsets
    refId: G
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_daemonset_labels{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Daemonsets
    refId: H
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_persistentvolumeclaim_info{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Persistent Volume Claims
    refId: I
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_hpa_labels{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Horizontal Pod Autoscalers
    refId: J
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_configmap_info{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Configmaps
    refId: K
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_secret_info{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Secrets
    refId: L
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_networkpolicy_labels{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: Network Policies
    refId: M
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "count(count(kube_node_info{%s=~\"$cluster\"}) by(node,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    exemplar: true
    hide: false
    interval: ""
    legendFormat: Nodes
    refId: "N"
  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
  type: timeseries
- title: Namespaces
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "count(kube_namespace_created{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: ""
    refId: A
  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
  type: stat
- title: CPU Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: Real
    range: true
    refId: Real
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_requests{resource=\"cpu\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_limits{resource=\"cpu\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(machine_cpu_cores{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Total
    range: true
    refId: Total
  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
  type: stat
- title: RAM Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_memory_MemTotal_bytes{%s=~\"$cluster\",job=\"$job\"} - node_memory_MemAvailable_bytes{%s=~\"$cluster\",job=\"$job\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: Real
    range: true
    refId: Real
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_requests{resource=\"memory\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Requests
    range: true
    refId: Requests
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_limits{resource=\"memory\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Limits
    range: true
    refId: Limits
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(machine_memory_bytes{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Total
    range: true
    refId: Total
  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
  type: stat
- title: Running Pods
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_status_phase{phase=\"Running\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    interval: ""
    legendFormat: ""
    refId: A
  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
  type: stat
- title: Resources
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 13
  id: 71
  type: row
- title: Cluster CPU Utilization
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "avg(sum(rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,cpu,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: CPU usage in %
    range: true
    refId: A
  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
  transformations:
  - id: calculateField
    options:
      alias: CPU usage in %
      mode: reduceRow
      reduce:
        reducer: mean
      replaceFields: true
  type: timeseries
- title: Cluster Memory Utilization
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_memory_MemTotal_bytes{%s=~\"$cluster\",job=\"$job\"} - node_memory_MemAvailable_bytes{%s=~\"$cluster\",job=\"$job\"}) by(%s) / sum(node_memory_MemTotal_bytes{%s=~\"$cluster\",job=\"$job\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Memory usage in %
    range: true
    refId: A
  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
  transformations:
  - id: calculateField
    options:
      alias: Memory usage in %
      mode: reduceRow
      reduce:
        reducer: mean
      replaceFields: true
  type: timeseries
- title: CPU Utilization by namespace
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{image!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(namespace,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    format: time_series
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: Memory Utilization by namespace
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{image!=\"\",%s=~\"$cluster\"}) by(namespace,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: CPU Utilization by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "avg(sum(rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,cpu,%s)) by(instance,%s)" $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} node {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: Memory Utilization by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_memory_MemTotal_bytes{%s=~\"$cluster\",job=\"$job\"} - node_memory_MemAvailable_bytes{%s=~\"$cluster\",job=\"$job\"}) by(instance,%s)" $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: CPU Throttled seconds by namespace
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_cfs_throttled_seconds_total{image!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(namespace,%s) > 0" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: CPU Core Throttled by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_cpu_core_throttles_total{%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: Kubernetes
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 46
  id: 86
  type: row
- title: Kubernetes Pods QoS classes
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_status_qos_class{%s=~\"$cluster\"}) by(qos_class,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} qos_class {{`}}`}} pods'
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_info{%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: Total pods
    range: true
    refId: B
  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
  type: timeseries
- title: Kubernetes Pods Status Reason
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_status_reason{%s=~\"$cluster\"}) by(reason,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} reason {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: OOM Events by namespace
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(increase(container_oom_events_total{%s=~\"$cluster\"}[$__rate_interval])) by(namespace,%s) > 0" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: Container Restarts by namespace
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(increase(kube_pod_container_status_restarts_total{%s=~\"$cluster\"}[$__rate_interval])) by(namespace,%s) > 0" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  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
  type: timeseries
- title: Network
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 65
  id: 69
  type: row
- title: Global Network Utilization by device
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_bytes_total{device!~\"(veth|azv|lxc).*\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(device,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: 'Received : {{`{{`}} device {{`}}`}}'
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_bytes_total{device!~\"(veth|azv|lxc).*\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(device,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: 'Transmitted : {{`{{`}} device {{`}}`}}'
    range: true
    refId: B
  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
  type: timeseries
- title: Network Saturation - Packets dropped
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_drop_total{%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Packets dropped (receive)
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_drop_total{%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Packets dropped (transmit)
    range: true
    refId: B
  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
  transformations: []
  type: timeseries
- title: Network Received by namespace
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_network_receive_bytes_total{%s=~\"$cluster\"}[$__rate_interval])) by(namespace,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: 'Received : {{`{{`}} namespace {{`}}`}}'
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(container_network_transmit_bytes_total{%s=~\"$cluster\"}[$__rate_interval])) by(namespace,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    interval: $resolution
    legendFormat: 'Transmitted : {{`{{`}} namespace {{`}}`}}'
    range: true
    refId: B
  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
  type: timeseries
- title: Total Network Received (with all virtual devices) by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_bytes_total{%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_bytes_total{%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: B
  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
  type: timeseries
- title: Network Received (without loopback)  by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_bytes_total{device!~\"(veth|azv|lxc|lo).*\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_bytes_total{device!~\"(veth|azv|lxc|lo).*\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: B
  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
  type: timeseries
- title: Network Received (loopback only) by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_bytes_total{device=\"lo\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Received bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_bytes_total{device=\"lo\",%s=~\"$cluster\",job=\"$job\"}[$__rate_interval])) by(instance,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    interval: $resolution
    legendFormat: Transmitted bytes in {{`{{`}} instance {{`}}`}}
    range: true
    refId: B
  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
  type: timeseries
__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: ""
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'
fiscalYearStartMonth: 0
graphTooltip: 1
links: []
liveNow: false
refresh: 30s
schemaVersion: 39
time:
  from: now-1h
  to: now
timepicker: {}
uid: k8s_views_global
version: 45
weekStart: ""
