diff --git a/cloud/azure/storage/inputs.tf b/cloud/azure/storage/inputs.tf index f8a1acc..f95aee2 100644 --- a/cloud/azure/storage/inputs.tf +++ b/cloud/azure/storage/inputs.tf @@ -489,4 +489,3 @@ variable "status_extra_tags" { type = list(string) default = [] } - diff --git a/cloud/azure/storage/monitors-azure-storage.tf b/cloud/azure/storage/monitors-azure-storage.tf index 4717e1d..fc0aeb1 100644 --- a/cloud/azure/storage/monitors-azure-storage.tf +++ b/cloud/azure/storage/monitors-azure-storage.tf @@ -74,8 +74,7 @@ resource "datadog_monitor" "fileservices_requests_error" { count = var.successful_requests_enabled == "true" ? 1 : 0 name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Storage File service too few successful requests {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.successful_requests_message, var.message) - -query = < ${var.latency_threshold_critical} @@ -263,7 +262,7 @@ resource "datadog_monitor" "queueservices_latency" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Storage Queue service too high end to end latency {{#is_alert}}{{{comparator}}} {{threshold}}ms ({{value}}ms){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}ms ({{value}}ms){{/is_warning}}" message = coalesce(var.latency_message, var.message) -query = < ${var.latency_threshold_critical} @@ -293,7 +292,6 @@ EOQ } tags = concat(["env:${var.environment}", "type:cloud", "provider:azure", "resource:storage", "team:claranet", "created-by:terraform"], var.latency_extra_tags) - } resource "datadog_monitor" "tableservices_latency" { @@ -331,7 +329,6 @@ EOQ } tags = concat(["env:${var.environment}", "type:cloud", "provider:azure", "resource:storage", "team:claranet", "created-by:terraform"], var.latency_extra_tags) - } resource "datadog_monitor" "blob_timeout_error_requests" { @@ -340,12 +337,12 @@ resource "datadog_monitor" "blob_timeout_error_requests" { message = coalesce(var.timeout_error_requests_message, var.message) query = < ${var.timeout_error_requests_threshold_critical} + ${var.timeout_error_requests_time_aggregator}(${var.timeout_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags-timeout-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.timeout_error_requests_threshold_critical} EOQ - thresholds = { critical = var.timeout_error_requests_threshold_critical warning = var.timeout_error_requests_threshold_warning @@ -376,13 +373,13 @@ resource "datadog_monitor" "file_timeout_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure File Storage too many timeout errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.timeout_error_requests_message, var.message) -query = < ${var.timeout_error_requests_threshold_critical} + query = < ${var.timeout_error_requests_threshold_critical} EOQ - thresholds = { critical = var.timeout_error_requests_threshold_critical warning = var.timeout_error_requests_threshold_warning @@ -413,10 +410,11 @@ resource "datadog_monitor" "queue_timeout_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Queue Storage too many timeout errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.timeout_error_requests_message, var.message) -query = < ${var.timeout_error_requests_threshold_critical} + query = < ${var.timeout_error_requests_threshold_critical} EOQ @@ -451,9 +449,10 @@ resource "datadog_monitor" "table_timeout_error_requests" { message = coalesce(var.timeout_error_requests_message, var.message) query = < ${var.timeout_error_requests_threshold_critical} + ${var.timeout_error_requests_time_aggregator}(${var.timeout_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags-timeout-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.timeout_error_requests_threshold_critical} EOQ @@ -488,9 +487,10 @@ resource "datadog_monitor" "blob_network_error_requests" { message = coalesce(var.network_error_requests_message, var.message) query = < ${var.network_error_requests_threshold_critical} + ${var.network_error_requests_time_aggregator}(${var.network_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags-network-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.network_error_requests_threshold_critical} EOQ @@ -524,10 +524,11 @@ resource "datadog_monitor" "file_network_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure File Storage too many network errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.network_error_requests_message, var.message) -query = < ${var.network_error_requests_threshold_critical} + query = < ${var.network_error_requests_threshold_critical} EOQ @@ -561,10 +562,11 @@ resource "datadog_monitor" "queue_network_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Queue Storage too many network errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.network_error_requests_message, var.message) -query = < ${var.network_error_requests_threshold_critical} + query = < ${var.network_error_requests_threshold_critical} EOQ @@ -591,7 +593,6 @@ EOQ } tags = concat(["env:${var.environment}", "type:cloud", "provider:azure", "resource:storage", "team:claranet", "created-by:terraform"], var.network_error_requests_extra_tags) - } resource "datadog_monitor" "table_network_error_requests" { @@ -600,9 +601,10 @@ resource "datadog_monitor" "table_network_error_requests" { message = coalesce(var.network_error_requests_message, var.message) query = < ${var.network_error_requests_threshold_critical} + ${var.network_error_requests_time_aggregator}(${var.network_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags-network-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.network_error_requests_threshold_critical} EOQ @@ -637,9 +639,10 @@ resource "datadog_monitor" "blob_throttling_error_requests" { message = coalesce(var.throttling_error_requests_message, var.message) query = < ${var.throttling_error_requests_threshold_critical} + ${var.throttling_error_requests_time_aggregator}(${var.throttling_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags-throttling-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.throttling_error_requests_threshold_critical} EOQ @@ -673,10 +676,11 @@ resource "datadog_monitor" "file_throttling_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Storage too many throttling errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.throttling_error_requests_message, var.message) -query = < ${var.throttling_error_requests_threshold_critical} + query = < ${var.throttling_error_requests_threshold_critical} EOQ @@ -699,7 +703,6 @@ EOQ renotify_interval = 0 tags = concat(["env:${var.environment}", "type:cloud", "provider:azure", "resource:storage", "team:claranet", "created-by:terraform"], var.throttling_error_requests_extra_tags) - } resource "datadog_monitor" "queue_throttling_error_requests" { @@ -707,10 +710,11 @@ resource "datadog_monitor" "queue_throttling_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Storage too many throttling errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.throttling_error_requests_message, var.message) -query = < ${var.throttling_error_requests_threshold_critical} + query = < ${var.throttling_error_requests_threshold_critical} EOQ @@ -745,9 +749,10 @@ resource "datadog_monitor" "table_throttling_error_requests" { message = coalesce(var.throttling_error_requests_message, var.message) query = < ${var.throttling_error_requests_threshold_critical} + ${var.throttling_error_requests_time_aggregator}(${var.throttling_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags-throttling-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.throttling_error_requests_threshold_critical} EOQ @@ -776,15 +781,18 @@ EOQ } } + + resource "datadog_monitor" "blob_server_other_error_requests" { count = var.server_other_error_requests_enabled == "true" ? 1 : 0 name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Blob Storage too many server_other errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.server_other_error_requests_message, var.message) query = < ${var.server_other_error_requests_threshold_critical} + ${var.server_other_error_requests_time_aggregator}(${var.server_other_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags-server-other-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.server_other_error_requests_threshold_critical} EOQ @@ -818,10 +826,11 @@ resource "datadog_monitor" "file_server_other_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure File Storage too many server_other errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.server_other_error_requests_message, var.message) -query = < ${var.server_other_error_requests_threshold_critical} + query = < ${var.server_other_error_requests_threshold_critical} EOQ @@ -855,10 +864,11 @@ resource "datadog_monitor" "queue_server_other_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Queue Storage too many server_other errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.server_other_error_requests_message, var.message) -query = < ${var.server_other_error_requests_threshold_critical} + query = < ${var.server_other_error_requests_threshold_critical} EOQ @@ -885,7 +895,6 @@ EOQ } tags = concat(["env:${var.environment}", "type:cloud", "provider:azure", "resource:storage", "team:claranet", "created-by:terraform"], var.server_other_error_requests_extra_tags) - } resource "datadog_monitor" "table_server_other_error_requests" { @@ -894,9 +903,10 @@ resource "datadog_monitor" "table_server_other_error_requests" { message = coalesce(var.server_other_error_requests_message, var.message) query = < ${var.server_other_error_requests_threshold_critical} + ${var.server_other_error_requests_time_aggregator}(${var.server_other_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags-server-other-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.server_other_error_requests_threshold_critical} EOQ @@ -929,11 +939,11 @@ resource "datadog_monitor" "blob_client_other_error_requests" { count = var.client_other_error_requests_enabled == "true" ? 1 : 0 name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Blob Storage too many client_other errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.client_other_error_requests_message, var.message) - - query = < ${var.client_other_error_requests_threshold_critical} +query = < ${var.client_other_error_requests_threshold_critical} EOQ @@ -967,10 +977,11 @@ resource "datadog_monitor" "file_client_other_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure File Storage too many client_other errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.client_other_error_requests_message, var.message) -query = < ${var.client_other_error_requests_threshold_critical} + query = < ${var.client_other_error_requests_threshold_critical} EOQ @@ -1004,10 +1015,11 @@ resource "datadog_monitor" "queue_client_other_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Queue Storage too many client_other errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.client_other_error_requests_message, var.message) -query = < ${var.client_other_error_requests_threshold_critical} + query = < ${var.client_other_error_requests_threshold_critical} EOQ @@ -1034,7 +1046,6 @@ EOQ } tags = concat(["env:${var.environment}", "type:cloud", "provider:azure", "resource:storage", "team:claranet", "created-by:terraform"], var.client_other_error_requests_extra_tags) - } resource "datadog_monitor" "table_client_other_error_requests" { @@ -1043,9 +1054,10 @@ resource "datadog_monitor" "table_client_other_error_requests" { message = coalesce(var.client_other_error_requests_message, var.message) query = < ${var.client_other_error_requests_threshold_critical} + ${var.client_other_error_requests_time_aggregator}(${var.client_other_error_requests_timeframe}): + default((default(sum:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags-client-other-error.query_alert} by {name}.as_rate(),0) / + default(sum:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.client_other_error_requests_threshold_critical} EOQ @@ -1080,9 +1092,10 @@ resource "datadog_monitor" "blob_authorization_error_requests" { message = coalesce(var.authorization_error_requests_message, var.message) query = < ${var.authorization_error_requests_threshold_critical} + ${var.authorization_error_requests_time_aggregator}(${var.authorization_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags-authorization-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_blobservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.authorization_error_requests_threshold_critical} EOQ @@ -1116,10 +1129,11 @@ resource "datadog_monitor" "file_authorization_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure File Storage too many authorization errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.authorization_error_requests_message, var.message) -query = < ${var.authorization_error_requests_threshold_critical} + query = < ${var.authorization_error_requests_threshold_critical} EOQ @@ -1146,7 +1160,6 @@ EOQ } tags = concat(["env:${var.environment}", "type:cloud", "provider:azure", "resource:storage", "team:claranet", "created-by:terraform"], var.authorization_error_requests_extra_tags) - } resource "datadog_monitor" "queue_authorization_error_requests" { @@ -1154,10 +1167,11 @@ resource "datadog_monitor" "queue_authorization_error_requests" { name = "${var.prefix_slug == "" ? "" : "[${var.prefix_slug}]"}[${var.environment}] Azure Queue Storage too many authorization errors {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}" message = coalesce(var.authorization_error_requests_message, var.message) -query = < ${var.authorization_error_requests_threshold_critical} + query = < ${var.authorization_error_requests_threshold_critical} EOQ @@ -1192,9 +1206,10 @@ resource "datadog_monitor" "table_authorization_error_requests" { message = coalesce(var.authorization_error_requests_message, var.message) query = < ${var.authorization_error_requests_threshold_critical} + ${var.authorization_error_requests_time_aggregator}(${var.authorization_error_requests_timeframe}): + default((default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags-authorization-error.query_alert} by {name}.as_rate(),0) / + default(avg:azure.storage_storageaccounts_tableservices.transactions${module.filter-tags.query_alert} by {name}.as_rate(),0) + * 100),0) > ${var.authorization_error_requests_threshold_critical} EOQ