Cloudwatch 突然上传到 s3 的警报

Posted

技术标签:

【中文标题】Cloudwatch 突然上传到 s3 的警报【英文标题】:Cloudwatch alarm for sudden bursts of uploads to s3 【发布时间】:2021-04-10 12:03:55 【问题描述】:

我正在尝试创建一个 cloudwatch 警报,如果存储桶收到大量上传,则会触发警报并发送 sns 电子邮件。 我选择了 Postrequests s3 metrics

这是我的 terraform 资源:

resource "aws_cloudwatch_metric_alarm" "augmentation_brusque_evenement" 


alarm_name          = "augmentation-brusque-events"
  comparison_operator = "GreaterThanOrEqualToThreshold"
  evaluation_periods  = "1"
  metric_name         = "PostRequests"
  namespace           = "AWS/S3"
  period              = "120"
  statistic           = "Sum"
  unit                = "Count"
  datapoints_to_alarm = "1"
  threshold           = var.s3_threshold
  alarm_actions       = var.sns_arn
  ok_actions          = var.sns_arn

  dimensions = 
    BucketName = aws_s3_bucket.bucket_test.id
  



这背后的思考过程是,如果在 2 分钟内发布请求的数量超过设置的阈值,则电子邮件将由已创建和测试的 sns 主题发送。

terraform 代码可以正常工作并创建警报,但始终处于数据不足状态,我尝试通过控制台、使用 terraform 和通过 cli 将文件上传到 s3 存储桶,但这些方法似乎都没有改变警报状态。 我尝试了相同的警报,但使用 Allrequests 指标但没有运气。

如果您能深入了解我的代码或思维过程可能存在的问题,我们将不胜感激,我愿意接受有关可能创建此警报的更好方法的建议。

提前致谢

【问题讨论】:

如果显示任何值,您能否为您的 s3 存储桶检查名为 PostRequests 的云监控指标? @AsriBadlah 是的,指标是“2 分钟内 1 个数据点的 PostRequests >= 3”,即使经过各种测试,它也没有任何值 【参考方案1】:
    resource "aws_s3_bucket_notification" "bucket_notification" 
        bucket = aws_s3_bucket.bucket.id
    
        topic 
          topic_arn     = aws_sns_topic.topic.arn
          events        = ["s3:ObjectCreated:*"]
          filter_suffix = ".log"
        
      

【讨论】:

以上是关于Cloudwatch 突然上传到 s3 的警报的主要内容,如果未能解决你的问题,请参考以下文章

Cloudwatch 警报到 Slack

配置 cloudwatch “空闲”警报

将现有 AWS CloudWatch 警报导出到 CloudFormation 模板

来自账户 A 的 AWS Cloudwatch 警报无法发布到账户 B 中的 SNS 主题

javascript CloudWatch到AWS Lambda到Slack Channel Alerts和Charts。通过SNS主题通过Lambda函数将CloudWatch警报发布到Slack通

使用 Lambda 或 Kinesis Firehose 将 CloudWatch Logs 传输到 S3?