MON-162 Add enabled variable for new Azure monitors

This commit is contained in:
Laurent Piroelle 2018-08-27 16:31:41 +02:00
parent 56d40bcb43
commit e2ce23c0f5
10 changed files with 189 additions and 1 deletions

View File

@ -28,6 +28,12 @@ variable "new_host_delay" {
}
# Azure CosmosDB specific variables
variable "status_enabled" {
description = "Flag to enable Cosmos DB status monitor"
type = "string"
default = "true"
}
variable "status_silenced" {
description = "Groups to mute for Cosmos DB status monitor"
type = "map"
@ -64,6 +70,12 @@ variable "cosmos_db_4xx_requests_message" {
default = ""
}
variable "cosmos_db_4xx_requests_enabled" {
description = "Flag to enable Cosmos DB 4xx requests monitor"
type = "string"
default = "true"
}
variable "cosmos_db_4xx_requests_silenced" {
description = "Groups to mute for Cosmos DB 4xx requests monitor"
type = "map"
@ -104,6 +116,12 @@ variable "cosmos_db_5xx_requests_message" {
default = ""
}
variable "cosmos_db_5xx_requests_enabled" {
description = "Flag to enable Cosmos DB 5xx requests monitor"
type = "string"
default = "true"
}
variable "cosmos_db_5xx_requests_silenced" {
description = "Groups to mute for Cosmos DB 5xx requests monitor"
type = "map"
@ -144,6 +162,12 @@ variable "cosmos_db_no_request_message" {
default = ""
}
variable "cosmos_db_no_request_enabled" {
description = "Flag to enable Cosmos DB no request monitor"
type = "string"
default = "true"
}
variable "cosmos_db_no_request_silenced" {
description = "Groups to mute for Cosmos DB no request monitor"
type = "map"
@ -174,6 +198,12 @@ variable "cosmos_db_ru_utilization_message" {
default = ""
}
variable "cosmos_db_ru_utilization_enabled" {
description = "Flag to enable Cosmos DB collection RU utilization monitor"
type = "string"
default = "true"
}
variable "cosmos_db_ru_utilization_silenced" {
description = "Groups to mute for Cosmos DB collection RU utilization monitor"
type = "map"

View File

@ -1,4 +1,6 @@
resource "datadog_monitor" "cosmos_db_status" {
count = "${var.status_enabled ? 1 : 0}"
name = "[${var.environment}] Cosmos DB is down"
message = "${coalesce(var.status_message, var.message)}"
@ -31,6 +33,8 @@ resource "datadog_monitor" "cosmos_db_status" {
}
resource "datadog_monitor" "cosmos_db_4xx_requests" {
count = "${var.cosmos_db_4xx_requests_enabled ? 1 : 0}"
name = "[${var.environment}] Cosmos DB 4xx requests rate is high {{#is_alert}}{{comparator}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{comparator}} {{warn_threshold}}% ({{value}}%){{/is_warning}}"
message = "${coalesce(var.cosmos_db_4xx_requests_message, var.message)}"
@ -88,6 +92,8 @@ resource "datadog_monitor" "cosmos_db_4xx_requests" {
}
resource "datadog_monitor" "cosmos_db_5xx_requests" {
count = "${var.cosmos_db_5xx_requests_enabled ? 1 : 0}"
name = "[${var.environment}] Cosmos DB 5xx requests rate is high {{#is_alert}}{{comparator}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{comparator}} {{warn_threshold}}% ({{value}}%){{/is_warning}}"
message = "${coalesce(var.cosmos_db_5xx_requests_message, var.message)}"
@ -129,6 +135,8 @@ resource "datadog_monitor" "cosmos_db_5xx_requests" {
}
resource "datadog_monitor" "cosmos_db_success_no_data" {
count = "${var.cosmos_db_no_request_enabled ? 1 : 0}"
name = "[${var.environment}] Cosmos DB has no request"
message = "${coalesce(var.cosmos_db_no_request_message, var.message)}"
@ -157,7 +165,7 @@ resource "datadog_monitor" "cosmos_db_success_no_data" {
}
resource "datadog_monitor" "cosmos_db_ru_utilization" {
count = "${length(var.cosmos_db_ru_utilization_collections)}"
count = "${var.cosmos_db_ru_utilization_enabled ? length(var.cosmos_db_ru_utilization_collections) : 0}"
name = "[${var.environment}] Cosmos DB collection ${element(keys(var.cosmos_db_ru_utilization_collections),count.index)} RU utilization is high {{#is_alert}}{{comparator}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{comparator}} {{warn_threshold}}% ({{value}}%){{/is_warning}}"
message = "${coalesce(var.cosmos_db_ru_utilization_message, var.message)}"

View File

@ -28,6 +28,12 @@ variable "new_host_delay" {
}
# Azure Datalake Store specific variables
variable "status_enabled" {
description = "Flag to enable Datalake Store status monitor"
type = "string"
default = "true"
}
variable "status_silenced" {
description = "Groups to mute for Datalake Store status monitor"
type = "map"

View File

@ -1,4 +1,6 @@
resource "datadog_monitor" "datalakestore_status" {
count = "${var.status_enabled ? 1 : 0}"
name = "[${var.environment}] Datalake Store is down"
message = "${coalesce(var.status_message, var.message)}"

View File

@ -907,6 +907,12 @@ variable "redis_server_load_rate_threshold_warning" {
}
# Azure Service Bus specific variables
variable "servicebus_status_enabled" {
description = "Flag to enable Service Bus status monitor"
type = "string"
default = "true"
}
variable "servicebus_status_silenced" {
description = "Groups to mute for Service Bus status monitor"
type = "map"
@ -930,6 +936,12 @@ variable "servicebus_status_timeframe" {
default = "last_5m"
}
variable "servicebus_no_active_connections_enabled" {
description = "Flag to enable Service Bus status monitor"
type = "string"
default = "true"
}
variable "servicebus_no_active_connections_silenced" {
description = "Groups to mute for Service Bus status monitor"
type = "map"
@ -960,6 +972,12 @@ variable "servicebus_server_errors_message" {
default = ""
}
variable "servicebus_server_errors_enabled" {
description = "Flag to enable Service Bus server errors monitor"
type = "string"
default = "true"
}
variable "servicebus_server_errors_silenced" {
description = "Groups to mute for Service Bus server errors monitor"
type = "map"
@ -988,6 +1006,12 @@ variable "servicebus_user_errors_message" {
default = ""
}
variable "servicebus_user_errors_enabled" {
description = "Flag to enable Service Bus user errors monitor"
type = "string"
default = "true"
}
variable "servicebus_user_errors_silenced" {
description = "Groups to mute for Service Bus user errors monitor"
type = "map"
@ -1599,6 +1623,12 @@ variable "streamanalytics_runtime_errors_threshold_critical" {
}
# Azure CosmosDB specific variables
variable "cosmos_db_status_enabled" {
description = "Flag to enable Cosmos DB status monitor"
type = "string"
default = "true"
}
variable "cosmos_db_status_silenced" {
description = "Groups to mute for Cosmos DB status monitor"
type = "map"
@ -1635,6 +1665,12 @@ variable "cosmos_db_4xx_requests_message" {
default = ""
}
variable "cosmos_db_4xx_requests_enabled" {
description = "Flag to enable Cosmos DB 4xx requests monitor"
type = "string"
default = "true"
}
variable "cosmos_db_4xx_requests_silenced" {
description = "Groups to mute for Cosmos DB 4xx requests monitor"
type = "map"
@ -1675,6 +1711,12 @@ variable "cosmos_db_5xx_requests_message" {
default = ""
}
variable "cosmos_db_5xx_requests_enabled" {
description = "Flag to enable Cosmos DB 5xx requests monitor"
type = "string"
default = "true"
}
variable "cosmos_db_5xx_requests_silenced" {
description = "Groups to mute for Cosmos DB 5xx requests monitor"
type = "map"
@ -1715,6 +1757,12 @@ variable "cosmos_db_no_request_message" {
default = ""
}
variable "cosmos_db_no_request_enabled" {
description = "Flag to enable Cosmos DB no request monitor"
type = "string"
default = "true"
}
variable "cosmos_db_no_request_silenced" {
description = "Groups to mute for Cosmos DB no request monitor"
type = "map"
@ -1745,6 +1793,12 @@ variable "cosmos_db_ru_utilization_message" {
default = ""
}
variable "cosmos_db_ru_utilization_enabled" {
description = "Flag to enable Cosmos DB collection RU utilization monitor"
type = "string"
default = "true"
}
variable "cosmos_db_ru_utilization_silenced" {
description = "Groups to mute for Cosmos DB collection RU utilization monitor"
type = "map"
@ -1785,6 +1839,12 @@ variable "cosmos_db_ru_utilization_collections" {
}
# Azure Datalake Store specific variables
variable "datalakestore_status_enabled" {
description = "Flag to enable Datalake Store status monitor"
type = "string"
default = "true"
}
variable "datalakestore_status_silenced" {
description = "Groups to mute for Datalake Store status monitor"
type = "map"
@ -1814,6 +1874,12 @@ variable "datalakestore_status_extra_tags" {
default = []
}
variable "keyvault_status_enabled" {
description = "Flag to enable Key Vault status monitor"
type = "string"
default = "true"
}
variable "keyvault_status_silenced" {
description = "Groups to mute for Key Vault status monitor"
type = "map"
@ -1843,6 +1909,12 @@ variable "keyvault_status_extra_tags" {
default = []
}
variable "keyvault_api_result_enabled" {
description = "Flag to enable Key Vault API result monitor"
type = "string"
default = "true"
}
variable "keyvault_api_result_silenced" {
description = "Groups to mute for Key Vault API result monitor"
type = "map"
@ -1882,6 +1954,12 @@ variable "keyvault_api_result_extra_tags" {
default = []
}
variable "keyvault_api_latency_enabled" {
description = "Flag to enable Key Vault API latency monitor"
type = "string"
default = "true"
}
variable "keyvault_api_latency_silenced" {
description = "Groups to mute for Key Vault API latency monitor"
type = "map"

View File

@ -28,6 +28,12 @@ variable "new_host_delay" {
}
# Azure Key Vault specific variables
variable "status_enabled" {
description = "Flag to enable Key Vault status monitor"
type = "string"
default = "true"
}
variable "status_silenced" {
description = "Groups to mute for Key Vault status monitor"
type = "map"
@ -57,6 +63,12 @@ variable "status_extra_tags" {
default = []
}
variable "api_result_enabled" {
description = "Flag to enable Key Vault API result monitor"
type = "string"
default = "true"
}
variable "api_result_silenced" {
description = "Groups to mute for Key Vault API result monitor"
type = "map"
@ -96,6 +108,12 @@ variable "api_result_extra_tags" {
default = []
}
variable "api_latency_enabled" {
description = "Flag to enable Key Vault API latency monitor"
type = "string"
default = "true"
}
variable "api_latency_silenced" {
description = "Groups to mute for Key Vault API latency monitor"
type = "map"

View File

@ -1,4 +1,6 @@
resource "datadog_monitor" "keyvault_status" {
count = "${var.status_enabled ? 1 : 0}"
name = "[${var.environment}] Key Vault is down"
message = "${coalesce(var.status_message, var.message)}"
@ -26,6 +28,8 @@ resource "datadog_monitor" "keyvault_status" {
}
resource "datadog_monitor" "keyvault_api_result" {
count = "${var.api_result_enabled ? 1 : 0}"
name = "[${var.environment}] Key Vault API result rate is low {{#is_alert}}{{{comparator}}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}% ({{value}}%){{/is_warning}}"
message = "${coalesce(var.status_message, var.message)}"
@ -59,6 +63,8 @@ resource "datadog_monitor" "keyvault_api_result" {
}
resource "datadog_monitor" "keyvault_api_latency" {
count = "${var.api_latency_enabled ? 1 : 0}"
name = "[${var.environment}] Key Vault API latency is high {{#is_alert}}{{{comparator}}} {{threshold}}ms ({{value}}ms){{/is_alert}}{{#is_warning}}{{{comparator}}} {{warn_threshold}}ms ({{value}}ms){{/is_warning}}"
message = "${coalesce(var.status_message, var.message)}"

View File

@ -398,12 +398,14 @@ module "cosmosdb" {
filter_tags_use_defaults = "${var.filter_tags_use_defaults}"
filter_tags_custom = "${var.filter_tags_custom}"
status_enabled = "${var.cosmos_db_status_enabled}"
status_message = "${var.cosmos_db_status_message}"
status_silenced = "${var.cosmos_db_status_silenced}"
status_extra_tags = "${var.cosmos_db_status_extra_tags}"
status_time_aggregator = "${var.cosmos_db_status_time_aggregator}"
status_timeframe = "${var.cosmos_db_status_timeframe}"
cosmos_db_4xx_requests_enabled = "${var.cosmos_db_4xx_requests_enabled}"
cosmos_db_4xx_request_rate_threshold_critical = "${var.cosmos_db_4xx_request_rate_threshold_critical}"
cosmos_db_4xx_request_rate_threshold_warning = "${var.cosmos_db_4xx_request_rate_threshold_warning}"
cosmos_db_4xx_requests_message = "${var.cosmos_db_4xx_requests_message}"
@ -412,6 +414,7 @@ module "cosmosdb" {
cosmos_db_4xx_request_time_aggregator = "${var.cosmos_db_4xx_request_time_aggregator}"
cosmos_db_4xx_request_timeframe = "${var.cosmos_db_4xx_request_timeframe}"
cosmos_db_5xx_requests_enabled = "${var.cosmos_db_5xx_requests_enabled}"
cosmos_db_5xx_request_rate_threshold_critical = "${var.cosmos_db_5xx_request_rate_threshold_critical}"
cosmos_db_5xx_request_rate_threshold_warning = "${var.cosmos_db_5xx_request_rate_threshold_warning}"
cosmos_db_5xx_requests_message = "${var.cosmos_db_5xx_requests_message}"
@ -420,12 +423,14 @@ module "cosmosdb" {
cosmos_db_5xx_request_time_aggregator = "${var.cosmos_db_5xx_request_time_aggregator}"
cosmos_db_5xx_request_timeframe = "${var.cosmos_db_5xx_request_timeframe}"
cosmos_db_no_request_enabled = "${var.cosmos_db_no_request_enabled}"
cosmos_db_no_request_message = "${var.cosmos_db_no_request_message}"
cosmos_db_no_request_silenced = "${var.cosmos_db_no_request_silenced}"
cosmos_db_no_request_extra_tags = "${var.cosmos_db_no_request_extra_tags}"
cosmos_db_no_request_time_aggregator = "${var.cosmos_db_no_request_time_aggregator}"
cosmos_db_no_request_timeframe = "${var.cosmos_db_no_request_timeframe}"
cosmos_db_ru_utilization_enabled = "${var.cosmos_db_ru_utilization_enabled}"
cosmos_db_ru_utilization_rate_threshold_critical = "${var.cosmos_db_ru_utilization_rate_threshold_critical}"
cosmos_db_ru_utilization_rate_threshold_warning = "${var.cosmos_db_ru_utilization_rate_threshold_warning}"
cosmos_db_ru_utilization_message = "${var.cosmos_db_ru_utilization_message}"
@ -447,6 +452,7 @@ module "datalakestore" {
filter_tags_use_defaults = "${var.filter_tags_use_defaults}"
filter_tags_custom = "${var.filter_tags_custom}"
status_enabled = "${var.datalakestore_status_enabled}"
status_silenced = "${var.datalakestore_status_silenced}"
status_message = "${var.datalakestore_status_message}"
status_timeframe = "${var.datalakestore_status_timeframe}"
@ -465,6 +471,7 @@ module "keyvault" {
filter_tags_use_defaults = "${var.filter_tags_use_defaults}"
filter_tags_custom = "${var.filter_tags_custom}"
status_enabled = "${var.keyvault_status_enabled}"
status_silenced = "${var.keyvault_status_silenced}"
status_message = "${var.keyvault_status_message}"
status_timeframe = "${var.keyvault_status_timeframe}"
@ -480,6 +487,7 @@ module "keyvault" {
api_result_threshold_warning = "${var.keyvault_api_result_threshold_warning}"
api_result_extra_tags = "${var.keyvault_api_result_extra_tags}"
api_latency_enabled = "${var.keyvault_api_latency_enabled}"
api_latency_silenced = "${var.keyvault_api_latency_silenced}"
api_latency_message = "${var.keyvault_api_latency_message}"
api_latency_timeframe = "${var.keyvault_api_latency_timeframe}"

View File

@ -30,6 +30,12 @@ variable "filter_tags_custom" {
}
# Azure Service Bus specific variables
variable "status_enabled" {
description = "Flag to enable Service Bus status monitor"
type = "string"
default = "true"
}
variable "status_silenced" {
description = "Groups to mute for Service Bus status monitor"
type = "map"
@ -59,6 +65,12 @@ variable "status_timeframe" {
default = "last_5m"
}
variable "no_active_connections_enabled" {
description = "Flag to enable Service Bus status monitor"
type = "string"
default = "true"
}
variable "no_active_connections_silenced" {
description = "Groups to mute for Service Bus status monitor"
type = "map"
@ -89,6 +101,12 @@ variable "server_errors_message" {
default = ""
}
variable "server_errors_enabled" {
description = "Flag to enable Service Bus server errors monitor"
type = "string"
default = "true"
}
variable "server_errors_silenced" {
description = "Groups to mute for Service Bus server errors monitor"
type = "map"
@ -117,6 +135,12 @@ variable "user_errors_message" {
default = ""
}
variable "user_errors_enabled" {
description = "Flag to enable Service Bus user errors monitor"
type = "string"
default = "true"
}
variable "user_errors_silenced" {
description = "Groups to mute for Service Bus user errors monitor"
type = "map"

View File

@ -1,4 +1,6 @@
resource "datadog_monitor" "servicebus_status" {
count = "${var.status_enabled ? 1 : 0}"
name = "[${var.environment}] Service Bus is down"
message = "${coalesce(var.status_message, var.message)}"
@ -26,6 +28,8 @@ EOF
}
resource "datadog_monitor" "service_bus_no_active_connections" {
count = "${var.no_active_connections_enabled ? 1 : 0}"
name = "[${var.environment}] Service Bus has no active connection"
message = "${coalesce(var.no_active_connections_message, var.message)}"
@ -53,6 +57,8 @@ resource "datadog_monitor" "service_bus_no_active_connections" {
}
resource "datadog_monitor" "service_bus_user_errors" {
count = "${var.user_errors_enabled ? 1 : 0}"
name = "[${var.environment}] Service Bus user errors rate is high {{#is_alert}}{{comparator}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{comparator}} {{warn_threshold}}% ({{value}}%){{/is_warning}}"
message = "${coalesce(var.user_errors_message, var.message)}"
@ -87,6 +93,8 @@ resource "datadog_monitor" "service_bus_user_errors" {
}
resource "datadog_monitor" "service_bus_server_errors" {
count = "${var.server_errors_enabled ? 1 : 0}"
name = "[${var.environment}] Service Bus server errors rate is high {{#is_alert}}{{comparator}} {{threshold}}% ({{value}}%){{/is_alert}}{{#is_warning}}{{comparator}} {{warn_threshold}}% ({{value}}%){{/is_warning}}"
message = "${coalesce(var.server_errors_message, var.message)}"