流式传输 CloudWatch Logsdata 到 Amazon Elasticsearch Service - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

流式传输 CloudWatch Logsdata 到 Amazon Elasticsearch Service

您可以将 CloudWatch Logs 日志组配置为通过 CloudWatch Logs 订阅将其收到的数据实时流式传输到 Amazon Elasticsearch Service (Amazon ES) 集群中。有关更多信息,请参阅实时推理p旋转lOGdATA 与subscriptions

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

注意

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

Prerequisites

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

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

创建 Amazon ES 域

在命令提示符处,使用以下 create-elasticsearch-domain 命令:

aws es create-elasticsearch-domain --domain-name my-domain

SubscribelOGgAmazon ES

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

将日志组订阅到 Amazon ES

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

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

  3. 选择日志组的名称。

  4. 选择操作创建 Elasticsearch Subscrisearch 筛选

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

  6. 适用于Amazon ES 集群中,选择您在上一步中创建的集群。

  7. UNTERLambda 函数, 用于Lambda IAM 执行角色,选择 Lambda 在执行对 Amazon ES 的调用时应使用的 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/*" } ] }
    • 如果目标 Amazon ES 域使用 VPC 访问权限,则该角色必须具有AWSLambdaVPCAccessExecutionRole附加策略。此 Amazon 托管策略将为 Lambda 授予对客户的 VPC 的访问权限,从而使 Lambda 能够在 VPC 中写入 Amazon ES 终端节点。

  8. 对于日志格式,请选择日志格式。

  9. 对于订阅筛选模式,键入要在您的日志事件中查找的字词或模式。这可确保只将您感兴趣的数据发送到 Amazon ES 集群。有关更多信息,请参阅创建m电视f只读器lOGe通风口u唱filters

  10. (可选)对于选择要测试的日志数据,选择一个日志流,然后单击测试模式以确认搜索筛选器是否会返回您期望的结果。

  11. 选择开始流式处理