【发布时间】:2021-01-29 14:17:56
【问题描述】:
如果 AWS 中的已调度任务未按预期运行,则尝试通过 Terraform 创建 Cloudwatch 警报以获取警报。
地形
resource "aws_cloudwatch_log_metric_filter" "update_run" {
name = "update_run"
pattern = "Database was updated"
log_group_name = aws_cloudwatch_log_group.log_group.name
metric_transformation {
name = "update_run_count"
namespace = "dbupdates"
value = 1
default_value = 0
}
}
resource "aws_cloudwatch_metric_alarm" "update_run_alarm" {
alarm_name = "update_run_alarm"
comparison_operator = "LessThanThreshold"
evaluation_periods = "1"
metric_name = "update_run_count"
namespace = "dbupdates"
period = "86400" // 24 h
statistic = "Sum"
threshold = "1"
treat_missing_data = "ignore"
alarm_description = "Number of db updates done"
alarm_actions = ["${data.aws_sns_topic.alarms.arn}"]
ok_actions = ["${data.aws_sns_topic.alarms.arn}"]
}
data "aws_sns_topic" "alarms" {
name = "alarms"
}
任务在凌晨 04:00 通过 CloudWatch 预定事件运行。我想要在过去 24 小时内未看到“数据库已更新”时发出警报。
当前情况:我们在 1 分钟后收到警报“OK”.. 我想我们想要存档的方式完全错误(-:“时期”何时开始计算?也许在 Terraform 创建警报之后?
很想得到一些帮助。
【问题讨论】:
标签: amazon-web-services terraform amazon-cloudwatch