将 CloudWatch Logs 数据串流至 Amazon OpenSearch Service - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将 CloudWatch Logs 数据串流至 Amazon OpenSearch Service

您可以将 CloudWatch Logs 日志组配置为通过 CloudWatch Logs 订阅将其收到的数据实时流式传输到 Amazon OpenSearch Service 集群中。有关更多信息,请参阅 使用订阅实时处理日志数据

根据要流式传输的日志数据量,您可能希望对函数设置函数级别并发执行限制。有关更多信息,请参阅 Lambda 函数扩展

注意

将大量 CloudWatch Logs 数据流式传输到 OpenSearch 可能会产生较高的使用费。我们建议您在“账单和成本管理”控制台中创建预算。有关更多信息,请参阅通过 Amazon Budgets 管理成本

Prerequisites

在开始之前,请创建 OpenSearch 域。该域可以具有公有访问权限或 VPC 访问权限,但您无法在创建该域后修改访问权限的类型。稍后您可能需要检查 OpenSearch 域设置,并基于集群将处理的数据量修改集群配置。有关创建域的说明,请参阅创建 OpenSearch Service 域

有关 OpenSearch 的更多信息,请参阅 Amazon OpenSearch Service 开发人员指南

将日志组订阅到 OpenSearch

您可以使用 CloudWatch 控制台将日志组订阅到 OpenSearch。

将日志组订阅到 OpenSearch

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选择日志组的名称。

  4. 依次选择 Actions(操作)Create OpenSearch subscription filter(创建 OpenSearch 订阅筛选条件)

  5. 选择是要流式传输到此账户还是其他账户中的集群。

    • 如果您选择了此账户,请选择上一步中已创建的域。

    • 如果您选择了其他账户,请提供域 ARN 和端点。

  6. 对于 Lambda IAM Execution Role(Lambda IAM 执行角色),请选择 Lambda 在执行对 OpenSearch 的调用时应使用的 IAM 角色。

    您选择的 IAM 角色必须满足以下要求:

    • 它在信任关系中必须具有 lambda.amazonaws.com

    • 它必须包含以下策略:

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "es:*" ], "Effect": "Allow", "Resource": "arn:aws:es:region:account-id:domain/target-domain-name/*" } ] }
    • 如果目标 OpenSearch 域使用 VPC 访问权限,则该角色必须已附加 AWSLambdaVPCAccessExecutionRole 策略。此 Amazon 托管策略将为 Lambda 授予访问客户 VPC 的权限,从而使 Lambda 能够在 VPC 中写入 OpenSearch 端点。

  7. 对于 Log format(日志格式),请选择日志格式。

  8. 对于 Subscription filter pattern(订阅筛选条件模式),键入要在您的日志事件中查找的字词或模式。这可确保只将您感兴趣的数据发送到 OpenSearch 集群。有关更多信息,请参阅 使用筛选条件从日志事件创建指标

  9. (可选)对于 Select log data to test(选择要测试的日志数据),请选择一个日志流,然后选择 Test pattern(测试模式),以确认搜索筛选器是否会返回您期望的结果。

  10. 选择 Start streaming(开始流式传输)