From d2e1aa5efddea62258790c9b0afff8dea0d51cf4 Mon Sep 17 00:00:00 2001 From: Laurent Piroelle Date: Mon, 30 Oct 2017 11:40:16 +0100 Subject: [PATCH] MON-77 Azure Event Hub monitors --- cloud/azure/eventhub/inputs.tf | 31 ++++++++ cloud/azure/eventhub/monitors-eventhub.tf | 86 +++++++++++++++++++++++ cloud/azure/eventhub/outputs.tf | 11 +++ 3 files changed, 128 insertions(+) create mode 100644 cloud/azure/eventhub/inputs.tf create mode 100644 cloud/azure/eventhub/monitors-eventhub.tf create mode 100644 cloud/azure/eventhub/outputs.tf diff --git a/cloud/azure/eventhub/inputs.tf b/cloud/azure/eventhub/inputs.tf new file mode 100644 index 0000000..a1c7ec4 --- /dev/null +++ b/cloud/azure/eventhub/inputs.tf @@ -0,0 +1,31 @@ +variable "environment" {} + +variable "down_message" {} + +variable "failed_requests_message" {} + +variable "errors_message" {} + +variable "delay" { + default = 600 +} + +variable "failed_requests_rate_thresold_critical" { + default = 5 +} + +variable "failed_requests_rate_thresold_warning" { + default = 3 +} + +variable "errors_rate_thresold_critical" { + default = 5 +} + +variable "errors_rate_thresold_warning" { + default = 3 +} + +variable "use_filter_tags" { + default = "true" +} diff --git a/cloud/azure/eventhub/monitors-eventhub.tf b/cloud/azure/eventhub/monitors-eventhub.tf new file mode 100644 index 0000000..7c22418 --- /dev/null +++ b/cloud/azure/eventhub/monitors-eventhub.tf @@ -0,0 +1,86 @@ +resource "datadog_monitor" "eventhub_status" { + name = "[${var.environment}] Event Hub status" + message = "${var.down_message}" + + query = < ${var.failed_requests_rate_thresold_critical} + EOF + type = "query alert" + + thresholds { + critical = "${var.failed_requests_rate_thresold_critical}" + warning = "${var.failed_requests_rate_thresold_warning}" + } + + notify_no_data = false + evaluation_delay = "${var.delay}" + renotify_interval = 60 + 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" "eventhub_errors" { + name = "[${var.environment}] Event Hub errors" + message = "${var.errors_message}" + + query = < ${var.errors_rate_thresold_critical} + EOF + type = "query alert" + + thresholds { + critical = "${var.errors_rate_thresold_critical}" + warning = "${var.errors_rate_thresold_warning}" + } + + notify_no_data = false + evaluation_delay = "${var.delay}" + renotify_interval = 60 + notify_audit = false + timeout_h = 0 + include_tags = true + locked = false + require_full_window = true + new_host_delay = "${var.delay}" + no_data_timeframe = 20 +} diff --git a/cloud/azure/eventhub/outputs.tf b/cloud/azure/eventhub/outputs.tf new file mode 100644 index 0000000..b9d1822 --- /dev/null +++ b/cloud/azure/eventhub/outputs.tf @@ -0,0 +1,11 @@ +output "status_monitor_id" { + value = "${datadog_monitor.eventhub_failed_requests.id}" +} + +output "failed_requests_monitor_id" { + value = "${datadog_monitor.eventhub_status.id}" +} + +output "errors_monitor_id" { + value = "${datadog_monitor.eventhub_errors.id}" +}