# alert if there are more than 2 messages in DLQ topic in last 15 minutes.
resource "datadog_monitor" "lambda_errors_monitor" {
  count   = 1
  name    = "${var.environment}-${var.smf_service_name}-DLQ-monitor"
  type    = "metric alert"
  message = "[${var.environment}] ${var.smf_service_name} sent a message into DLQ topic. Notify: ${var.notification_endpoints}"

  query = "max(last_15m):avg:aws.kafka.messages_in_per_sec{cluster_name:${var.kafka_topics_cluster_name},topic:${lower(var.dlq_topic_name)}} > ${var.dlq_number_errors}"

  monitor_thresholds {
    critical = var.dlq_number_errors
  }

  notify_no_data      = false
  notify_audit        = false
  renotify_interval   = 60
  timeout_h           = 1
  require_full_window = false
  renotify_statuses   = ["alert"]
  tags                = local.datadog_tags
}
