diff --git a/alarms.tf b/alarms.tf new file mode 100644 index 0000000000000000000000000000000000000000..b236cde022ad49673114714a14c4cb1a491370ed --- /dev/null +++ b/alarms.tf @@ -0,0 +1,41 @@ +resource "aws_cloudwatch_metric_alarm" "invocations" { + count = length(local.function_names) + alarm_actions = [local.topic_arn] + actions_enabled = true + alarm_name = "Invocations alarm for ${local.function_names[count.index]}." + comparison_operator = "LessThanThreshold" + evaluation_periods = "1" + insufficient_data_actions = [local.topic_arn] + metric_name = "Invocations" + namespace = "AWS/Lambda" + ok_actions = [local.topic_arn] + period = (var.rate + 1) * 60 + statistic = "Sum" + tags = local.common_tags + threshold = 1 + + dimensions = { + FunctionName = local.function_names[count.index] + } +} + +resource "aws_cloudwatch_metric_alarm" "errors" { + count = length(local.function_names) + alarm_actions = [local.topic_arn] + actions_enabled = true + alarm_name = "Errors alarm for ${local.function_names[count.index]}." + comparison_operator = "GreaterThanThreshold" + evaluation_periods = "1" + insufficient_data_actions = [local.topic_arn] + metric_name = "Errors" + namespace = "AWS/Lambda" + ok_actions = [local.topic_arn] + period = (var.rate + 1) * 60 + statistic = "Sum" + tags = local.common_tags + threshold = 0 + + dimensions = { + FunctionName = local.function_names[count.index] + } +}