
{{- $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 / System / CoreDNS
templating:
  list:
  - name: datasource
    type: datasource
    query: {{ $defaultDatasource }}
    hide: 0
    current:
      selected: false
      text: Prometheus
      value: Prometheus
    options: []
    queryValue: ""
    refresh: 1
    regex: ""
    skipUrlSync: false
  - name: cluster
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: {{ ternary "query" "constant" $multicluster }}
    query: {{ ternary (printf "{\"query\":\"label_values(kube_node_info, %s)\",\"refId\":\"PrometheusVariableQueryEditor-VariableQuery\",\"qryType\":1}" $clusterLabel) ".*" $multicluster }}
    definition: {{ ternary (printf "label_values(kube_node_info, %s)" $clusterLabel) ".*" $multicluster }}
    hide: {{ ternary 0 2 $multicluster }}
    current:
      isNone: true
      selected: false
      text: None
      value: ""
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 1
  - name: instance
    includeAll: true
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      qryType: 1
      query: {{ printf "label_values(up{job=\"$job\",%s=~\"$cluster\"}, instance)" $clusterLabel }}
      refId: PrometheusVariableQueryEditor-VariableQuery
    definition: {{ printf "label_values(up{job=\"$job\",%s=~\"$cluster\"}, instance)" $clusterLabel }}
    hide: 0
    allValue: .*
    current:
      selected: false
      text: All
      value: $__all
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 1
    tagValuesQuery: ""
    tagsQuery: ""
    useTags: false
  - name: protocol
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      query: {{ printf "label_values(coredns_dns_requests_total{%s=~\"$cluster\"}, proto)" $clusterLabel }}
      refId: StandardVariableQuery
    definition: {{ printf "label_values(coredns_dns_requests_total{%s=~\"$cluster\"}, proto)" $clusterLabel }}
    hide: 0
    allValue: udp,tcp
    current:
      selected: false
      text: udp
      value: udp
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 1
    tagValuesQuery: ""
    tagsQuery: ""
    useTags: false
  - name: resolution
    type: custom
    query: 1s, 15s, 30s, 1m, 3m, 5m
    hide: 0
    current:
      selected: false
      text: 30s
      value: 30s
    options:
    - selected: false
      text: 1s
      value: 1s
    - selected: false
      text: 15s
      value: 15s
    - selected: true
      text: 30s
      value: 30s
    - selected: false
      text: 1m
      value: 1m
    - selected: false
      text: 3m
      value: 3m
    - selected: false
      text: 5m
      value: 5m
    queryValue: ""
    skipUrlSync: false
  - name: job
    multi: true
    datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    type: query
    query:
      qryType: 1
      query: {{ printf "label_values(coredns_build_info{%s=~\"$cluster\"}, job)" $clusterLabel }}
      refId: PrometheusVariableQueryEditor-VariableQuery
    definition: {{ printf "label_values(coredns_build_info{%s=~\"$cluster\"}, job)" $clusterLabel }}
    hide: 0
    current:
      selected: true
      text:
      - coredns
      value:
      - coredns
    options: []
    refresh: 1
    regex: ""
    skipUrlSync: false
    sort: 1
editable: false
timezone: {{ default "utc" ($Values.defaultDashboards).defaultTimezone }}
tags:
- Kubernetes
- Prometheus
- vm-k8s-stack
annotations:
  list:
  - name: Annotations & Alerts
    datasource:
      type: datasource
      uid: grafana
    builtIn: 1
    enable: true
    hide: true
    iconColor: rgba(0, 211, 255, 1)
    target:
      limit: 100
      matchAny: false
      tags: []
      type: dashboard
    type: dashboard
  - name: terraform
    datasource:
      type: datasource
      uid: grafana
    enable: true
    hide: false
    iconColor: '#5c4ee5'
    target:
      limit: 100
      matchAny: false
      tags:
      - terraform
      type: tags
  - name: oncall
    datasource:
      type: datasource
      uid: grafana
    enable: true
    hide: false
    iconColor: red
    target:
      limit: 100
      matchAny: false
      tags:
      - oncall
      type: tags
panels:
- title: CoreDNS - Health Status
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "up{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      mappings:
      - options:
          "0":
            text: DOWN
          "1":
            text: UP
        type: value
      thresholds:
        mode: absolute
        steps:
        - color: red
          value: null
        - color: green
          value: 1
    overrides: []
  gridPos:
    h: 3
    w: 24
    x: 0
    "y": 0
  id: 25
  options:
    colorMode: background
    graphMode: none
    justifyMode: auto
    orientation: vertical
    reduceOptions:
      calcs:
      - lastNotNull
      fields: ""
      values: false
    showPercentChange: false
    textMode: value_and_name
    wideLayout: true
  pluginVersion: 10.4.1
  type: stat
- title: CoreDNS - CPU Usage by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "rate(process_cpu_seconds_total{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}[$__rate_interval])" $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    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
        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": 3
  id: 19
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Memory Usage by instance
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "process_resident_memory_bytes{job=~\"$job\",instance=~\"$instance\",%s=~\"$cluster\"}" $clusterLabel }}
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} instance {{`}}`}}'
    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
        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": 3
  id: 21
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: single
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Total DNS Requests ($protocol)
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_dns_requests_total{instance=~\"$instance\",proto=\"$protocol\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: total $protocol requests
    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
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 11
  id: 9
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Average Packet Size  ($protocol)
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_dns_request_size_bytes_sum{instance=~\"$instance\",proto=\"$protocol\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(proto,%s) / sum(rate(coredns_dns_request_size_bytes_count{instance=~\"$instance\",proto=\"$protocol\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(proto,%s)" $clusterLabel $clusterLabel $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: average $protocol packet size
    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
        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": 11
  id: 7
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Requests by type
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_dns_requests_total{instance=~\"$instance\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(type,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} type {{`}}`}}'
    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
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 19
  id: 2
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Requests by return code
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_dns_responses_total{instance=~\"$instance\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(rcode,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} rcode {{`}}`}}'
    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
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 19
  id: 4
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Total Forward Requests
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_proxy_request_duration_seconds_count{proxy_name=\"forward\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: total forward requests
    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
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 27
  id: 23
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: false
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - DNS Errors
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_proxy_request_duration_seconds_count{proxy_name=\"forward\",rcode=~\"SERVFAIL|REFUSED\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(rcode,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} rcode {{`}}`}}'
    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
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 12
    "y": 27
  id: 13
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: none
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Cache Hits / Misses
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_cache_hits_total{instance=~\"$instance\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(type,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: '{{`{{`}} type {{`}}`}}'
    refId: A
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(rate(coredns_cache_misses_total{instance=~\"$instance\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(type,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: $resolution
    legendFormat: misses
    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
        drawStyle: line
        fillOpacity: 25
        gradientMode: opacity
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        insertNulls: false
        lineInterpolation: smooth
        lineWidth: 2
        pointSize: 5
        scaleDistribution:
          type: linear
        showPoints: never
        spanNulls: false
        stacking:
          group: A
          mode: none
        thresholdsStyle:
          mode: "off"
      mappings: []
      thresholds:
        mode: absolute
        steps:
        - color: green
          value: null
        - color: red
          value: 80
      unit: short
    overrides: []
  gridPos:
    h: 8
    w: 12
    x: 0
    "y": 35
  id: 17
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - Cache Size
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(coredns_cache_entries{%s=~\"$cluster\",job=~\"$job\"}) by(type,%s)" $clusterLabel $clusterLabel }}
    exemplar: true
    interval: ""
    legendFormat: '{{`{{`}} type {{`}}`}}'
    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
        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": 35
  id: 15
  options:
    legend:
      calcs: []
      displayMode: list
      placement: bottom
      showLegend: true
    tooltip:
      mode: multi
      sort: desc
  pluginVersion: 8.3.3
  type: timeseries
- title: CoreDNS - DNS request duration
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(increase(coredns_dns_request_duration_seconds_bucket{instance=~\"$instance\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(le,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    format: heatmap
    legendFormat: '{{`{{`}}le{{`}}`}}'
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      custom:
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        scaleDistribution:
          type: linear
    overrides: []
  gridPos:
    h: 10
    w: 12
    x: 0
    "y": 43
  id: 27
  options:
    calculate: false
    cellGap: 1
    color:
      exponent: 0.5
      fill: dark-orange
      mode: scheme
      reverse: false
      scale: exponential
      scheme: RdYlBu
      steps: 64
    exemplars:
      color: rgba(255,0,255,0.7)
    filterValues:
      le: 1e-09
    legend:
      show: true
    rowsFrame:
      layout: auto
    tooltip:
      mode: single
      showColorScale: false
      yHistogram: false
    yAxis:
      axisPlacement: left
      reverse: false
      unit: s
  pluginVersion: 10.4.1
  type: heatmap
- title: CoreDNS - DNS request size
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(increase(coredns_dns_request_size_bytes_bucket{instance=~\"$instance\",le!=\"0\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(le,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    format: heatmap
    legendFormat: '{{`{{`}}le{{`}}`}}'
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      custom:
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        scaleDistribution:
          type: linear
    overrides: []
  gridPos:
    h: 10
    w: 12
    x: 12
    "y": 43
  id: 28
  options:
    calculate: false
    cellGap: 1
    color:
      exponent: 0.5
      fill: dark-orange
      mode: scheme
      reverse: false
      scale: exponential
      scheme: RdYlBu
      steps: 64
    exemplars:
      color: rgba(255,0,255,0.7)
    filterValues:
      le: 1e-09
    legend:
      show: true
    rowsFrame:
      layout: auto
    tooltip:
      mode: single
      showColorScale: false
      yHistogram: false
    yAxis:
      axisPlacement: left
      reverse: false
      unit: decbytes
  pluginVersion: 10.4.1
  type: heatmap
- title: CoreDNS - DNS response size
  targets:
  - datasource:
      type: {{ $defaultDatasource }}
      uid: ${datasource}
    expr: {{ printf "sum(increase(coredns_dns_response_size_bytes_bucket{instance=~\"$instance\",le!=\"0\",%s=~\"$cluster\",job=~\"$job\"}[$__rate_interval])) by(le,%s)" $clusterLabel $clusterLabel }}
    editorMode: code
    format: heatmap
    legendFormat: '{{`{{`}}le{{`}}`}}'
    range: true
    refId: A
  datasource:
    type: {{ $defaultDatasource }}
    uid: ${datasource}
  fieldConfig:
    defaults:
      custom:
        hideFrom:
          legend: false
          tooltip: false
          viz: false
        scaleDistribution:
          type: linear
    overrides: []
  gridPos:
    h: 10
    w: 12
    x: 0
    "y": 53
  id: 29
  options:
    calculate: false
    cellGap: 1
    color:
      exponent: 0.5
      fill: dark-orange
      mode: scheme
      reverse: false
      scale: exponential
      scheme: RdYlBu
      steps: 64
    exemplars:
      color: rgba(255,0,255,0.7)
    filterValues:
      le: 1e-09
    legend:
      show: true
    rowsFrame:
      layout: auto
    tooltip:
      mode: single
      showColorScale: false
      yHistogram: false
    yAxis:
      axisPlacement: left
      reverse: false
      unit: decbytes
  pluginVersion: 10.4.1
  type: heatmap
__elements: []
__inputs:
- description: ""
  label: Prometheus
  name: DS_PROMETHEUS
  pluginId: prometheus
  pluginName: Prometheus
  type: datasource
__requires:
- id: grafana
  name: Grafana
  type: grafana
  version: 8.4.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: ""
condition: {{ ($Values.coreDns).enabled }}
description: 'This is a modern CoreDNS 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_system_coredns
version: 22
weekStart: ""
