data "template_file" "filter" { template = "$${filter}" vars { filter = "${var.use_filter_tags == "true" ? format("dd_monitoring:enabled,dd_azure_appservices:enabled,subscription_id:%s,env:%s", var.subscription_id,var.environment) : var.subscription_id}" } } resource "datadog_monitor" "too_many_jobs_failed" { name = "[${var.environment}] IOT Hub Too many jobs failed on {{name}}" message = "${var.message}" query = < ${var.jobs_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.jobs_failed_threshold_warning}" critical = "${var.jobs_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_list_jobs_failed" { name = "[${var.environment}] IOT Hub Too many list_jobs failure on {{name}}" message = "${var.message}" query = < ${var.listjobs_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.listjobs_failed_threshold_warning}" critical = "${var.listjobs_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_query_jobs_failed" { name = "[${var.environment}] IOT Hub Too many query_jobs failed on {{name}}" message = "${var.message}" query = < ${var.queryjobs_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.queryjobs_failed_threshold_warning}" critical = "${var.queryjobs_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "status" { name = "[${var.environment}] IOT Hub Status is not ok on {{name}}" message = "${var.message}" query = < ${var.c2d_methods_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.c2d_methods_failed_threshold_warning}" critical = "${var.c2d_methods_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_c2d_twin_read_failed" { name = "[${var.environment}] IOT Hub Too many c2d twin read failure on {{name}}" message = "${var.message}" query = < ${var.c2d_twin_read_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.c2d_twin_read_failed_threshold_warning}" critical = "${var.c2d_twin_read_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_c2d_twin_update_failed" { name = "[${var.environment}] IOT Hub Too many c2d twin update failure on {{name}}" message = "${var.message}" query = < ${var.c2d_twin_update_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.c2d_twin_update_failed_threshold_warning}" critical = "${var.c2d_twin_update_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_d2c_twin_read_failed" { name = "[${var.environment}] IOT Hub Too many d2c twin read failure on {{name}}" message = "${var.message}" query = < ${var.d2c_twin_read_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.d2c_twin_read_failed_threshold_warning}" critical = "${var.d2c_twin_read_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_d2c_twin_update_failed" { name = "[${var.environment}] IOT Hub Too many d2c twin update failure on {{name}}" message = "${var.message}" query = < ${var.d2c_twin_update_failed_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.d2c_twin_update_failed_threshold_warning}" critical = "${var.d2c_twin_update_failed_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_d2c_telemetry_egress_dropped" { name = "[${var.environment}] IOT Hub Too many d2c telemetry egress dropped on {{name}}" message = "${var.message}" query = < ${var.d2c_telemetry_egress_dropped_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.d2c_telemetry_egress_dropped_threshold_warning}" critical = "${var.d2c_telemetry_egress_dropped_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_d2c_telemetry_egress_orphaned" { name = "[${var.environment}] IOT Hub Too many d2c telemetry egress orphaned on {{name}}" message = "${var.message}" query = < ${var.d2c_telemetry_egress_orphaned_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.d2c_telemetry_egress_orphaned_threshold_warning}" critical = "${var.d2c_telemetry_egress_orphaned_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_d2c_telemetry_egress_invalid" { name = "[${var.environment}] IOT Hub Too many d2c telemetry egress invalid on {{name}}" message = "${var.message}" query = < ${var.d2c_telemetry_egress_invalid_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.d2c_telemetry_egress_invalid_threshold_warning}" critical = "${var.d2c_telemetry_egress_invalid_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_d2c_telemetry_egress_fallback" { name = "[${var.environment}] IOT Hub Too many d2c telemetry egress fallback on {{name}}" message = "${var.message}" query = < ${var.d2c_telemetry_egress_fallback_threshold_critical} EOF type = "query alert" thresholds { warning = "${var.d2c_telemetry_egress_fallback_threshold_warning}" critical = "${var.d2c_telemetry_egress_fallback_threshold_critical}" } notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 } resource "datadog_monitor" "too_many_d2c_telemetry_ingress_nosent" { name = "[${var.environment}] IOT Hub Too many d2c telemetry ingress no sent on {{name}}" message = "${var.message}" query = < 0 EOF type = "query alert" notify_no_data = false evaluation_delay = "${var.delay}" renotify_interval = 0 notify_audit = false timeout_h = 0 include_tags = true locked = false require_full_window = true new_host_delay = "${var.delay}" no_data_timeframe = 20 }