【问题标题】:How to Export CloudWatch Logs (result of a Lambda function) to S3 using Terraform如何使用 Terraform 将 CloudWatch 日志(Lambda 函数的结果)导出到 S3
【发布时间】:2019-02-07 07:28:46
【问题描述】:

我有以下要求。我需要使用 Terraform 将日志从 Cloudwatch 导出到 S3。我有几个 Lambda 函数,这些 Lambda 函数的日志会自动记录到 Cloudwatch /aws/lambda/。我正在寻找一项将这些日志导出到 S3 以供开发人员查看的条款。

我查看了使用 CloudTrail 将 Cloudwatch 日志推送到 S3 的以下实现。此示例使用了一些不涵盖 Lambda 功能的应用程序。

https://registry.terraform.io/modules/trussworks/logs/aws/1.4.0

我可以按照任何类似的方法创建一个策略,让从 Lambda 函数记录到 Cloudwatch 的日志可以推送到 S3?

创建策略是将 Cloudwatch 日志推送到 S3 的唯一要求吗?有什么方法可以告诉 Cloudwatch 推送它拥有的所有日志,而不是固定在特定功能上?

提前致谢。

【问题讨论】:

    标签: terraform terraform-provider-aws


    【解决方案1】:

    您可以使用订阅访问来自 CloudWatch Logs 的实时日志事件源,并将其传送到其他服务,例如 Amazon Kinesis 流、Amazon Kinesis Data Firehose 流或 AWS Lambda 以进行自定义处理、分析, 或加载到其他系统或 S3 ```/* 运动流 */

    resource "aws_kinesis_stream" "log_stream" {
      name             = "test-logs"
      shard_count      = 1
      retention_period = 24
    
      shard_level_metrics = [
        "IncomingBytes",
        "OutgoingBytes",
        "IncomingRecords",
        "IteratorAgeMilliseconds",
        "OutgoingRecords",
        "ReadProvisionedThroughputExceeded",
        "WriteProvisionedThroughputExceeded",
      ]
    
      tags {
        EnvironmentType = "test"
      }
    }
    
    data "aws_iam_policy_document" "cloudwatchlogs_assume_role_policy" {
      statement {
        effect = "Allow"
        actions = ["sts:AssumeRole"]
        principals {
          type        = "Service"
          identifiers = ["logs.${data.aws_region.current.name}.amazonaws.com"]
        }
      }
    }
    

    ``` 类似的东西

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 2020-05-13
        • 2019-12-26
        • 1970-01-01
        • 1970-01-01
        • 2022-10-07
        • 2019-11-01
        • 1970-01-01
        • 2016-11-19
        • 2019-09-14
        相关资源
        最近更新 更多