Amazon CloudWatch Logs
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

CloudWatch Logs 将数据流式传输到 Amazon Elasticsearch Service

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

注意

将大量 CloudWatch Logs 数据流式传输到 Amazon ES 可能会产生较高的使用费。我们建议您监控 AWS 账单以帮助避免产生超出预期的费用。有关更多信息,请参阅使用 CloudWatch 监控您的估计费用

先决条件

在开始之前,请创建 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

将日志组订阅到 Amazon ES

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

将日志组订阅到 Amazon ES

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 选择要订阅的日志组。

  4. 依次选择 操作流式传输到 Amazon Elasticsearch Service

  5. 开始流式处理到Amazon Elasticsearch Service屏幕上,为 Amazon ES 集群选择您在上一步中创建的集群,然后选择下一步

  6. Lambda 函数 下,为 LambdaIAM 执行角色选择 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 终端节点。

  7. Configure Log Format and Filters 屏幕上,为 Log Format 选择日志格式。

  8. Subscription Filter Pattern 下,键入要在您的日志事件中查找的字词或模式。这可确保只将您感兴趣的数据发送到 Amazon ES 集群。有关更多信息,请参阅搜索和筛选日志数据

  9. (可选) 在 Select Log Data to Test 下,选择一个日志流,然后单击 Test Pattern 以确认搜索筛选器是否会返回您期望的结果。

  10. 选择下一步,然后在检查并开始流式处理到 Amazon Elasticsearch Service 屏幕上,选择开始流式处理