Если размер корзины всегда должен увеличиваться (журналы всегда должны генерироваться с более высокой скоростью, чем они истекают из корзины), вы можете создать сигнал тревоги по СКОРОСТИ изменения метрики 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.