如果S3存储桶未接收到数据,则CloudWatch警报

时间:2018-12-12 17:37:19

标签: amazon-web-services amazon-s3 alarm amazon-cloudwatch amazon-cloudwatch-metrics

如果S3没有收到任何数据,如何创建警报以获取电子邮件?

我仅看到NumberOfObjects和BucketSizeBytes的指标,但现在没有如何从中形成“不增加”警报的信息。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果存储桶大小应始终增加(总是期望日志以更高的速率生成,则日志将从存储桶中消失),则可以创建有关BucketSizeBytes指标变化率的警报。

您可以使用度量标准数学来定义变化率度量标准:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html

相应图形的来源如下所示(将BUCKET_NAME_GOES_HERE替换为您的存储桶,并将region替换为存储桶所在的区域):

{
    "metrics": [
        [ { "expression": "RATE(m1)", "label": "Rate of change", "id": "e1" } ],
        [ "AWS/S3", "BucketSizeBytes", "StorageType", "StandardStorage", "BucketName", "BUCKET_NAME_GOES_HERE", { "id": "m1" } ]
    ],
    "view": "timeSeries",
    "stacked": false,
    "region": "us-east-1",
    "stat": "Sum",
    "period": 86400
}

然后在变化率为0(桶尺寸未增加)或小于0(桶尺寸下降)时创建警报。

有关度量标准数学警报的更多信息,请参见此处:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create-alarm-on-metric-math-expression.html

此方法的一些缺点是:

  • 桶指标每天仅发布一次,因此您不会在日志发生后至少一天之内注意到日志已停止。

  • 有些其他事情可能会将数据放入同一存储桶中,从而增加了数据的大小,并且您不知道日志实际上停止了流动。

如果这两件事让您担心,我会寻找一种监视CloudFront端而不是S3端的解决方案。