resource "datadog_dashboard_json" "amp_prod_db_health_dashboard_json" {
  dashboard = jsonencode({
    title       = "AMP Prod DB Health Overview"
    description = "AMP Prod DB Health Overview"
    widgets = [
      {
        id = 332765078
        definition = {
          title          = "Number of DB Connections - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.database_connections{name:amp-assets-rds-prod-01} by {hostname}"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id = 332765139
        definition = {
          title = "Avg Number of Connections - AMP"
          type  = "query_value"
          requests = [
            {
              conditional_formats = [
                { palette = "white_on_green", value = 2000, comparator = "<" },
                { palette = "white_on_red", value = 2000, comparator = ">" },
              ]
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.database_connections{name:amp-assets-rds-prod-01} by {name}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "query1" }]
            }
          ]
          autoscale = true
          precision = 2
        }
      },
      {
        id = 332765362
        definition = {
          title = "Available Storage Space - AMP"
          type  = "query_value"
          requests = [
            {
              conditional_formats = [
                { palette = "white_on_green", value = 100, comparator = ">=" }
              ]
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.free_storage_space{name:amp-assets-rds-prod-01*} by {name}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "query1" }]
            }
          ]
          autoscale = true
          precision = 2
        }
      },
      {
        id = 332765577
        definition = {
          title          = "Percentage of CPU utilization - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.cpuutilization{name:amp-assets-rds-prod-01} by {name}"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id = 332767305
        definition = {
          title = "Avg of CPU usage - AMP"
          type  = "query_value"
          requests = [
            {
              conditional_formats = [
                { palette = "white_on_green", value = 90, comparator = "<" },
                { palette = "white_on_red", value = 90, comparator = ">" },
              ]
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.cpuutilization{name:amp-assets-rds-prod-01} by {name}"
                  aggregator  = "avg"
                }
              ]
              formulas = [{ formula = "query1" }]
            }
          ]
          autoscale = true
          precision = 2
        }
      },
      {
        id = 332765415
        definition = {
          title          = "Memory Available on DB - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.freeable_memory{name:amp-assets-rds-prod-01} by {name}"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "line"
            }
          ]
        }
      },
      {
        id = 332768703
        definition = {
          title          = "Read iops - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.read_iops{name:amp-assets-rds-prod-01} by {name}.as_count()"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            }
          ]
        }
      },
      {
        id = 332769110
        definition = {
          title          = "Read latency - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.read_latency{name:amp-assets-rds-prod-01} by {name}"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id = 332770183
        definition = {
          title = "Max read latency - AMP"
          type  = "query_value"
          requests = [
            {
              conditional_formats = [
                { palette = "white_on_yellow", value = 1, comparator = "<" }
              ]
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.read_latency{name:amp-assets-rds-prod-01} by {name}"
                  aggregator  = "max"
                }
              ]
              formulas = [{ formula = "query1" }]
            }
          ]
          autoscale = true
          precision = 2
        }
      },
      {
        id = 332770386
        definition = {
          title          = "Write iops  - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.write_iops{name:amp-assets-rds-prod-01} by {name}.as_count()"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "orange", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            }
          ]
        }
      },
      {
        id = 332770397
        definition = {
          title          = "Write latency - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.write_latency{name:amp-assets-rds-prod-01} by {name}"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id = 332770406
        definition = {
          title = "Max write latency - AMP"
          type  = "query_value"
          requests = [
            {
              conditional_formats = [
                { palette = "white_on_yellow", value = 1, comparator = "<" }
              ]
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.write_latency{name:amp-assets-rds-prod-01} by {name}"
                  aggregator  = "max"
                }
              ]
              formulas = [{ formula = "query1" }]
            }
          ]
          autoscale = true
          precision = 1
        }
      },
      {
        id = 332770476
        definition = {
          title       = "Write Throughput - AMP"
          show_legend = false
          type        = "heatmap"
          requests = [
            {
              style           = { palette = "dog_classic" }
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.write_throughput{name:amp-assets-rds-prod-01} by {host}.as_count()"
                }
              ]
              formulas = [{ formula = "query1" }]
            }
          ]
        }
      },
      {
        id = 332770488
        definition = {
          title       = "Read Throughput - AMP"
          show_legend = false
          type        = "heatmap"
          requests = [
            {
              style           = { palette = "dog_classic" }
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.read_throughput{name:amp-assets-rds-prod-01} by {host}.as_count()"
                }
              ]
              formulas = [{ formula = "query1" }]
            }
          ]
        }
      },
      {
        id = 332770588
        definition = {
          title          = "Number of outstanding IOs (read/write requests) waiting to access the disk"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.disk_queue_depth{name:amp-assets-rds-prod-01} by {name}"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "area"
            }
          ]
        }
      },
      {
        id = 332770699
        definition = {
          title          = "Outgoing network traffic - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.network_transmit_throughput{name:amp-assets-rds-prod-01} by {name}.as_count()"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            }
          ]
        }
      },
      {
        id = 332770785
        definition = {
          title          = "Incoming network traffic - AMP"
          show_legend    = true
          legend_layout  = "auto"
          legend_columns = ["avg", "min", "max", "value", "sum"]
          type           = "timeseries"
          requests = [
            {
              response_format = "timeseries"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query1"
                  query       = "avg:aws.rds.network_receive_throughput{name:amp-assets-rds-prod-01} by {name}.as_count()"
                }
              ]
              formulas     = [{ formula = "query1" }]
              style        = { palette = "dog_classic", line_type = "solid", line_width = "normal" }
              display_type = "bars"
            }
          ]
        }
      }
    ]
    layout_type        = "ordered"
    reflow_type        = "auto"
    pause_auto_refresh = false
    tags               = ["team:aoma-amp-del-data", "team:amp-team", "team:aoma-core-team"]
  })
}
