如果 S3 存储桶未接收到数据,则 CloudWatch 发出警报
CloudWatch Alarm if S3 bucket not receiving data
如果 S3 未收到任何数据,我如何创建警报以接收电子邮件?
我只看到 NumberOfObjects 和 BucketSizeBytes 的指标,但现在不知道如何从中形成 "not increasing" 警报。任何帮助将不胜感激。
如果桶大小应始终增加(日志总是期望以更高的速率生成,然后它们从桶中过期),您可以针对 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 端的解决方案。
如果 S3 未收到任何数据,我如何创建警报以接收电子邮件?
我只看到 NumberOfObjects 和 BucketSizeBytes 的指标,但现在不知道如何从中形成 "not increasing" 警报。任何帮助将不胜感激。
如果桶大小应始终增加(日志总是期望以更高的速率生成,然后它们从桶中过期),您可以针对 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 端的解决方案。