本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 CloudWatch Logs 数据流式传输到 Amazon OpenSearch Service
您可以在 Amazon CloudWatch Logs 中配置日志组,以便可以近乎实时地将数据流式传输到 Amazon OpenSearch Service 集群。有关更多信息,请参阅 使用订阅实时处理日志数据。
注意
仅标准日志类中的日志组支持流式传输到 OpenSearch 服务。有关日志类的更多信息,请参阅 日志类。
根据流式传输的日志数据量,请考虑设置函数级并发限制。有关更多信息,请参阅 Lambda 函数扩展。
注意
由于将大量 CloudWatch Logs 数据流式传输到 OpenSearch Service 可能会导致高额使用费,因此我们建议您在 Amazon Billing and Cost Management 控制台中创建预算。有关更多信息,请参阅通过 Amazon Budgets 管理成本。
本节介绍在将日志组订阅到 OpenSearch Service 之前必须完成的先决条件。它还介绍了如何将日志组订阅到 OpenSearch Service。
先决条件
您需要首先创建一个 OpenSearch Service 域,然后才能开始此操作。该域可以具有公有访问权限或 VPC 访问权限,但您无法在创建该域后修改访问权限的类型。之后您可能需要检查 OpenSearch Service 域设置,并根据集群将会处理的数据量修改集群配置。有关创建域的说明,请参阅创建 OpenSearch Service 域。
有关 OpenSearch Service 的更多信息,请参阅《Amazon OpenSearch Service 开发人员指南》https://docs.amazonaws.cn/opensearch-service/latest/developerguide/。
将日志组订阅到 OpenSearch Service
您可以通过 CloudWatch 控制台将日志组订阅到 OpenSearch Service。
将日志组订阅到 OpenSearch Service
访问 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 -
在导航窗格中,选择 Log groups(日志组)。
-
选择日志组的名称。
-
选择 Actions(操作)、Subscription filters(订阅筛选器)、Create Amazon OpenSearch Service subscription filter(创建 Amazon OpenSearch Service 订阅筛选器)。
-
选择是要流式传输到此账户还是其他账户中的集群。
-
如果您选择了此账户,请选择上一步中已创建的域。
-
如果您选择了其他账户,请提供域 ARN 和端点。
-
-
对于 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 Service 域使用 VPC 访问权限,则该角色必须已附加了 AWSLambdaVPCAccessExecutionRole 策略。此 Amazon 托管式策略将向 Lambda 授予访问客户 VPC 的权限,从而确保 Lambda 能够写入 VPC 中的 OpenSearch 终端节点。
-
-
对于 Log format(日志格式),请选择日志格式。
-
对于 Subscription filter pattern(订阅筛选条件模式),键入要在您的日志事件中查找的字词或模式。这可确保只将您需要的数据发送到 OpenSearch 集群。有关更多信息,请参阅 使用筛选条件从日志事件创建指标。
-
(可选)对于 Select log data to test(选择要测试的日志数据),请选择一个日志流,然后选择 Test pattern(测试模式),以确认搜索筛选器是否会返回您期望的结果。
选择 Start streaming(开始流式传输)。