
{{- $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 / Nodes
templating:
  list:
  - name: datasource
    type: datasource
    query: {{ $defaultDatasource }}
    hide: 0
    current: {}
    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: node
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      query: {{ printf "label_values(kube_node_info{%s=~\"$cluster\"}, node)" $clusterLabel }}
      refId: StandardVariableQuery
    definition: {{ printf "label_values(kube_node_info{%s=~\"$cluster\"}, node)" $clusterLabel }}
    hide: 0
    current: {}
    options: []
    refresh: 2
    regex: ""
    skipUrlSync: false
    sort: 1
  - name: instance
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      query: {{ printf "label_values(node_uname_info{nodename=~\"(?i:($node)(\\\\.[a-z0-9.-]+)?)\",%s=~\"$cluster\"}, instance)" $clusterLabel }}
      refId: StandardVariableQuery
    definition: {{ printf "label_values(node_uname_info{nodename=~\"(?i:($node)(\\\\.[a-z0-9.-]+)?)\",%s=~\"$cluster\"}, instance)" $clusterLabel }}
    hide: 2
    current: {}
    options: []
    refresh: 2
    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: 40
  type: row
- title: CPU  Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "avg(sum(rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\",instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(cpu,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    exemplar: false
    instant: true
    interval: $resolution
    legendFormat: ""
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      decimals: 2
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: green
          value: null
        - color: orange
          value: 50
        - color: red
          value: 70
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 4
    x: 0
    "y": 1
  id: 7
  options:
    minVizHeight: 75
    minVizWidth: 75
    orientation: auto
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ""
      values: false
    showThresholdLabels: false
    showThresholdMarkers: true
    sizing: auto
    text: {}
  pluginVersion: 11.2.0
  type: gauge
- title: RAM Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_memory_MemTotal_bytes{instance=\"$instance\",%s=~\"$cluster\"} - node_memory_MemAvailable_bytes{instance=\"$instance\",%s=~\"$cluster\"}) by(%s) / sum(node_memory_MemTotal_bytes{instance=\"$instance\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    exemplar: false
    instant: true
    interval: $resolution
    legendFormat: ""
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      decimals: 2
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: green
          value: null
        - color: orange
          value: 50
        - color: red
          value: 70
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 4
    x: 4
    "y": 1
  id: 13
  options:
    minVizHeight: 75
    minVizWidth: 75
    orientation: auto
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ""
      values: false
    showThresholdLabels: false
    showThresholdMarkers: true
    sizing: auto
    text: {}
  pluginVersion: 11.2.0
  type: gauge
- title: Pods on node
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_info{node=\"$node\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    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: 8
    w: 4
    x: 8
    "y": 1
  id: 24
  options:
    colorMode: value
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ""
      values: false
    showPercentChange: false
    text: {}
    textMode: value
    wideLayout: true
  pluginVersion: 11.2.0
  type: stat
- title: List of pods on node ($node)
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_info{node=\"$node\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    format: table
    interval: ""
    legendFormat: ""
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: thresholds
      custom:
        align: auto
        cellOptions:
          type: auto
        inspect: false
      links:
      - targetBlank: true
        title: Pod details
        url: /d/k8s_views_pods/kubernetes-views-pods?${datasource:queryparam}&var-namespace=${__data.fields.namespace}&${cluster:queryparam}&var-pod=${__data.fields.pod}&${resolution:queryparam}&${__url_time_range}
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
    overrides:
    - matcher:
        id: byName
        options: pod
      properties:
      - id: custom.width
        value: 416
    - matcher:
        id: byName
        options: priority_class
      properties:
      - id: custom.width
        value: 176
    - matcher:
        id: byName
        options: pod_ip
      properties:
      - id: custom.width
        value: 157
    - matcher:
        id: byName
        options: created_by_kind
      properties:
      - id: custom.width
        value: 205
    - matcher:
        id: byName
        options: namespace
      properties:
      - id: custom.width
        value: 263
  gridPos:
    h: 11
    w: 12
    x: 12
    "y": 1
  id: 5
  options:
    cellHeight: sm
    footer:
      countRows: false
      fields: ""
      reducer:
      - sum
      show: false
    showHeader: true
    sortBy: []
  pluginVersion: 11.2.0
  transformations:
  - id: organize
    options:
      excludeByName:
        __name__: true
        Time: true
        Value: true
        container: true
        created_by_kind: false
        created_by_name: true
        endpoint: true
        env: true
        host_ip: true
        host_network: true
        instance: true
        job: true
        node: true
        project: true
        prometheus_replica: true
        service: true
        uid: true
      indexByName:
        __name__: 7
        Time: 6
        Value: 20
        container: 8
        created_by_kind: 2
        created_by_name: 9
        endpoint: 10
        env: 11
        host_ip: 5
        host_network: 12
        instance: 13
        job: 14
        namespace: 1
        node: 15
        pod: 0
        pod_ip: 3
        priority_class: 4
        project: 16
        prometheus_replica: 17
        service: 18
        uid: 19
      renameByName: {}
  - id: groupBy
    options:
      fields:
        created_by_kind:
          aggregations: []
          operation: groupby
        host_ip:
          aggregations: []
          operation: groupby
        namespace:
          aggregations:
          - last
          operation: groupby
        pod:
          aggregations: []
          operation: groupby
        pod_ip:
          aggregations: []
          operation: groupby
        priority_class:
          aggregations: []
          operation: groupby
  type: table
- title: CPU Used
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_cpu_seconds_total{mode!~\"idle|iowait|steal\",instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: false
    instant: true
    interval: $resolution
    legendFormat: ""
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      decimals: 3
      mappings: []
      noValue: "0"
      thresholds:
        mode: absolute
        steps:
        - color: rgb(255, 255, 255)
          value: null
      unit: none
    overrides: []
  gridPos:
    h: 3
    w: 2
    x: 0
    "y": 9
  id: 9
  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: CPU Total
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(machine_cpu_cores{node=\"$node\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: ""
    refId: A
  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: 3
    w: 2
    x: 2
    "y": 9
  id: 11
  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: RAM Used
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_memory_MemTotal_bytes{instance=\"$instance\",%s=~\"$cluster\"} - node_memory_MemAvailable_bytes{instance=\"$instance\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    exemplar: false
    instant: true
    interval: ""
    legendFormat: ""
    refId: A
  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: 3
    w: 2
    x: 4
    "y": 9
  id: 15
  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: RAM Total
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(machine_memory_bytes{node=\"$node\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    instant: false
    interval: ""
    legendFormat: ""
    refId: A
  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: 3
    w: 2
    x: 6
    "y": 9
  id: 17
  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: uptime
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_time_seconds{instance=\"$instance\",%s=~\"$cluster\"} - node_boot_time_seconds{instance=\"$instance\",%s=~\"$cluster\"}) by(%s)" $clusterLabel $clusterLabel $clusterLabel }}
    exemplar: true
    instant: false
    interval: ""
    legendFormat: ""
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      mappings: []
      noValue: "0"
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: '#EAB839'
          value: 2.52288e+07
        - color: red
          value: 3.1536e+07
      unit: s
    overrides: []
  gridPos:
    h: 3
    w: 4
    x: 8
    "y": 9
  id: 18
  options:
    colorMode: value
    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: Resources
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 12
  id: 38
  type: row
- title: CPU Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "avg(rate(node_cpu_seconds_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval]) * 100) by(mode,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    hide: false
    instant: false
    interval: $resolution
    legendFormat: '{{`{{`}} mode {{`}}`}}'
    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
        lineStyle:
          fill: solid
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      max: 100
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: percent
    overrides: []
  gridPos:
    h: 9
    w: 12
    x: 0
    "y": 13
  id: 2
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: none
  type: timeseries
- title: Memory Usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "(node_memory_MemTotal_bytes{instance=\"$instance\",%s=~\"$cluster\"} - node_memory_MemFree_bytes{instance=\"$instance\",%s=~\"$cluster\"}) - (node_memory_Cached_bytes{instance=\"$instance\",%s=~\"$cluster\"} + node_memory_Buffers_bytes{instance=\"$instance\",%s=~\"$cluster\"})" $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    exemplar: true
    instant: false
    interval: $resolution
    legendFormat: RAM Used
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_memory_MemTotal_bytes{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: RAM Total
    refId: B
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_memory_Cached_bytes{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: RAM Cache
    refId: C
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_memory_Buffers_bytes{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: RAM Buffer
    refId: D
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_memory_MemFree_bytes{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: RAM Free
    refId: E
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_memory_SwapTotal_bytes{instance=\"$instance\",%s=~\"$cluster\"} - node_memory_SwapFree_bytes{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: SWAP Used
    refId: F
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_memory_SwapTotal_bytes{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: SWAP Total
    refId: G
  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
        lineStyle:
          fill: solid
        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: 9
    w: 12
    x: 12
    "y": 13
  id: 3
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  type: timeseries
- title: CPU usage by Pod
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{node=\"$node\",image!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(pod,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} pod {{`}}`}}'
    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
        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: 0
    "y": 22
  id: 26
  options:
    legend:
      calcs: []
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: Memory usage by Pod
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{node=\"$node\",image!=\"\",%s=~\"$cluster\"}) by(pod,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} pod {{`}}`}}'
    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: 28
  options:
    legend:
      calcs: []
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: Number of CPU Core Throttled
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_cpu_core_throttles_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Nb of cpu core throttles
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Number of times a CPU core has been throttled on an instance.
  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": 30
  id: 66
  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: System
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 38
  id: 44
  type: row
- title: System Load
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_load1{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: 1m
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_load5{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: 5m
    range: true
    refId: B
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_load15{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: 15m
    range: true
    refId: C
  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
        lineStyle:
          fill: solid
        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
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 39
  id: 48
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  type: timeseries
- title: Context Switches & Interrupts
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(node_context_switches_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    intervalFactor: 1
    legendFormat: Context switches
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(node_intr_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: Interrupts
    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
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 39
  id: 46
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  type: timeseries
- title: File Descriptors
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_filefd_maximum{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    instant: false
    interval: $resolution
    legendFormat: Maximum file descriptors
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_filefd_allocated{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    instant: false
    interval: $resolution
    legendFormat: Allocated file descriptors
    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
        lineStyle:
          fill: solid
        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
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 47
  id: 49
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: none
  type: timeseries
- title: Time Sync
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_timex_estimated_error_seconds{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    instant: false
    interval: $resolution
    intervalFactor: 1
    legendFormat: Estimated error in seconds
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_timex_maxerror_seconds{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    intervalFactor: 1
    legendFormat: Maximum error in seconds
    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
        lineStyle:
          fill: solid
        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: s
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 47
  id: 50
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  type: timeseries
- title: Network
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 55
  id: 36
  type: row
- title: Network usage (bytes/s)
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_bytes_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: In
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_bytes_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Out
    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: linear
        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": 56
  id: 20
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: Network errors
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_errs_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: In
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_errs_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Out
    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: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 56
  id: 61
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: Network usage (packet/s)
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_packets_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: In
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_packets_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: Out
    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: pps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 64
  id: 62
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: Network total drops
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(node_network_receive_drop_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: In
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(node_network_transmit_drop_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: Out
    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: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 64
  id: 64
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: TCP Currently Established
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_netstat_Tcp_CurrEstab{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    instant: false
    interval: $resolution
    legendFormat: TCP Currently Established
    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: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 72
  id: 60
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: NF Conntrack
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_nf_conntrack_entries{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    instant: false
    interval: $resolution
    legendFormat: NF Conntrack entries
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "node_nf_conntrack_entries_limit{instance=\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: NF Conntrack limit
    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: none
    overrides:
    - matcher:
        id: byName
        options: NF Conntrack limit
      properties:
      - id: color
        value:
          fixedColor: red
          mode: fixed
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 72
  id: 63
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: Kubernetes Storage
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 80
  id: 54
  type: row
- title: Persistent Volumes - Usage in %
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "max(kubelet_volume_stats_used_bytes{node=\"$node\",%s=~\"$cluster\"}) by(persistentvolumeclaim,namespace,%s) / max(kubelet_volume_stats_capacity_bytes{node=\"$node\",%s=~\"$cluster\"}) by(persistentvolumeclaim,namespace,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} namespace {{`}}`}} - {{`{{`}} persistentvolumeclaim {{`}}`}}'
    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"
      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": 81
  id: 30
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: Persistent Volumes - Usage in GB
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "max(kubelet_volume_stats_used_bytes{node=\"$node\",%s=~\"$cluster\"}) by(persistentvolumeclaim,namespace,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    format: table
    hide: false
    interval: ""
    legendFormat: ""
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "max(kubelet_volume_stats_capacity_bytes{node=\"$node\",%s=~\"$cluster\"}) by(persistentvolumeclaim,namespace,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    format: table
    hide: false
    interval: ""
    legendFormat: ""
    refId: B
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: continuous-GrYlRd
      custom:
        align: auto
        cellOptions:
          type: auto
        filterable: false
        inspect: false
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: bytes
    overrides:
    - matcher:
        id: byName
        options: Used
      properties:
      - id: custom.width
        value: 146
    - matcher:
        id: byName
        options: Total
      properties:
      - id: custom.width
        value: 167
  gridPos:
    h: 16
    w: 12
    x: 12
    "y": 81
  id: 34
  options:
    cellHeight: sm
    footer:
      countRows: false
      fields: ""
      reducer:
      - sum
      show: false
    showHeader: true
    sortBy: []
  pluginVersion: 11.2.0
  transformations:
  - id: groupBy
    options:
      fields:
        Value:
          aggregations:
          - lastNotNull
          operation: aggregate
        'Value #A':
          aggregations:
          - lastNotNull
          operation: aggregate
        'Value #B':
          aggregations:
          - lastNotNull
          operation: aggregate
        persistentvolumeclaim:
          aggregations: []
          operation: groupby
  - id: seriesToColumns
    options:
      byField: persistentvolumeclaim
  - id: organize
    options:
      excludeByName: {}
      indexByName: {}
      renameByName:
        'Value #A (lastNotNull)': Used
        'Value #B (lastNotNull)': Total
        persistentvolumeclaim: Persistent Volume Claim
  type: table
- title: Persistent Volumes - Inodes
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "(sum(kubelet_volume_stats_inodes_used{node=\"$node\",%s=~\"$cluster\"}) by(persistentvolumeclaim,%s) / sum(kubelet_volume_stats_inodes{node=\"$node\",%s=~\"$cluster\"}) by(persistentvolumeclaim,%s)) * 100" $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} persistentvolumeclaim {{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: percent
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 89
  id: 32
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: Node Storage
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 97
  id: 42
  type: row
- title: FS usage in %
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "100 - ((node_filesystem_avail_bytes{instance=\"$instance\",%s=~\"$cluster\"} * 100) / node_filesystem_size_bytes{instance=\"$instance\",%s=~\"$cluster\"})" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} mountpoint {{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: percent
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 98
  id: 33
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: FS inode usage in %
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "100 - ((node_filesystem_files_free{instance=\"$instance\",%s=~\"$cluster\"} / node_filesystem_files{instance=\"$instance\",%s=~\"$cluster\"}) * 100)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}} mountpoint {{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: percent
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 98
  id: 59
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: Reads by disk (bytes)
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(node_disk_read_bytes_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}}device{{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: bytes
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 106
  id: 52
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: Writes by disk (bytes)
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(node_disk_written_bytes_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}}device{{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: bytes
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 106
  id: 57
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: Completed reads by disk
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(node_disk_reads_completed_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}}device{{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: read/s
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 114
  id: 51
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: Completed writes by disk
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(node_disk_writes_completed_total{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    editorMode: code
    exemplar: true
    hide: false
    interval: $resolution
    legendFormat: '{{`{{`}}device{{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: write/s
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 114
  id: 56
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: Disk(s) io/s
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(node_disk_io_now{instance=\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}}device{{`}}`}}'
    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"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: io/s
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 122
  id: 58
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      showLegend: false
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: FS - Device Errors
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(node_filesystem_device_error{instance=\"$instance\",%s=~\"$cluster\"}) by(mountpoint,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} mountpoint {{`}}`}}'
    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"
      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": 122
  id: 55
  options:
    legend:
      calcs: []
      displayMode: list
      placement: right
      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: gauge
  name: 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: table
  name: Table
  type: panel
  version: ""
- id: timeseries
  name: Time series
  type: panel
  version: ""
condition: {{ ($Values.kubelet).enabled }}
description: 'This is a modern ''Nodes 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_nodes
version: 40
weekStart: ""
