diff --git a/README.md b/README.md index 1cc513d..4963bb6 100644 --- a/README.md +++ b/README.md @@ -84,8 +84,11 @@ The `//` is very important, it's a terraform specific syntax used to separate gi - [azure](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/) - [apimanagement](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/apimanagement/) - [app-services](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/app-services/) + - [cosmosdb](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/cosmosdb/) + - [datalakestore](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/datalakestore/) - [eventhub](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/eventhub/) - [iothubs](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/iothubs/) + - [keyvault](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/keyvault/) - [redis](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/redis/) - [servicebus](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/servicebus/) - [sql-database](https://bitbucket.org/morea/terraform.feature.datadog/src/master/cloud/azure/sql-database/) diff --git a/cloud/azure/cosmosdb/README.md b/cloud/azure/cosmosdb/README.md index 9912529..8db2c06 100644 --- a/cloud/azure/cosmosdb/README.md +++ b/cloud/azure/cosmosdb/README.md @@ -1,45 +1,27 @@ -Azure Cosmos DB DataDog monitors -================================ +# CLOUD AZURE COSMOSDB DataDog monitors -How to use this module ----------------------- +## How to use this module ``` -module "datadog-monitors-azure-cosmosdb" { +module "datadog-monitors-cloud-azure-cosmosdb" { source = "git::ssh://git@bitbucket.org/morea/terraform.feature.datadog.git//cloud/azure/cosmosdb?ref={revision}" - message = "${module.datadog-message-alerting.alerting-message}" environment = "${var.environment}" + message = "${module.datadog-message-alerting.alerting-message}" } -``` - -How to define cosmos_db_ru_utilization_collection variable ----------------------------------------------------------- - -At the time this module is defined, we can't define Cosmos DB collection with Terraform, so we have to define a variable making the connection between collections and RU max -``` -variable cosmos_db_ru_utilization_collection { - type = "map" - default = { - "collection_1" = "ru_max_1" - "collection_2" = "ru_max_2" - ... - } -} ``` -Purpose -------- -Creates a DataDog monitors with the following checks : +## Purpose -* No request -* Too many 4xx requests -* Too many 5xx requests -* Collection RU utilization +Creates DataDog monitors with the following checks: -Inputs ------- +- Cosmos DB 4xx requests rate is high +- Cosmos DB 5xx requests rate is high +- Cosmos DB has no request +- Cosmos DB collection ${element(keys(var.cosmos_db_ru_utilization_collection),count.index)} RU utilization is high + +## Inputs | Name | Description | Type | Default | Required | |------|-------------|:----:|:-----:|:-----:| @@ -64,6 +46,15 @@ Inputs | filter_tags_use_defaults | Use default filter tags convention | string | `true` | no | | message | Message sent when a monitor is triggered | string | - | yes | +## Outputs + +| Name | Description | +|------|-------------| +| cosmos_db_4xx_requests_id | id for monitor cosmos_db_4xx_requests | +| cosmos_db_5xx_requests_id | id for monitor cosmos_db_5xx_requests | +| cosmos_db_ru_utilization_id | id for monitor cosmos_db_ru_utilization | +| cosmos_db_success_no_data_id | id for monitor cosmos_db_success_no_data | + Related documentation --------------------- diff --git a/cloud/azure/cosmosdb/outputs.tf b/cloud/azure/cosmosdb/outputs.tf new file mode 100644 index 0000000..0dd8c71 --- /dev/null +++ b/cloud/azure/cosmosdb/outputs.tf @@ -0,0 +1,19 @@ +output "cosmos_db_4xx_requests_id" { + description = "id for monitor cosmos_db_4xx_requests" + value = "${datadog_monitor.cosmos_db_4xx_requests.id}" +} + +output "cosmos_db_5xx_requests_id" { + description = "id for monitor cosmos_db_5xx_requests" + value = "${datadog_monitor.cosmos_db_5xx_requests.id}" +} + +output "cosmos_db_success_no_data_id" { + description = "id for monitor cosmos_db_success_no_data" + value = "${datadog_monitor.cosmos_db_success_no_data.id}" +} + +output "cosmos_db_ru_utilization_id" { + description = "id for monitor cosmos_db_ru_utilization" + value = "${datadog_monitor.cosmos_db_ru_utilization.id}" +} diff --git a/cloud/azure/datalakestore/README.md b/cloud/azure/datalakestore/README.md index 369976b..a96ffe9 100644 --- a/cloud/azure/datalakestore/README.md +++ b/cloud/azure/datalakestore/README.md @@ -1,26 +1,24 @@ -Service Bus Datadog monitor -=========================== +# CLOUD AZURE DATALAKESTORE DataDog monitors -How to use this module ----------------------- +## How to use this module ``` -module "datadog-monitors-azure-datalakestore" { +module "datadog-monitors-cloud-azure-datalakestore" { source = "git::ssh://git@bitbucket.org/morea/terraform.feature.datadog.git//cloud/azure/datalakestore?ref={revision}" - message = "${module.datadog-message-alerting.alerting-message}" environment = "${var.environment}" + message = "${module.datadog-message-alerting.alerting-message}" } + ``` -Purpose -------- -Creates a Datadog monitor with the following checks : +## Purpose -* Service status check +Creates DataDog monitors with the following checks: -Inputs ------- +- Datalake Store is down + +## Inputs | Name | Description | Type | Default | Required | |------|-------------|:----:|:-----:|:-----:| @@ -34,6 +32,12 @@ Inputs | status_time_aggregator | Monitor aggregator for Datalake Store status [available values: min, max or avg] | string | `max` | no | | status_timeframe | Monitor timeframe for Datalake Store status [available values: `last_#m` (1, 5, 10, 15, or 30), `last_#h` (1, 2, or 4), or `last_1d`] | string | `last_15m` | no | +## Outputs + +| Name | Description | +|------|-------------| +| datalakestore_status_id | id for monitor datalakestore_status | + Related documentation --------------------- diff --git a/cloud/azure/datalakestore/outputs.tf b/cloud/azure/datalakestore/outputs.tf new file mode 100644 index 0000000..1c2fac8 --- /dev/null +++ b/cloud/azure/datalakestore/outputs.tf @@ -0,0 +1,4 @@ +output "datalakestore_status_id" { + description = "id for monitor datalakestore_status" + value = "${datadog_monitor.datalakestore_status.id}" +} diff --git a/cloud/azure/keyvault/README.md b/cloud/azure/keyvault/README.md index 20d1a6a..3943bed 100644 --- a/cloud/azure/keyvault/README.md +++ b/cloud/azure/keyvault/README.md @@ -1,27 +1,25 @@ -Key Vault Datadog monitor -========================= +# CLOUD AZURE KEYVAULT DataDog monitors -How to use this module ----------------------- +## How to use this module ``` -module "datadog-monitors-azure-keyvault" { +module "datadog-monitors-cloud-azure-keyvault" { source = "git::ssh://git@bitbucket.org/morea/terraform.feature.datadog.git//cloud/azure/keyvault?ref={revision}" - message = "${module.datadog-message-alerting.alerting-message}" environment = "${var.environment}" + message = "${module.datadog-message-alerting.alerting-message}" } + ``` -Purpose -------- -Creates a Datadog monitor with the following checks : +## Purpose -* Service status check -* API result rate +Creates DataDog monitors with the following checks: -Inputs ------- +- Key Vault is down +- Key Vault API result rate is low + +## Inputs | Name | Description | Type | Default | Required | |------|-------------|:----:|:-----:|:-----:| @@ -40,6 +38,13 @@ Inputs | status_time_aggregator | Monitor aggregator for Key Vault status [available values: min, max or avg] | string | `max` | no | | status_timeframe | Monitor timeframe for Key Vault status [available values: `last_#m` (1, 5, 10, 15, or 30), `last_#h` (1, 2, or 4), or `last_1d`] | string | `last_15m` | no | +## Outputs + +| Name | Description | +|------|-------------| +| keyvault_api_result_id | id for monitor keyvault_api_result | +| keyvault_status_id | id for monitor keyvault_status | + Related documentation --------------------- diff --git a/cloud/azure/keyvault/outputs.tf b/cloud/azure/keyvault/outputs.tf new file mode 100644 index 0000000..0100295 --- /dev/null +++ b/cloud/azure/keyvault/outputs.tf @@ -0,0 +1,9 @@ +output "keyvault_status_id" { + description = "id for monitor keyvault_status" + value = "${datadog_monitor.keyvault_status.id}" +} + +output "keyvault_api_result_id" { + description = "id for monitor keyvault_api_result" + value = "${datadog_monitor.keyvault_api_result.id}" +} diff --git a/cloud/azure/servicebus/README.md b/cloud/azure/servicebus/README.md index 8c3fa7e..cca3b22 100644 --- a/cloud/azure/servicebus/README.md +++ b/cloud/azure/servicebus/README.md @@ -16,10 +16,10 @@ module "datadog-monitors-cloud-azure-servicebus" { Creates DataDog monitors with the following checks: -- Service status check -- No active connection -- Server errors rate -- User errors rate +- Service Bus is down +- Service Bus has no active connection +- Service Bus user errors rate is high +- Service Bus server errors rate is high ## Inputs @@ -55,6 +55,9 @@ Creates DataDog monitors with the following checks: | Name | Description | |------|-------------| +| service_bus_no_active_connections_id | id for monitor service_bus_no_active_connections | +| service_bus_server_errors_id | id for monitor service_bus_server_errors | +| service_bus_user_errors_id | id for monitor service_bus_user_errors | | servicebus_status_id | id for monitor servicebus_status | ## Related documentation diff --git a/cloud/azure/servicebus/outputs.tf b/cloud/azure/servicebus/outputs.tf index 843de78..cef391b 100644 --- a/cloud/azure/servicebus/outputs.tf +++ b/cloud/azure/servicebus/outputs.tf @@ -2,3 +2,18 @@ output "servicebus_status_id" { description = "id for monitor servicebus_status" value = "${datadog_monitor.servicebus_status.*.id}" } + +output "service_bus_no_active_connections_id" { + description = "id for monitor service_bus_no_active_connections" + value = "${datadog_monitor.service_bus_no_active_connections.id}" +} + +output "service_bus_user_errors_id" { + description = "id for monitor service_bus_user_errors" + value = "${datadog_monitor.service_bus_user_errors.id}" +} + +output "service_bus_server_errors_id" { + description = "id for monitor service_bus_server_errors" + value = "${datadog_monitor.service_bus_server_errors.id}" +}