Amazon MSK 日志 - Amazon Managed Streaming for Apache Kafka

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

Amazon MSK 日志

您可以将 Apache Kafka 代理日志传送到以下一种或多种目标类型:亚马逊日 CloudWatch 志、亚马逊 S3、Amazon Data Firehose。您也可以使用记录亚马逊的MSKAPI通话 AWS CloudTrail。

注意

Express 经纪人上没有经纪人日志。

代理日志

代理日志使您可以对 Apache Kafka 应用程序进行故障排除,并分析它们与集群的MSK通信。您可以将新集群或现有MSK集群配置为将INFO级别代理日志传送到以下一种或多种目标资源: CloudWatch 日志组、S3 存储桶、Firehose 传输流。然后,您可以通过 Firehose 将传输流中的日志数据传送到 OpenSearch 服务。在配置集群以向其传送代理日志之前,必须创建目标资源。如果这些目标资源尚MSK不存在,Amazon 就不会为您创建这些资源。有关这三种类型的目标资源以及如何创建这些资源的信息,请参阅以下文档:

所需的权限

要为亚马逊MSK代理日志配置目标,您用于亚马逊MSK操作的IAM身份必须具有AWS 托管策略:A mazonMSKFull 访问权限策略中描述的权限。

要将代理日志流式传输到 S3 存储桶,您还需要 s3:PutBucketPolicy 权限。有关 S3 存储桶策略的信息,请参阅《Amazon S3 用户指南》中的如何添加 S3 存储桶策略?。有关一般IAM策略的信息,请参阅《IAM用户指南》中的访问管理

与 SSE-存储KMS桶一起使用的必需KMS密钥策略

如果您使用带有客户托管密钥的 AWS KMS托管密钥 (SSE-KMS) 为 S3 存储桶启用服务器端加密,请将以下内容添加到密钥的密钥策略中,以便 Amazon MSK 可以将代理文件写入存储桶。KMS

{ "Sid": "Allow Amazon MSK to use the key.", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

使用配置代理日志 AWS Management Console

如果您要创建新集群,请在监控部分中查找代理日志传送标题。您可以指定希望 Amazon 将您的经纪人日志传送MSK到哪个目的地。

对于现有集群,请从集群列表中选择集群,然后选择属性选项卡。向下滚动到日志传送部分,然后选择其编辑按钮。您可以指定希望 Amazon 将您的经纪人日志传送MSK到哪个目的地。

使用配置代理日志 AWS CLI

使用create-clusterupdate-monitoring命令时,可以选择指定logging-info参数并将如下例所示的JSON结构传递给它。在这种情况下JSON,所有三种目的地类型都是可选的。

{ "BrokerLogs": { "S3": { "Bucket": "ExampleBucketName", "Prefix": "ExamplePrefix", "Enabled": true }, "Firehose": { "DeliveryStream": "ExampleDeliveryStreamName", "Enabled": true }, "CloudWatchLogs": { "Enabled": true, "LogGroup": "ExampleLogGroupName" } } }

使用 API 配置代理日志

可以在中指定传递给CreateClusterUpdateMonitoring操作的可选loggingInfo结构。JSON

注意

默认情况下,启用代理日志记录后,Amazon 会将INFO级别MSK日志记录到指定目的地。但是,Apache Kafka 2.4.X 及更高版本的用户可以将代理日志级别动态设置为任何 log4j 日志级别。有关动态设置代理日志级别的信息,请参阅 KIP-412:扩展管理员API以支持动态应用程序日志级别。如果您将日志级别动态设置为 DEBUGTRACE,我们建议使用 Amazon S3 或 Firehose 作为日志目标。如果您使用 CloudWatch 日志作为日志目标,并且动态启用DEBUGTRACE级别日志记录,Amazon MSK 可能会持续提供日志示例。这可能会对代理性能带来显著影响,因此只有在 INFO 日志级别不够详细,无法确定问题的根本原因时才应使用。