【问题标题】:Creating metric filter for Amazon s3 PutObject in amazon cloudwatch在 amazon cloudwatch 中为 Amazon s3 PutObject 创建指标过滤器
【发布时间】:2022-07-05 20:11:47
【问题描述】:

我创建了一个指标过滤器来过滤 S3 对象放置请求,并基于该过滤器我将创建一个警报,如果在过去 24 小时内没有在 S3 存储桶中上传任何对象,它将发送警报。 我还有一个不同的解决方案,它使用 s3 事件通知和 dynamodb 发送警报,但我希望通过 cloudwatch 指标过滤器来完成。 问题是我无法为特定存储桶创建指标过滤器。所以它扫描所有的桶。这是我的过滤器:

{ ($.eventSource = s3.amazonaws.com) && (($.eventName = CopyObject) || ($.eventName = CompleteMultipartUpload) || ($.eventName = PutObject) || ($.eventName = PostObject)) }

以下是为特定存储桶捕获日志的方式:

"eventTime": "2022-07-05T06:50:46Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "PutObject",
    "awsRegion": "eu-west-1",
    "sourceIPAddress": "cloudtrail.amazonaws.com",
    "userAgent": "cloudtrail.amazonaws.com",
    "requestParameters": {
        "bucketName": "my-test-s3-bucket",
        "x-amz-acl": "bucket-owner-full-control",
        "x-amz-server-side-encryption-context": 

有什么方法可以在我的过滤器模式中只包含一个 S3 存储桶?我尝试了不同的方法,但没有奏效。

【问题讨论】:

  • 幸运的是,经过几次尝试,我找到了解决方案:{ ($.eventSource = s3.amazonaws.com) && ($.requestParameters.bucketName = "my-test-s3-bucket") && (( $.eventName = CopyObject) || ($.eventName = CompleteMultipartUpload) || ($.eventName = PutObject) || ($.eventName = PostObject)) }

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


【解决方案1】:

幸运的是,经过几次尝试,我找到了解决方案:

{ ($.eventSource = s3.amazonaws.com) && ($.requestParameters.bucketName = "my-test-s3-bucket") && (($.eventName = CopyObject) || ($.eventName = CompleteMultipartUpload ) || ($.eventName = PutObject) || ($.eventName = PostObject)) }

【讨论】:

    猜你喜欢
    • 2017-10-29
    • 1970-01-01
    • 2011-10-12
    • 2019-01-11
    • 2017-08-04
    • 1970-01-01
    • 2012-03-04
    • 2012-05-18
    • 1970-01-01
    相关资源
    最近更新 更多