resource "datadog_dashboard_json" "aoma_p_eks_dashboard_json" {
  dashboard = jsonencode({
    title       = "AOMA Core Prod EKS"
    description = "Our Kubernetes dashboard gives you broad visibility into the scale, status, and resource usage of your cluster and its containers. Further reading for Kubernetes monitoring:\n\n- [Autoscale Kubernetes workloads with any Datadog metric](https://www.datadoghq.com/blog/autoscale-kubernetes-datadog/)\n\n- [How to monitor Kubernetes + Docker with Datadog](https://www.datadoghq.com/blog/monitor-kubernetes-docker/)\n\n- [Monitoring in the Kubernetes era](https://www.datadoghq.com/blog/monitoring-kubernetes-era/)\n\n- [Monitoring Kubernetes performance metrics](https://www.datadoghq.com/blog/monitoring-kubernetes-performance-metrics/)\n\n- [Collecting metrics with built-in Kubernetes monitoring tools](https://www.datadoghq.com/blog/how-to-collect-and-graph-kubernetes-metrics/)\n\n- [Monitoring Kubernetes with Datadog](https://www.datadoghq.com/blog/monitoring-kubernetes-with-datadog/)\n\n- [Datadog's Kubernetes integration docs](https://docs.datadoghq.com/integrations/kubernetes/)\n\nClone this template dashboard to make changes and add your own graph widgets. (cloned) (cloned) (cloned)"
    widgets = [
      {
        id     = 0
        layout = { x = 151, y = 57, width = 43, height = 24 }
        definition = {
          title       = "Most memory-intensive pods"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "4h" }
          type        = "toplist"
          requests = [
            {
              style           = { palette = "cool" }
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.memory.usage{$scope,$deployment,$daemonset,$cluster,$namespace,!pod_name:no_pod,$label,$service,$node} by {pod_name}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "query1" }]
              sort     = { count = 10, order_by = [{ type = "formula", index = 0, order = "desc" }] }
            }
          ]
        }
      },
      {
        id     = 1
        layout = { x = 107, y = 57, width = 43, height = 24 }
        definition = {
          title       = "Most CPU-intensive pods"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "4h" }
          type        = "toplist"
          requests = [
            {
              style           = { palette = "warm" }
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.cpu.usage.total{$scope,$deployment,$daemonset,$cluster,$namespace,!pod_name:no_pod,$label,$service,$node} by {pod_name}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "query1" }]
              sort     = { count = 10, order_by = [{ type = "formula", index = 0, order = "desc" }] }
            }
          ]
        }
      },
      {
        id     = 2
        layout = { x = 0, y = 0, width = 23, height = 15 }
        definition = {
          type   = "image"
          url    = "/static/images/screenboard/integrations/kubernetes.jpg"
          sizing = "zoom"
        }
      },
      {
        id     = 3
        layout = { x = 80, y = 0, width = 13, height = 7 }
        definition = {
          title       = "Kubelets up"
          title_size  = "16"
          title_align = "center"
          time        = { live_span = "10m" }
          type        = "check_status"
          check       = "kubernetes.kubelet.check"
          grouping    = "cluster"
          group_by    = []
          tags        = ["$scope", "$node", "$label", "$cluster"]
        }
      },
      {
        id     = 4
        layout = { x = 50, y = 91, width = 16, height = 14 }
        definition = {
          title       = "Pods Available"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "5m" }
          type        = "query_value"
          requests = [
            {
              conditional_formats = [{ palette = "green_on_white", value = 0, comparator = ">" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.deployment.replicas_available{$scope,$deployment,$daemonset,$cluster,$label,$namespace,$service,$node}"
                  aggregator  = "avg"
                }
              ]
            }
          ]
          autoscale    = true
        }
      },
      {
        id     = 5
        layout = { x = 67, y = 91, width = 37, height = 14 }
        definition = {
          title       = "Pods available"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.deployment.replicas_available{$scope,$deployment,$daemonset,$service,$label,$cluster,$namespace,$node} by {deployment}"
                }
              ]
              style        = { palette = "green", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id     = 6
        layout = { x = 50, y = 76, width = 16, height = 14 }
        definition = {
          title       = "Pods desired"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "5m" }
          type        = "query_value"
          requests = [
            {
              conditional_formats = [{ value = 0, palette = "custom_text", comparator = ">", custom_fg_color = "#6a53a1" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.deployment.replicas_desired{$scope,$deployment,$daemonset,$cluster,$label,$namespace,$service,$node}"
                  aggregator  = "avg"
                }
              ]
            }
          ]
          autoscale    = true
        }
      },
      {
        id     = 7
        layout = { x = 67, y = 76, width = 37, height = 14 }
        definition = {
          title       = "Pods desired"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.deployment.replicas_desired{$scope,$deployment,$daemonset,$cluster,$label,$namespace,$service,$node} by {deployment}"
                }
              ]
              style        = { palette = "purple", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id     = 8
        layout = { x = 50, y = 106, width = 16, height = 14 }
        definition = {
          title       = "Pods unavailable"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "5m" }
          type        = "query_value"
          requests = [
            {
              conditional_formats = [{ palette = "yellow_on_white", value = 0, comparator = ">" }, { palette = "green_on_white", value = 0, comparator = "<=" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.deployment.replicas_unavailable{$scope,$deployment,$daemonset,$cluster,$label,$namespace,$service,$node}"
                  aggregator  = "avg"
                }
              ]
            }
          ]
          autoscale    = true
        }
      },
      {
        id     = 9
        layout = { x = 67, y = 106, width = 37, height = 14 }
        definition = {
          title       = "Pods unavailable"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.deployment.replicas_unavailable{$scope,$deployment,$daemonset,$service,$label,$cluster,$namespace,$node} by {deployment}"
                }
              ]
              style        = { palette = "orange", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id     = 10
        layout = { x = 37, y = 16, width = 67, height = 5 }
        definition = {
          type             = "note"
          content          = "Pods"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 11
        layout = { x = 107, y = 16, width = 87, height = 5 }
        definition = {
          type             = "note"
          content          = "[Resource utilization](https://www.datadoghq.com/blog/monitoring-kubernetes-performance-metrics/#toc-resource-utilization6)"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 12
        layout = { x = 0, y = 34, width = 36, height = 37 }
        definition = {
          time = { live_span = "1w" }
          requests = [
            {
              query = {
                query_string = "$node.value source:kubernetes"
                data_source  = "event_stream"
                event_size   = "s"
              }
              columns         = []
              response_format = "event_list"
            }
          ]
          type = "list_stream"
        }
      },
      {
        id     = 13
        layout = { x = 37, y = 38, width = 33, height = 15 }
        definition = {
          title       = "Running pods per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.pods.running{$scope,$deployment,$daemonset,$label,$cluster,$namespace,$service,$node} by {host}"
                }
              ]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
          yaxis = {
            label        = ""
            scale        = "linear"
            include_zero = true
            min          = "auto"
            max          = "auto"
          }
        }
      },
      {
        id     = 14
        layout = { x = 151, y = 22, width = 43, height = 18 }
        definition = {
          title       = "Memory usage per node"
          title_size  = "16"
          title_align = "left"
          type        = "hostmap"
          requests = {
            fill = {
              q = "sum:kubernetes.memory.usage{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {host}"
            }
          }
          no_metric_hosts = false
          no_group_hosts  = true
          scope           = ["$scope", "$node", "$label", "$kube_deployment", "$kube_namespace"]
          style           = { palette = "hostmap_blues", palette_flip = false }
        }
      },
      {
        id     = 15
        layout = { x = 107, y = 121, width = 43, height = 16 }
        definition = {
          title       = "Network errors per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.network.rx_errors{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {host}"
                }
              ]
              style        = { palette = "warm" }
              display_type = "bars"
            },
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.network.tx_errors{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {host}"
                }
              ]
              style        = { palette = "warm" }
              display_type = "bars"
            },
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.network_errors{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {host}"
                }
              ]
              style        = { palette = "warm", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            }
          ]
        }
      },
      {
        id     = 16
        layout = { x = 107, y = 41, width = 43, height = 15 }
        definition = {
          title       = "Sum Kubernetes CPU requests per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.cpu.requests{$scope,$deployment,$daemonset,$cluster,$namespace,$label,$service,$node} by {host}"
                }
              ]
              style        = { palette = "warm" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id     = 17
        layout = { x = 151, y = 41, width = 43, height = 15 }
        definition = {
          title       = "Sum Kubernetes memory requests per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.memory.requests{$scope,$deployment,$daemonset,$cluster,$namespace,$label,$service,$node} by {host}"
                }
              ]
              style        = { palette = "cool" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id     = 18
        layout = { x = 107, y = 82, width = 87, height = 5 }
        definition = {
          type             = "note"
          content          = "Disk I/O & Network"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 19
        layout = { x = 107, y = 88, width = 43, height = 16 }
        definition = {
          title       = "Network in per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.network.rx_bytes{$scope,$deployment,$daemonset,$cluster,$namespace,$label,$service,$node} by {host}"
                }
              ]
              style        = { palette = "purple" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id     = 20
        layout = { x = 107, y = 105, width = 43, height = 15 }
        definition = {
          title       = "Network out per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.network.tx_bytes{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {host}"
                }
              ]
              style        = { palette = "green" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id     = 21
        layout = { x = 0, y = 16, width = 36, height = 5 }
        definition = {
          type             = "note"
          content          = "[Events](https://www.datadoghq.com/blog/monitoring-kubernetes-performance-metrics/#toc-correlate-with-events10)"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 22
        layout = { x = 0, y = 22, width = 36, height = 9 }
        definition = {
          show_legend = false
          time        = { live_span = "1d" }
          type        = "timeseries"
          requests = [
            {
              queries = [
                {
                  data_source = "events"
                  name        = "query1"
                  search      = { query = "$node.value source:kubernetes" }
                  indexes     = ["*"]
                  compute     = { aggregation = "count" }
                  group_by    = [{ facet = "status", limit = 25, sort = { aggregation = "count", order = "desc" } }]
                }
              ]
              response_format = "timeseries"
              style           = { palette = "semantic" }
              display_type    = "bars"
            }
          ]
        }
      },
      {
        id     = 23
        layout = { x = 107, y = 22, width = 43, height = 18 }
        definition = {
          title       = "CPU utilization per node"
          title_size  = "16"
          title_align = "left"
          type        = "hostmap"
          requests = {
            fill = {
              q = "sum:kubernetes.cpu.usage.total{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {host}"
            }
          }
          no_metric_hosts = false
          no_group_hosts  = true
          scope           = ["$scope", "$node", "$label", "$kube_deployment", "$kube_namespace"]
          style           = { palette = "YlOrRd", palette_flip = false }
        }
      },
      {
        id     = 24
        layout = { x = 95, y = 0, width = 16, height = 15 }
        definition = {
          type             = "note"
          content          = "Read our\n[Monitoring guide for Kubernetes](https://www.datadoghq.com/blog/monitoring-kubernetes-era/).\n \nCheck [the agent documentation](https://docs.datadoghq.com/agent/kubernetes/) if some of the graphs are empty."
          background_color = "yellow"
          font_size        = "14"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "left"
        }
      },
      {
        id     = 25
        layout = { x = 0, y = 76, width = 16, height = 14 }
        definition = {
          title       = "Desired"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "5m" }
          type        = "query_value"
          requests = [
            {
              conditional_formats = [{ value = 0, palette = "custom_text", comparator = ">", custom_fg_color = "#6a53a1" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.daemonset.desired{$scope,$deployment,$daemonset,$cluster,$label,$namespace,$service,$node}"
                  aggregator  = "last"
                }
              ]
            }
          ]
          autoscale    = true
        }
      },
      {
        id     = 26
        layout = { x = 17, y = 76, width = 32, height = 14 }
        definition = {
          title       = "Pods desired"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.daemonset.desired{$scope,$deployment,$daemonset,$service,$namespace,$label,$cluster,$node} by {daemonset}"
                }
              ]
              style        = { palette = "purple", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id     = 27
        layout = { x = 0, y = 91, width = 16, height = 14 }
        definition = {
          title       = "Ready"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "5m" }
          type        = "query_value"
          requests = [
            {
              conditional_formats = [{ palette = "green_on_white", value = 0, comparator = ">" }, { palette = "red_on_white", value = 0, comparator = "<=" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.daemonset.ready{$scope,$deployment,$daemonset,$cluster,$label,$namespace,$service,$node}"
                  aggregator  = "last"
                }
              ]
            }
          ]
          autoscale    = true
        }
      },
      {
        id     = 28
        layout = { x = 80, y = 8, width = 13, height = 7 }
        definition = {
          title       = "Kubelet Ping"
          title_size  = "16"
          title_align = "center"
          time        = { live_span = "10m" }
          type        = "check_status"
          check       = "kubernetes.kubelet.check.ping"
          grouping    = "cluster"
          group_by    = []
          tags        = ["$node", "$label", "$scope", "$cluster"]
        }
      },
      {
        id     = 29
        layout = { x = 50, y = 127, width = 54, height = 14 }
        definition = {
          title       = "Container states"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.container.running{$scope,$deployment,$daemonset,$service,$namespace,$label,$cluster,$node}"
                }
              ]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "line"
            },
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.container.waiting{$scope,$deployment,$daemonset,$service,$namespace,$label,$cluster,$node}"
                }
              ]
              style        = { palette = "warm", line_type = "solid", line_width = "normal" }
              display_type = "line"
            },
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.container.terminated{$scope,$deployment,$daemonset,$service,$namespace,$label,$cluster,$node}"
                }
              ]
              style        = { palette = "grey", line_type = "solid", line_width = "normal" }
              display_type = "line"
            },
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.container.ready{$scope,$deployment,$daemonset,$service,$namespace,$label,$cluster,$node}"
                }
              ]
              style        = { palette = "grey", line_type = "solid", line_width = "normal" }
              display_type = "line"
            }
          ]
          yaxis = {
            label        = ""
            scale        = "linear"
            include_zero = true
            min          = "auto"
            max          = "auto"
          }
        }
      },
      {
        id     = 30
        layout = { x = 17, y = 112, width = 32, height = 14 }
        definition = {
          title       = "Ready"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "1h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.replicaset.replicas_ready{$scope,$daemonset,$service,$namespace,$deployment,$label,$cluster,$node} by {replicaset}"
                }
              ]
              style        = { palette = "purple", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id     = 31
        layout = { x = 17, y = 127, width = 32, height = 14 }
        definition = {
          title       = "Not ready"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "1h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.replicaset.replicas_desired{$scope,$daemonset,$service,$namespace,$deployment,$label,$cluster,$node} by {replicaset}"
                },
                {
                  data_source = "metrics"
                  name        = "query2"
                  query       = "sum:kubernetes_state.replicaset.replicas_ready{$scope,$daemonset,$service,$namespace,$deployment,$label,$cluster,$node} by {replicaset}"
                }
              ]
              formulas     = [{ formula = "query1 - query2" }]
              style        = { palette = "orange", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id     = 32
        layout = { x = 151, y = 105, width = 43, height = 15 }
        definition = {
          title       = "Disk reads per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.io.read_bytes{$scope,$daemonset,$service,$namespace,$label,$cluster,$deployment,$node} by {replicaset,host}"
                },
                {
                  data_source = "metrics"
                  name        = "query2"
                  query       = "avg:kubernetes_state.replicaset.replicas_ready{$scope,$daemonset,$service,$namespace,$label,$cluster,$deployment,$node} by {host}"
                }
              ]
              formulas     = [{ formula = "query1 - query2" }]
              style        = { palette = "grey", line_type = "solid", line_width = "normal" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id     = 33
        layout = { x = 151, y = 88, width = 43, height = 16 }
        definition = {
          title       = "Disk writes per node"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.io.write_bytes{$scope,$daemonset,$service,$namespace,$label,$cluster,$deployment,$node} by {replicaset,host}"
                },
                {
                  data_source = "metrics"
                  name        = "query2"
                  query       = "avg:kubernetes_state.replicaset.replicas_ready{$scope,$daemonset,$service,$namespace,$label,$cluster,$deployment,$node} by {host}"
                }
              ]
              formulas     = [{ formula = "query1 - query2" }]
              style        = { palette = "grey", line_type = "solid", line_width = "normal" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id     = 34
        layout = { x = 0, y = 70, width = 49, height = 5 }
        definition = {
          type             = "note"
          content          = "DaemonSets"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 35
        layout = { x = 50, y = 70, width = 54, height = 5 }
        definition = {
          type             = "note"
          content          = "Deployments"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 36
        layout = { x = 0, y = 106, width = 49, height = 5 }
        definition = {
          type             = "note"
          content          = "ReplicaSets"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 37
        layout = { x = 50, y = 121, width = 54, height = 5 }
        definition = {
          type             = "note"
          content          = "Containers"
          background_color = "gray"
          font_size        = "18"
          text_align       = "center"
          show_tick        = false
          tick_pos         = "50%"
          tick_edge        = "bottom"
        }
      },
      {
        id     = 38
        layout = { x = 0, y = 112, width = 16, height = 14 }
        definition = {
          title       = "Ready"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "5m" }
          type        = "query_value"
          requests = [
            {
              conditional_formats = [{ value = 0, palette = "custom_text", comparator = ">", custom_fg_color = "#6a53a1" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.replicaset.replicas_ready{$scope,$deployment,$daemonset,$cluster,$label,$namespace,$service,$node}"
                  aggregator  = "last"
                }
              ]
            }
          ]
          autoscale    = true
        }
      },
      {
        id     = 39
        layout = { x = 0, y = 127, width = 16, height = 14 }
        definition = {
          title       = "Not ready"
          title_size  = "16"
          title_align = "left"
          time        = { live_span = "5m" }
          type        = "query_value"
          requests = [
            {
              conditional_formats = [{ value = 0, palette = "yellow_on_white", comparator = ">", custom_fg_color = "#6a53a1" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.replicaset.replicas_desired{$scope,$daemonset,$service,$namespace,$deployment,$label,$cluster,$node}"
                  aggregator  = "last"
                },
                {
                  data_source = "metrics"
                  name        = "query2"
                  query       = "sum:kubernetes_state.replicaset.replicas_ready{$scope,$daemonset,$service,$namespace,$deployment,$label,$cluster,$node}"
                  aggregator  = "last"
                }
              ]
              formulas = [{ formula = "query1 - query2" }]
            }
          ]
          autoscale    = true
        }
      },
      {
        id     = 40
        layout = { x = 17, y = 91, width = 32, height = 14 }
        definition = {
          title       = "Pods ready"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.daemonset.ready{$scope,$deployment,$daemonset,$service,$namespace,$label,$cluster,$node} by {daemonset}"
                }
              ]
              style        = { palette = "green", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id     = 41
        layout = { x = 37, y = 22, width = 33, height = 15 }
        definition = {
          title       = "Running pods per namespace"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.pods.running{$scope,$cluster,$namespace,$deployment,$daemonset,$label,$node,$service} by {cluster_name,kube_namespace}"
                }
              ]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
          yaxis = {
            label        = ""
            scale        = "linear"
            include_zero = true
            min          = "auto"
            max          = "auto"
          }
        }
      },
      {
        id     = 42
        layout = { x = 37, y = 54, width = 33, height = 15 }
        definition = {
          title       = "Pods in bad phase by namespaces"
          title_size  = "16"
          title_align = "left"
          type        = "toplist"
          requests = [
            {
              conditional_formats = [{ palette = "white_on_red", value = 0, comparator = ">" }, { palette = "white_on_green", value = 0, comparator = "<=" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.pod.status_phase{$scope,$cluster,$namespace,$deployment,$daemonset,!phase:running,!phase:succeeded,$label,$node,$service} by {cluster_name,kube_namespace,phase}"
                  aggregator  = "last"
                }
              ]
              formulas = [{ formula = "query1" }]
              sort     = { count = 100, order_by = [{ type = "formula", index = 0, order = "desc" }] }
            }
          ]
        }
      },
      {
        id     = 43
        layout = { x = 71, y = 54, width = 33, height = 15 }
        definition = {
          title       = "CrashloopBackOff by Pod"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.container.waiting{$cluster,$namespace,$deployment,reason:crashloopbackoff,$scope,$daemonset,$label,$node,$service} by {pod_name}"
                }
              ]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            }
          ]
          yaxis = {
            label        = ""
            scale        = "linear"
            include_zero = true
            min          = "auto"
            max          = "auto"
          }
          markers      = [{ label = "y = 0", value = "y = 0", display_type = "ok dashed" }]
        }
      },
      {
        id     = 44
        layout = { x = 71, y = 22, width = 33, height = 15 }
        definition = {
          title       = "Pods running by namespace"
          title_size  = "16"
          title_align = "left"
          type        = "toplist"
          requests = [
            {
              conditional_formats = [{ palette = "white_on_red", value = 2000, comparator = ">" }, { palette = "white_on_yellow", value = 1500, comparator = ">" }, { palette = "white_on_green", value = 3000, comparator = "<=" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.pods.running{$scope,$namespace,$deployment,$cluster,$daemonset,$label,$node,$service} by {cluster_name,kube_namespace}"
                  aggregator  = "max"
                }
              ]
              formulas = [{ formula = "query1" }]
              sort     = { count = 100, order_by = [{ type = "formula", index = 0, order = "desc" }] }
            }
          ]
        }
      },
      {
        id     = 45
        layout = { x = 71, y = 38, width = 33, height = 15 }
        definition = {
          title       = "Pods in ready state by node"
          title_size  = "16"
          title_align = "left"
          type        = "toplist"
          requests = [
            {
              conditional_formats = [{ palette = "white_on_green", value = 24, comparator = "<=" }, { palette = "white_on_red", value = 32, comparator = ">" }, { palette = "white_on_yellow", value = 24, comparator = ">" }]
              response_format     = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.pod.ready{$scope,$cluster,$namespace,$deployment,condition:true,$daemonset,$label,$node,$service} by {kubernetes_cluster,host,nodepool}"
                  aggregator  = "last"
                }
              ]
              formulas = [{ formula = "query1" }]
              sort     = { count = 10, order_by = [{ type = "formula", index = 0, order = "desc" }] }
            }
          ]
        }
      },
      {
        id     = 46
        layout = { x = 24, y = 0, width = 13, height = 7 }
        definition = {
          title       = "Clusters"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:kubernetes.pods.running{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster} by {cluster_name}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "count_nonzero(query1)" }]
            }
          ]
        }
      },
      {
        id     = 47
        layout = { x = 38, y = 0, width = 13, height = 7 }
        definition = {
          title       = "Namespaces"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:kubernetes.pods.running{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster} by {cluster_name,kube_namespace}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "count_nonzero(query1)" }]
            }
          ]
        }
      },
      {
        id     = 48
        layout = { x = 52, y = 8, width = 13, height = 7 }
        definition = {
          title       = "Deployments"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:kubernetes_state.deployment.replicas{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster} by {cluster_name,kube_namespace,kube_deployment}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "count_nonzero(query1)" }]
            }
          ]
        }
      },
      {
        id     = 49
        layout = { x = 52, y = 0, width = 13, height = 7 }
        definition = {
          title       = "Services"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.service.count{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster}"
                  aggregator  = "avg"
                }
              ]
            }
          ]
        }
      },
      {
        id     = 50
        layout = { x = 38, y = 8, width = 13, height = 7 }
        definition = {
          title       = "DaemonSets"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:kubernetes_state.daemonset.desired{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster} by {cluster_name,kube_namespace,kube_daemon_set}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "count_nonzero(query1)" }]
            }
          ]
        }
      },
      {
        id     = 51
        layout = { x = 24, y = 8, width = 13, height = 7 }
        definition = {
          title       = "Nodes"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes_state.node.count{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster}"
                  aggregator  = "avg"
                }
              ]
            }
          ]
        }
      },
      {
        id     = 52
        layout = { x = 66, y = 0, width = 13, height = 7 }
        definition = {
          title       = "Pods"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.pods.running{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster}"
                  aggregator  = "avg"
                }
              ]
            }
          ]
        }
      },
      {
        id     = 53
        layout = { x = 66, y = 8, width = 13, height = 7 }
        definition = {
          title       = "Containers"
          title_size  = "16"
          title_align = "left"
          type        = "query_value"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.containers.running{$scope,$label,$node,$service,$daemonset,$deployment,$namespace,$cluster}"
                  aggregator  = "avg"
                }
              ]
            }
          ]
        }
      },
      {
        id     = 54
        layout = { x = 151, y = 121, width = 43, height = 16 }
        definition = {
          title       = "Network errors per pod"
          title_size  = "16"
          title_align = "left"
          show_legend = false
          legend_size = "0"
          time        = { live_span = "4h" }
          type        = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.network.rx_errors{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {pod_name}"
                }
              ]
              style        = { palette = "warm", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            },
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "sum:kubernetes.network.tx_errors{$scope,$deployment,$daemonset,$namespace,$cluster,$label,$service,$node} by {pod_name}"
                }
              ]
              style        = { palette = "warm", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            }
          ]
          yaxis = {
            label        = ""
            scale        = "linear"
            include_zero = true
            min          = "auto"
            max          = "auto"
          }
        }
      }
    ]
    template_variables = [
      { name = "scope", available_values = [], default = "*" },
      { name = "cluster", prefix = "cluster_name", available_values = [], default = "aomap-ms" },
      { name = "namespace", prefix = "kube_namespace", available_values = [], default = "*" },
      { name = "deployment", prefix = "kube_deployment", available_values = [], default = "*" },
      { name = "daemonset", prefix = "kube_daemon_set", available_values = [], default = "*" },
      { name = "service", prefix = "kube_service", available_values = [], default = "*" },
      { name = "node", prefix = "node", available_values = [], default = "*" },
      { name = "label", prefix = "label", available_values = [], default = "*" }
    ]
    layout_type        = "free"
    notify_list        = []
    pause_auto_refresh = false
    tags = [
      "team:aoma-core-team"
    ]
  })
}