|
| 1 | +variable "sns_arn" { |
| 2 | + type = string |
| 3 | +} |
| 4 | + |
| 5 | +resource "aws_cloudwatch_log_metric_filter" "lambda_log_filter" { |
| 6 | + name = "lambda-log-filter" |
| 7 | + pattern = "{ $.eventType = Error }" # Substitua pelo padrão que você deseja monitorar |
| 8 | + log_group_name = "/aws/lambda/events" # Substitua pelo nome do grupo de log correto |
| 9 | + |
| 10 | + metric_transformation { |
| 11 | + name = "ErrorCount" |
| 12 | + namespace = "Custom/CloudWatchLogs" |
| 13 | + value = "1" |
| 14 | + default_value = "0" |
| 15 | + } |
| 16 | +} |
| 17 | + |
| 18 | +resource "aws_cloudwatch_metric_alarm" "lambda_log_alarm" { |
| 19 | + alarm_name = "lambda-log-alarm" |
| 20 | + alarm_description = "Alarm triggered on CloudWatch Logs" |
| 21 | + comparison_operator = "GreaterThanOrEqualToThreshold" |
| 22 | + evaluation_periods = "1" |
| 23 | + metric_name = "ErrorCount" |
| 24 | + namespace = "Custom/CloudWatchLogs" |
| 25 | + period = "60" |
| 26 | + statistic = "SampleCount" |
| 27 | + threshold = "1" |
| 28 | + alarm_actions = [var.sns_arn] |
| 29 | + #alarm_description = "Lambda Log Error Alarm" |
| 30 | + #alarm_name = "Lambda Log Error Alarm" |
| 31 | + treat_missing_data = "missing" |
| 32 | +} |
| 33 | + |
| 34 | +resource "aws_cloudwatch_log_metric_filter" "lambda_log_filter_subscription" { |
| 35 | + name = "lambda-log-filter-subscription" |
| 36 | + pattern = "{ $.eventType = Error }" # Substitua pelo padrão que você deseja monitorar |
| 37 | + log_group_name = "/aws/lambda/events" # Substitua pelo nome do grupo de log correto |
| 38 | + |
| 39 | + metric_transformation { |
| 40 | + name = "ErrorCountSubscription" |
| 41 | + namespace = "Custom/CloudWatchLogs" |
| 42 | + value = "1" |
| 43 | + } |
| 44 | +} |
0 commit comments