amazon-web-services - 如果存储桶中 5 或 10 分钟没有收到数据,如何为 s3 存储桶设置云监视警报?

标签 amazon-web-services amazon-s3 amazon-cloudwatch

我有一个 s3 存储桶,每 3 分钟就会上传一个 tar 文件。现在我想设置警报通知,如果 s3 文件在 5 分钟内没有收到任何数据,我应该收到电子邮件通知。不幸的是,我无法在 cloud-watch s3 中找到任何此类指标。如果有人有解决方案,请告诉我。

最佳答案

Amazon CloudWatch 为每个 Amazon S3 存储桶都有一个 NumberOfObjects 指标。

但是,我不确定它的更新频率。它肯定不会有 5 分钟的分辨率。

另外,没有警报表示“如果该数字没有改变”。

如果您的存储桶没有很多对象(例如 < 1000),一种方法是:

  • 创建 Amazon CloudWatch Events 规则以触发 AWS Lambda 函数
  • Lambda 函数将调用 list_bucket() 从存储桶中检索对象列表,然后按LastModified排序
  • 如果距离新文件已超过 x 分钟,则触发通知

如果存储桶有许多个对象,则:

  • 创建一个 Amazon S3 事件,以便在对象添加到存储桶时触发 AWS Lambda 函数
    • Lambda 函数应使用当前时间戳更新数据库(例如 DynamoDB)
  • 创建 Amazon CloudWatch Events 规则以触发 AWS Lambda 函数
    • Lambda 函数将从数据库中检索时间戳并将其与当前时间进行比较
    • 如果自添加新文件以来已超过 x 分钟,则触发通知

关于amazon-web-services - 如果存储桶中 5 或 10 分钟没有收到数据,如何为 s3 存储桶设置云监视警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59063713/

相关文章:

amazon-web-services - 如何检查 AWS Batch 作业的内存和 CPU 使用率

amazon-web-services - AWS Lambda设置业务逻辑

java - 使用 SpringBatch 的 ItemReaders 问题读取 S3 资源

python - 如何在 Google App Engine 中使用 Python(和 boto)通过浏览器从 Amazon S3 下载文件?

php - 执行 POST 请求时不会设置 Amazon S3 内容类型

amazon-web-services - AWS CloudWatch 本地时间

amazon-web-services - 如何从 AWS CloudWatch 应用程序 ELB 获取延迟指标?

ssl - 使用 SSL 的 AWS ELB 显示请求超时

amazon-web-services - 获取 Bluemix 实例 IP

amazon-web-services - 如何将AWS Lambda中的/tmp文件夹更改为efs