
{{- $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 / Pods
templating:
  list:
  - name: datasource
    type: datasource
    query: {{ $defaultDatasource }}
    current:
      selected: false
      text: ""
      value: ""
    options: []
    refresh: 1
    regex: ""
  - 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:
      text: ""
      value: ""
    options: []
    refresh: 1
    regex: ""
    sort: 1
  - name: namespace
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      query: {{ printf "label_values(kube_pod_info{%s=~\"$cluster\"}, namespace)" $clusterLabel }}
      refId: Prometheus-namespace-Variable-Query
    definition: {{ printf "label_values(kube_pod_info{%s=~\"$cluster\"}, namespace)" $clusterLabel }}
    current:
      selected: false
      text: monitoring
      value: monitoring
    options: []
    refresh: 1
    regex: ""
    sort: 1
  - name: pod
    multi: true
    includeAll: true
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      query: {{ printf "label_values(kube_pod_info{namespace=\"$namespace\",%s=~\"$cluster\"}, pod)" $clusterLabel }}
      refId: Prometheus-pod-Variable-Query
    definition: {{ printf "label_values(kube_pod_info{namespace=\"$namespace\",%s=~\"$cluster\"}, pod)" $clusterLabel }}
    allValue: .*
    current:
      selected: false
      text: ""
      value: ""
    options: []
    refresh: 2
    regex: ""
    sort: 1
  - name: resolution
    type: custom
    query: 1s, 15s, 30s, 1m, 3m, 5m
    current:
      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
  - name: job
    multi: true
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      qryType: 1
      query: {{ printf "label_values(kube_pod_info{namespace=\"$namespace\",%s=~\"$cluster\"}, job)" $clusterLabel }}
      refId: PrometheusVariableQueryEditor-VariableQuery
    definition: {{ printf "label_values(kube_pod_info{namespace=\"$namespace\",%s=~\"$cluster\"}, job)" $clusterLabel }}
    current:
      selected: false
      text: kube-state-metrics
      value: kube-state-metrics
    options: []
    refresh: 1
    regex: ""
    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: Information
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 0
  id: 43
  type: row
- title: Created by
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_info{namespace=\"$namespace\",pod=\"$pod\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: ""
    legendFormat: '{{`{{`}} created_by_kind {{`}}`}}: {{`{{`}} created_by_name {{`}}`}}'
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Panel only works when a single pod is selected.
  fieldConfig:
    defaults:
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: rgb(255, 255, 255)
          value: 0
      unit: none
    overrides: []
  gridPos:
    h: 2
    w: 12
    x: 0
    "y": 1
  id: 2
  options:
    colorMode: none
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - mean
      fields: ""
      values: false
    showPercentChange: false
    textMode: name
    wideLayout: true
  pluginVersion: 12.2.1
  type: stat
- title: Running on
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_info{namespace=\"$namespace\",pod=\"$pod\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: ""
    legendFormat: '{{`{{`}} node {{`}}`}}'
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Panel only works when a single pod is selected.
  fieldConfig:
    defaults:
      links:
      - title: ""
        url: /d/k8s_views_nodes/kubernetes-views-nodes?var-datasource=${datasource}&var-node=${__field.labels.node}&${cluster:queryparam}
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: rgb(255, 255, 255)
          value: 0
      unit: none
    overrides: []
  gridPos:
    h: 2
    w: 6
    x: 12
    "y": 1
  id: 33
  options:
    colorMode: none
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - mean
      fields: ""
      values: false
    showPercentChange: false
    textMode: name
    wideLayout: true
  pluginVersion: 12.2.1
  type: stat
- title: Pod IP
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_info{namespace=\"$namespace\",pod=\"$pod\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: ""
    legendFormat: '{{`{{`}} pod_ip {{`}}`}}'
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Panel only works when a single pod is selected.
  fieldConfig:
    defaults:
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: rgb(255, 255, 255)
          value: 0
      unit: none
    overrides: []
  gridPos:
    h: 2
    w: 6
    x: 18
    "y": 1
  id: 41
  options:
    colorMode: none
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - mean
      fields: ""
      values: false
    showPercentChange: false
    textMode: name
    wideLayout: true
  pluginVersion: 12.2.1
  type: stat
- title: Priority Class
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_info{namespace=\"$namespace\",pod=\"$pod\",priority_class!=\"\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: false
    format: time_series
    instant: true
    interval: ""
    legendFormat: '{{`{{`}} priority_class {{`}}`}}'
    range: false
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Panel only works when a single pod is selected.
  fieldConfig:
    defaults:
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: rgb(255, 255, 255)
          value: 0
      unit: none
    overrides: []
  gridPos:
    h: 2
    w: 5
    x: 0
    "y": 3
  id: 52
  options:
    colorMode: none
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs:
      - mean
      fields: ""
      values: false
    showPercentChange: false
    textMode: name
    wideLayout: true
  pluginVersion: 12.2.1
  type: stat
- title: QOS Class
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_status_qos_class{namespace=\"$namespace\",pod=\"$pod\",%s=~\"$cluster\"} > 0" $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: ""
    legendFormat: '{{`{{`}} qos_class {{`}}`}}'
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Panel only works when a single pod is selected.
  fieldConfig:
    defaults:
      color:
        mode: thresholds
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
      unit: none
    overrides:
    - matcher:
        id: byName
        options: Burstable
      properties:
      - id: color
        value:
          fixedColor: red
          mode: fixed
    - matcher:
        id: byName
        options: BestEffort
      properties:
      - id: color
        value:
          fixedColor: orange
          mode: fixed
  gridPos:
    h: 2
    w: 7
    x: 5
    "y": 3
  id: 53
  options:
    colorMode: value
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs: []
      fields: ""
      values: false
    showPercentChange: false
    textMode: name
    wideLayout: true
  pluginVersion: 12.2.1
  type: stat
- title: Last Terminated Reason
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_container_status_last_terminated_reason{namespace=\"$namespace\",pod=\"$pod\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: ""
    legendFormat: '{{`{{`}} reason {{`}}`}}'
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Panel only works when a single pod is selected.
  fieldConfig:
    defaults:
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: text
          value: 0
        - color: red
          value: 1
      unit: none
    overrides: []
  gridPos:
    h: 2
    w: 6
    x: 12
    "y": 3
  id: 56
  options:
    colorMode: value
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs: []
      fields: ""
      values: false
    showPercentChange: false
    textMode: name
    wideLayout: true
  pluginVersion: 12.2.1
  type: stat
- title: Last Terminated Exit Code
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_container_status_last_terminated_exitcode{namespace=\"$namespace\",pod=\"$pod\",%s=~\"$cluster\"}" $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: ""
    legendFormat: __auto
    range: false
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: Panel only works when a single pod is selected.
  fieldConfig:
    defaults:
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: text
          value: 0
        - color: red
          value: 1
        - color: '#EAB839'
          value: 2
      unit: none
    overrides: []
  gridPos:
    h: 2
    w: 6
    x: 18
    "y": 3
  id: 57
  options:
    colorMode: value
    graphMode: none
    justifyMode: auto
    orientation: auto
    percentChangeColorMode: standard
    reduceOptions:
      calcs: []
      fields: ""
      values: true
    showPercentChange: false
    textMode: value
    wideLayout: true
  pluginVersion: 12.2.1
  type: stat
- title: Resources
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 5
  id: 47
  type: row
- title: Total pod CPU Requests usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(%s) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\",pod=~\"$pod\",resource=\"cpu\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: $resolution
    legendFormat: Requests
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        fixedColor: blue
        mode: fixed
      decimals: 2
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: green
          value: 0
        - color: '#EAB839'
          value: 60
        - color: red
          value: 75
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 3
    x: 0
    "y": 6
  id: 39
  options:
    minVizHeight: 75
    minVizWidth: 75
    orientation: auto
    reduceOptions:
      calcs:
      - last
      fields: ""
      values: false
    showThresholdLabels: false
    showThresholdMarkers: true
    sizing: auto
  pluginVersion: 12.2.1
  type: gauge
- title: Total pod CPU Limits usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(%s) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\",pod=~\"$pod\",resource=\"cpu\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: $resolution
    legendFormat: Limits
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      decimals: 2
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: green
          value: 0
        - color: '#EAB839'
          value: 60
        - color: red
          value: 75
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 3
    x: 3
    "y": 6
  id: 48
  options:
    minVizHeight: 75
    minVizWidth: 75
    orientation: auto
    reduceOptions:
      calcs:
      - last
      fields: ""
      values: false
    showThresholdLabels: false
    showThresholdMarkers: true
    sizing: auto
  pluginVersion: 12.2.1
  type: gauge
- title: Total pod RAM Requests usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}) by(%s) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\",pod=~\"$pod\",resource=\"memory\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: $resolution
    legendFormat: Requests
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        fixedColor: blue
        mode: fixed
      decimals: 2
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: blue
          value: 0
        - color: '#EAB839'
          value: 80
        - color: red
          value: 99
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 3
    x: 6
    "y": 6
  id: 40
  options:
    minVizHeight: 75
    minVizWidth: 75
    orientation: auto
    reduceOptions:
      calcs:
      - last
      fields: ""
      values: false
    showThresholdLabels: false
    showThresholdMarkers: true
    sizing: auto
  pluginVersion: 12.2.1
  type: gauge
- title: Total pod RAM Limits usage
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}) by(%s) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\",pod=~\"$pod\",resource=\"memory\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    instant: true
    interval: $resolution
    legendFormat: Limits
    refId: B
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      decimals: 2
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: green
          value: 0
        - color: '#EAB839'
          value: 60
        - color: red
          value: 75
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 3
    x: 9
    "y": 6
  id: 49
  options:
    minVizHeight: 75
    minVizWidth: 75
    orientation: auto
    reduceOptions:
      calcs:
      - last
      fields: ""
      values: false
    showThresholdLabels: false
    showThresholdMarkers: true
    sizing: auto
  pluginVersion: 12.2.1
  type: gauge
- title: Resources by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_requests{namespace=\"$namespace\",pod=~\"$pod\",resource=\"cpu\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    interval: ""
    intervalFactor: 1
    legendFormat: ""
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_limits{namespace=\"$namespace\",pod=~\"$pod\",resource=\"cpu\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    interval: ""
    intervalFactor: 1
    legendFormat: ""
    refId: B
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_requests{namespace=\"$namespace\",pod=~\"$pod\",resource=\"memory\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    interval: ""
    legendFormat: ""
    refId: C
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(kube_pod_container_resource_limits{namespace=\"$namespace\",pod=~\"$pod\",resource=\"memory\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    interval: ""
    legendFormat: ""
    refId: D
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",container!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(container,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    hide: false
    instant: true
    legendFormat: __auto
    range: false
    refId: E
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",container!=\"\",%s=~\"$cluster\"}) by(container,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    hide: false
    instant: true
    range: false
    refId: F
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      custom:
        align: auto
        cellOptions:
          type: auto
        filterable: false
        footer:
          reducers: []
        inspect: false
        minWidth: 100
      decimals: 4
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: blue
          value: 0
      unit: none
    overrides:
    - matcher:
        id: byName
        options: Memory Requests
      properties:
      - id: unit
        value: bytes
      - id: decimals
        value: 2
    - matcher:
        id: byName
        options: Memory Limits
      properties:
      - id: unit
        value: bytes
      - id: decimals
        value: 2
    - matcher:
        id: byName
        options: Memory Used
      properties:
      - id: unit
        value: bytes
      - id: decimals
        value: 2
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 6
  id: 38
  options:
    cellHeight: sm
    showHeader: true
    sortBy: []
  pluginVersion: 12.2.1
  transformations:
  - id: seriesToColumns
    options:
      byField: container
  - id: organize
    options:
      excludeByName:
        __name__: true
        __name__ 1: true
        __name__ 2: true
        __name__ 3: true
        __name__ 4: true
        Time: true
        Time 1: true
        Time 2: true
        Time 4: true
        container: false
        endpoint: true
        endpoint 2: true
        endpoint 3: true
        endpoint 4: true
        instance: true
        instance 2: true
        instance 3: true
        instance 4: true
        job: true
        job 2: true
        job 3: true
        job 4: true
        namespace: true
        namespace 2: true
        namespace 3: true
        namespace 4: true
        node: true
        node 2: true
        node 3: true
        node 4: true
        pod: true
        pod 2: true
        pod 3: true
        pod 4: true
        resource 1: true
        resource 2: true
        resource 3: true
        resource 4: true
        service: true
        service 2: true
        service 3: true
        service 4: true
        uid 1: true
        uid 2: true
        uid 3: true
        uid 4: true
        unit 1: true
        unit 2: true
        unit 3: true
        unit 4: true
      indexByName:
        Time 1: 7
        Time 2: 8
        Time 3: 9
        Time 4: 10
        Time 5: 11
        Time 6: 12
        'Value #A': 2
        'Value #B': 3
        'Value #C': 5
        'Value #D': 6
        'Value #E': 1
        'Value #F': 4
        container: 0
      renameByName:
        'Value #A': CPU Requests
        'Value #B': CPU Limits
        'Value #C': Memory Requests
        'Value #D': Memory Limits
        'Value #E': CPU Used
        'Value #F': Memory Used
        container: Container
  type: table
- title: CPU Usage / Requests & Limits by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(container,%s) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\",pod=~\"$pod\",resource=\"cpu\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} container {{`}}`}}  REQUESTS'
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(container,%s) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\",pod=~\"$pod\",resource=\"cpu\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: '{{`{{`}} container {{`}}`}}  LIMITS'
    range: true
    refId: B
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: thresholds
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: Percent
        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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: area
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: red
          value: 0
        - color: yellow
          value: 20
        - color: green
          value: 30
        - color: yellow
          value: 70
        - color: red
          value: 80
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 14
  id: 50
  options:
    legend:
      calcs: []
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: desc
  pluginVersion: 12.2.1
  type: timeseries
- title: Memory Usage / Requests & Limits by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}) by(container,%s) / sum(kube_pod_container_resource_requests{namespace=\"$namespace\",pod=~\"$pod\",resource=\"memory\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} container {{`}}`}} REQUESTS'
    range: true
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",%s=~\"$cluster\"}) by(container,%s) / sum(kube_pod_container_resource_limits{namespace=\"$namespace\",pod=~\"$pod\",resource=\"memory\",job=~\"$job\",%s=~\"$cluster\"} and on(namespace,pod,%s) max(kube_pod_status_phase{phase=\"Running\",namespace=\"$namespace\",pod=~\"$pod\",job=~\"$job\",%s=~\"$cluster\"} == 1) by(namespace,pod,%s)) by(container,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    editorMode: code
    hide: false
    legendFormat: '{{`{{`}} container {{`}}`}} LIMITS'
    range: true
    refId: B
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        fixedColor: blue
        mode: thresholds
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: Percent
        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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: area
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: red
          value: 0
        - color: yellow
          value: 20
        - color: green
          value: 30
        - color: '#EAB839'
          value: 70
        - color: red
          value: 80
      unit: percentunit
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 14
  id: 30
  options:
    legend:
      calcs: []
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: desc
  pluginVersion: 12.2.1
  type: timeseries
- title: CPU Usage by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",container!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(container,id,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} container {{`}}`}}'
    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
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      decimals: 4
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: red
          value: 80
      unit: none
    overrides:
    - matcher:
        id: byName
        options: limit
      properties:
      - id: color
        value:
          fixedColor: '#F2495C'
          mode: fixed
      - id: custom.fillOpacity
        value: 0
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 22
  id: 29
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: desc
  pluginVersion: 12.2.1
  type: timeseries
- title: Memory Usage by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(container_memory_working_set_bytes{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",container!=\"\",%s=~\"$cluster\"}) by(container,id,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} container {{`}}`}}'
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: palette-classic
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: Bytes
        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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: red
          value: 80
      unit: bytes
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 22
  id: 51
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: desc
  pluginVersion: 12.2.1
  type: timeseries
- title: CPU Throttled seconds by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_cpu_cfs_throttled_seconds_total{namespace=\"$namespace\",pod=~\"$pod\",image!=\"\",container!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(container,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} container {{`}}`}}'
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  description: ""
  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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      decimals: 2
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: red
          value: 80
      unit: s
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 30
  id: 59
  options:
    legend:
      calcs:
      - min
      - max
      - mean
      displayMode: table
      placement: right
      showLegend: true
      sortBy: Max
      sortDesc: true
    tooltip:
      hideZeros: false
      mode: single
      sort: none
  pluginVersion: 12.2.1
  type: timeseries
- title: Kubernetes
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 38
  id: 62
  type: row
- title: OOM Events by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(increase(container_oom_events_total{namespace=\"${namespace}\",pod=~\"${pod}\",container!=\"\",%s=~\"$cluster\"}[$__rate_interval])) by(container,%s) > 0" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} container {{`}}`}}'
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        fixedColor: blue
        mode: thresholds
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: Percent
        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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: red
          value: 0
      unit: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 39
  id: 60
  options:
    legend:
      calcs: []
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: desc
  pluginVersion: 12.2.1
  type: timeseries
- title: Container Restarts by container
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(increase(kube_pod_container_status_restarts_total{namespace=\"${namespace}\",pod=~\"${pod}\",container!=\"\",job=~\"$job\",%s=~\"$cluster\"}[$__rate_interval])) by(container,%s) > 0" $clusterLabel $clusterLabel }}
    editorMode: code
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} container {{`}}`}}'
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        fixedColor: blue
        mode: thresholds
      custom:
        axisBorderShow: false
        axisCenteredZero: false
        axisColorMode: text
        axisLabel: Percent
        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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      max: 1
      min: 0
      thresholds:
        mode: percentage
        steps:
        - color: red
          value: 0
      unit: none
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 39
  id: 61
  options:
    legend:
      calcs: []
      displayMode: table
      placement: right
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: desc
  pluginVersion: 12.2.1
  type: timeseries
- title: Pods with Container Issues
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_container_status_waiting_reason{reason=~\"ErrImagePull|ImagePullBackOff|CrashLoopBackOff\",%s=~\"$cluster\"} == 1" $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    legendFormat: __auto
    range: false
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: thresholds
      custom:
        align: auto
        cellOptions:
          type: auto
        filterable: true
        footer:
          reducers: []
        inspect: false
        wrapText: false
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: '#EAB839'
          value: 1
        - color: red
          value: 5
    overrides:
    - matcher:
        id: byName
        options: reason
      properties:
      - id: custom.cellOptions
        value:
          type: color-background
      - id: mappings
        value:
        - options:
            CrashLoopBackOff:
              color: light-red
              index: 0
              text: CrashLoopBackOff
            ErrImagePull:
              color: light-orange
              index: 1
              text: ErrImagePull
            ImagePullBackOff:
              color: light-orange
              index: 2
              text: ImagePullBackOff
          type: value
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 47
  id: 63
  options:
    cellHeight: sm
    showHeader: true
  pluginVersion: 12.2.1
  transformations:
  - id: labelsToFields
    options:
      keepLabels:
      - namespace
      - pod
      - reason
      - container
      mode: columns
  - id: filterFieldsByName
    options:
      include:
        names:
        - namespace
        - pod
        - reason
        - container
  - id: organize
    options:
      excludeByName: {}
      includeByName: {}
      indexByName: {}
      renameByName:
        container: Container
        namespace: Namespace
        pod: Pod Name
        reason: Reason
  - id: sortBy
    options:
      fields: {}
      sort:
      - field: Pod Name
  type: table
- title: Unscheduled Pods
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "kube_pod_status_scheduled{condition=\"false\",%s=~\"$cluster\"} == 1" $clusterLabel }}
    editorMode: code
    exemplar: false
    format: table
    instant: true
    legendFormat: __auto
    range: false
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      color:
        mode: thresholds
      custom:
        align: auto
        cellOptions:
          type: auto
        filterable: true
        footer:
          reducers: []
        inspect: false
        wrapText: false
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: '#EAB839'
          value: 1
        - color: red
          value: 5
    overrides:
    - matcher:
        id: byName
        options: condition
      properties:
      - id: custom.cellOptions
        value:
          type: color-background
      - id: mappings
        value:
        - options:
            "false":
              color: light-red
              index: 0
              text: "False"
          type: value
      - id: custom.width
        value: 104
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 47
  id: 64
  options:
    cellHeight: sm
    showHeader: true
    sortBy: []
  pluginVersion: 12.2.1
  transformations:
  - id: labelsToFields
    options:
      keepLabels:
      - namespace
      - pod
      - reason
      - container
      mode: columns
  - id: filterFieldsByName
    options:
      include:
        names:
        - container
        - namespace
        - pod
        - condition
  - id: organize
    options:
      excludeByName: {}
      includeByName: {}
      indexByName:
        condition: 3
        container: 0
        namespace: 1
        pod: 2
      renameByName:
        condition: Condition
        container: Container
        namespace: Namespace
        pod: Pod Name
  type: table
- title: Network
  collapsed: false
  gridPos:
    h: 1
    w: 24
    x: 0
    "y": 55
  id: 45
  type: row
- title: Network - Bandwidth
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_network_receive_bytes_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Received
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(container_network_transmit_bytes_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Transmitted
    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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: red
          value: 80
      unit: binBps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 56
  id: 31
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: none
  pluginVersion: 12.2.1
  type: timeseries
- title: Network - Packets Rate
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_network_receive_packets_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Received
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(container_network_transmit_packets_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Transmitted
    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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: red
          value: 80
      unit: pps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 56
  id: 34
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: none
  pluginVersion: 12.2.1
  type: timeseries
- title: Network - Packets Dropped
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_network_receive_packets_dropped_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Received
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(container_network_transmit_packets_dropped_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Transmitted
    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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: red
          value: 80
      unit: pps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 64
  id: 36
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: none
  pluginVersion: 12.2.1
  type: timeseries
- title: Network - Errors
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(container_network_receive_errors_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Received
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "0 - sum(rate(container_network_transmit_errors_total{namespace=\"$namespace\",pod=~\"$pod\",%s=~\"$cluster\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: Transmitted
    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
        showValues: false
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: 0
        - color: red
          value: 80
      unit: pps
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 64
  id: 37
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      hideZeros: false
      mode: multi
      sort: none
  pluginVersion: 12.2.1
  type: timeseries
__elements: []
__inputs:
- description: ""
  label: Prometheus
  name: DS_PROMETHEUS
  pluginId: prometheus
  pluginName: Prometheus
  type: datasource
__requires:
- id: grafana
  name: Grafana
  type: grafana
  version: 8.3.4
- id: prometheus
  name: Prometheus
  type: datasource
  version: 5.0.0
- id: timeseries
  name: Time series
  type: panel
  version: ""
- id: stat
  name: Stat
  type: panel
  version: ""
- id: gauge
  name: Gauge
  type: panel
  version: ""
- id: table
  name: Table
  type: panel
  version: ""
condition: {{ ($Values.kubelet).enabled }}
description: 'This is a modern ''Pods 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: []
preload: false
refresh: 30s
schemaVersion: 42
time:
  from: now-1h
  to: now
timepicker: {}
uid: k8s_views_pods
version: 38
weekStart: ""
