【发布时间】:2021-10-30 14:18:09
【问题描述】:
我已经使用 terraform 配置了以下 AWS Cloudwatch 警报。但是,当我查看警报数据时,我看不到任何值。警报未触发。
resource "aws_cloudwatch_metric_alarm" "Test_Alarm" {
alarm_name = "Test_Alarm"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "RequestCount"
namespace = "AWS/ApplicationELB"
period = "60"
statistic = "Sum"
threshold = "2"
alarm_description = "Test_Alarm_ALB"
treat_missing_data = "notBreaching"
alarm_actions = ["${aws_sns_topic.sns_topic.arn}"]
ok_actions = ["${aws_sns_topic.sns_topic.arn}"]
dimensions = {
LoadBalancer = aws_alb.application_load_balancer.name
}
}
# SNS Topic for Errors
resource "aws_sns_topic" "sns_topic" {
name = "${var.app_name}-sns_topic"
}
resource "aws_sns_topic_policy" "notify_policy" {
arn = aws_sns_topic.sns_topic.arn
policy = data.aws_iam_policy_document.notify_policy.json
}
data "aws_iam_policy_document" "notify_policy" {
statement {
actions = [
"SNS:Publish",
]
resources = [
"${aws_sns_topic.sns_topic.arn}",
]
principals {
type = "Service"
identifiers = ["cloudwatch.amazonaws.com"]
}
}
}
【问题讨论】:
-
你能解释一下这个警报应该做什么吗?什么时候触发?
-
ALB 的请求计数大于 2 时应触发警报。根据 AWS 的 Request Count 指标描述“通过 IPv4 和 IPv6 处理的请求数。此指标仅在负载的请求增加平衡器节点能够选择目标。在选择目标之前被拒绝的请求(例如,HTTP 460、HTTP 400、某些种类的 HTTP 503 和 500)不会反映在此指标中。"
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: amazon-web-services amazon-cloudwatch