Requirements

Name Version
terraform >= 0.12

Providers

No provider.

Inputs

Name Description Type Default Required
alb variable to enable elb monitors creation bool false no
alb_queries Variabls for defining datadog alb queries. map
{
“active_connection”: “avg:aws.applicationelb.active_connection_count”,
“count_4xx”: “avg:aws.applicationelb.httpcode_elb_4xx”,
“count_5xx”: “avg:aws.applicationelb.httpcode_elb_5xx”,
“healthy_host”: “avg:aws.applicationelb.healthy_host_count”,
“rejected”: “avg:aws.applicationelb.rejected_connection_count”,
“request_count”: “avg:aws.applicationelb.request_count”,
“response_time”: “avg:aws.applicationelb.target_response_time.average”,
“unhealthy_host”: “avg:aws.applicationelb.un_healthy_host_count”
}
no
ecs Enable ecs monitors creation bool false no
ecs_alert_message Monitor alert message to add in all ecs monitors. string "Cluster: {{clustername.name}}\nService: {{servicename.name}}\nEnvironment: {{Environment.name}}\n\n{{#is_no_data}}Not receiving data @pagerduty{{/is_no_data}}\n{{#is_alert}}@pagerduty{{/is_alert}}\n{{#is_warning}}@pagerduty{{/is_warning}}\n{{#is_recovery}}@pagerduty{{/is_recovery}}\n@slack-alerts\n" no
ecs_queries Variables for defining datadog ecs queries. map
{
“cpu_reservation”: “avg:aws.ecs.cpureservation”,
“cpu_utilization”: “avg:aws.ecs.cpuutilization”,
“desired”: “avg:aws.ecs.service.desired”,
“mem_reservation”: “avg:aws.ecs.memory_reservation”,
“mem_utilization”: “avg:aws.ecs.memory_utilization”,
“running”: “avg:aws.ecs.service.running”
}
no
ecs_trigger_by tags for trigger a separate alert for each Host and Environment string "{clustername,servicename,region,Environment}" no
elb variable to enable elb monitors creation bool false no
elb_alert_message Alert message to add in all elb and alb monitors. string "Value: {{value}}\nName: {{host.name}}\nRegion: {{region.name}}\nEnvironment: {{Environment.name}}\n\n{{#is_no_data}}Not receiving data @pagerduty{{/is_no_data}}\n{{#is_alert}}@pagerduty{{/is_alert}}\n{{#is_warning}}@pagerduty{{/is_warning}}\n{{#is_recovery}}@pagerduty{{/is_recovery}}\n@slack-alerts\n" no
elb_queries Variabls for defining datadog elb queries. map
{
“active_connection”: “avg:aws.elb.active_connection_count”,
“count_4xx”: “avg:aws.elb.httpcode_elb_4xx”,
“count_5xx”: “avg:aws.elb.httpcode_elb_5xx”,
“healthy_host”: “avg:aws.elb.healthy_host_count”,
“latency”: “avg:aws.elb.latency”,
“request_count”: “avg:aws.elb.request_count”,
“response_time”: “avg:aws.elb.target_response_time.average”,
“spill_over”: “avg:aws.elb.spillover_count”,
“surge_queue_length”: “avg:aws.elb.surge_queue_length”,
“unhealthy_host”: “avg:aws.elb.unhealthy_host_count”
}
no
elb_trigger_by tags for trigger a separate alert for elb and alb each Host and Environment string "{host,region,Environment}" no
from Datadog Monitor option to evaluate data from. map
{
“tag”: “Environment”,
“tag_value”: “prod”
}
no
name Name/Title for monitors map
{
“alb_4xx”: “ALB: 4xx Error count is high on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“alb_5xx”: “ALB: 5xx Error count is high on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“alb_active_connection”: “ALB: Active connection count is high on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“alb_healthy_host”: “ALB: Healthy host count is low on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“alb_rejected”: “ALB: Spill over count is high on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“alb_request_count”: “ALB: Request count is high on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“alb_response_time”: “ALB: Response time is high on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“alb_unhealthy_host”: “ALB: Unhealthy host count is high on ALB: {{host.name}}, ENV: {{Environment.name}}”,
“clustercpu_reservation”: “ECS: CPU reservation is high on Cluster: {{clustername.name}}, ENV: {{Environment.name}}”,
“clustercpu_utilization”: “ECS: CPU utilization is high on Cluster: {{clustername.name}}, ENV: {{Environment.name}}”,
“clustermem_reservation”: “ECS: Memory reservation is high on Cluster: {{clustername.name}}, ENV: {{Environment.name}}”,
“clustermem_utilization”: “ECS: Memory Utilization is high on Cluster: {{clustername.name}}, ENV: {{Environment.name}}”,
“count”: “ECS: Difference in Desired and Running tasks count on Cluster: {{clustername.name}}, Service {{servicename.name}}”,
“elb_4xx”: “ELB: 4xx Error count is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_5xx”: “ELB: 5xx Error count is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_active_connection”: “ELB: Active connection count is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_healthy_host”: “ELB: Healthy host count is low on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_latency”: “ELB: Latency is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_request_count”: “ELB: Request count is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_response_time”: “ELB: Response time is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_spill_over”: “ELB: Spill over count is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_surge_queue_length”: “ELB: Surge queue length is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“elb_unhealthy_host”: “ELB: Unhealthy host count is high on ELB: {{host.name}}, ENV: {{Environment.name}}”,
“rds_burst_balance”: “RDS: CPU burst balance is low on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_cpu_credit_balance”: “RDS: CPU credit balance is low on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_cpu_utilization”: “RDS: CPU utilization is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_db_connections”: “RDS: DB conections are high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_disk_queue_depth”: “RDS: Disk queue depth is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_disk_usage”: “RDS: Disk usage is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_mem_utilization”: “RDS: Memory usage is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_read_iops”: “RDS: Read IOPS is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_read_latency”: “RDS: Read latency is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_read_throughput”: “RDS: Read throughput is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_replica_lag”: “RDS: Replica Lag is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_write_iops”: “RDS: Write IOPS high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_write_latency”: “RDS: Write latency is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“rds_write_throughput”: “RDS: Write throughput is high on RDS: {{dbinstanceidentifier.name}}, ENV: {{Environment.name}}”,
“servicecpu_utilization”: “ECS: CPU Utilization is high on Service: {{servicename.name}}, ENV: {{Environment.name}}”,
“servicemem_utilization”: “ECS: Memory Utilization is high on Service: {{servicename.name}}, ENV: {{Environment.name}}”,
“system_cpu”: “System: CPU usage is high on Host: {{host.name}}, ENV: {{Environment.name}}”,
“system_disk”: “System: DISK usage is high on Host: {{host.name}}, Device: {{device.name}}, ENV: {{Environment.name}}}”,
“system_load”: “System: Load is high on Host: {{host.name}}, ENV: {{Environment.name}}”,
“system_mem”: “System: MEM usage is high on Host: {{host.name}}, ENV: {{Environment.name}}”
}
no
rds Enable rds monitors creation bool false no
rds_alert_message Alert message to add in all rds monitors. string "Value: {{value}}\nRDS Name: {{dbinstanceidentifier.name}}\nRegion: {{region.name}}\nEnvironment: {{Environment.name}}\n\n{{#is_no_data}}Not receiving data @pagerduty{{/is_no_data}}\n{{#is_alert}}@pagerduty{{/is_alert}}\n{{#is_warning}}@pagerduty{{/is_warning}}\n{{#is_recovery}}@pagerduty{{/is_recovery}}\n@slack-alerts\n" no
rds_queries Variabls for defining datadog rds queries. map
{
“burst_balance”: “avg:aws.rds.burst_balance”,
“cpu_credit_balance”: “avg:aws.rds.cpucredit_balance”,
“cpu_utilization”: “avg:aws.rds.cpuutilization”,
“db_connections”: “avg:aws.rds.database_connections”,
“disk_free”: “avg:aws.rds.free_storage_space”,
“disk_queue_depth”: “avg:aws.rds.disk_queue_depth”,
“disk_total”: “avg:aws.rds.total_storage_space”,
“mem_utilization”: “avg:aws.rds.freeable_memory”,
“read_iops”: “avg:aws.rds.read_iops”,
“read_latency”: “avg:aws.rds.read_latency”,
“read_throughput”: “avg:aws.rds.read_throughput”,
“replica_lag”: “avg:aws.rds.replica_lag”,
“write_iops”: “avg:aws.rds.write_iops”,
“write_latency”: “avg:aws.rds.write_latency”,
“write_throughput”: “avg:aws.rds.write_throughput”
}
no
rds_trigger_by tags for trigger a separate alert for each Host and Environment string "{Environment,dbinstanceidentifier,region}" no
system variable to enable system monitors creation bool false no
system_alert_message Alert message to add in system monitors. string "Value: {{value}}\nName: {{host.name}}\nRegion: {{region.name}}\nEnvironment: {{Environment.name}}\n\n{{#is_no_data}}Not receiving data @pagerduty{{/is_no_data}}\n{{#is_alert}}@pagerduty{{/is_alert}}\n{{#is_warning}}@pagerduty{{/is_warning}}\n{{#is_recovery}}@pagerduty{{/is_recovery}}\n@slack-alerts\n" no
system_queries Variabls for defining datadog alb queries. map
{
“cpu”: “avg:system.cpu.idle”,
“disk_free”: “avg:system.disk.free”,
“disk_total”: “avg:system.disk.total”,
“load”: “avg:system.load.norm.5”,
“mem_total”: “avg:system.mem.total”,
“mem_used”: “avg:system.mem.used”
}
no
system_trigger_by tags for trigger a separate alert for elb and alb each Host and Environment string "{host,Environment}" no
tags Tags to apply to all resources map {} no

Outputs

Name Description
output n/a