terraform.aws-baseline-infra/modules/ManagementGovernance/Monitoring.RDS
2023-07-04 08:16:09 +08:00
..
main.tf UPD: various monitoring updates from upstream 2023-07-04 08:16:09 +08:00
provider.tf UPD: backported monitoring modules from customer repo 2023-05-23 13:10:16 +08:00
README.md UPD: backported monitoring modules from customer repo 2023-05-23 13:10:16 +08:00
variables.tf UPD: various monitoring updates from upstream 2023-07-04 08:16:09 +08:00

Monitoring module

This module deploys the default cloudwatch metric monitoring

Notes

Terraform lifecycle ignores tags to speed up terraform subsequent update. Cloudwatch alarm tags cannot be read on aws console anyway. AWS provider 4.47.0 or above is needed for datasource aws_db_instances (https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md)

Example

module "rds-instances" {
  source        = "../../modules/util/resource-list"
  resource-type = "rds"
}

module "rds-monitoring" {
  # for_each = toset(var.rds-instance-ids)
  cw-alarm-prefix            = local.cw-alarm-prefix
  for_each                   = module.rds-instances.result-set
  source                     = "../../modules/ManagementGovernance/Monitoring.RDS"
  default-tags               = local.default-tags
  rds-instance-name          = each.value
  threshold-CpuUtilization   = 90
  threshold-FreeableMemory   = 512 * 1024 * 1024
  threshold-FreeStorageSpace = 5 * 1024 * 1024 * 1024
  threshold-DiskQueueDepth   = 30
  threshold-ReadLatency      = 0.03
  threshold-WriteLatency     = 0.03
  actions-enabled            = var.actions-enabled
  sns-targets = var.sns-targets
}