Amazon MSKログ記録 - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon MSKログ記録

Apache Kafka ブローカーログは、Amazon CloudWatch Logs、Amazon S3、Amazon Data Firehose の 1 つ以上の送信先タイプに配信できます。Amazon MSKAPIコールを でログに記録することもできます AWS CloudTrail。

注記

ブローカーログは Express ブローカーでは使用できません。

ブローカーログ

ブローカーログを使用すると、Apache Kafka アプリケーションのトラブルシューティングやMSK、クラスターとの通信の分析を行うことができます。ロググループ、S3 バケット、Firehose 配信ストリームの 1 つ以上のタイプの送信先リソースに INFOレベルのブローカー CloudWatch ログを配信するように、新規または既存のMSKクラスターを設定できます。Firehose を通じて、配信ストリームから OpenSearch サービスにログデータを配信できます。ブローカーログをクラスターに配信するようにクラスターを設定する前に、宛先リソースを作成する必要があります。これらの送信先リソースがまだ存在しない場合、Amazon MSKはそれらの送信先リソースを作成しません。これらの 3 種類の宛先リソースとその作成方法については、次のドキュメントを参照してください。

必要なアクセス許可

Amazon MSKブローカーログの送信先を設定するには、Amazon MSKアクションに使用する IAM ID に、AWS マネージドポリシー: mazonMSKFullアクセスポリシーで説明されているアクセス許可が必要です。

ブローカーログを S3 バケットにストリーミングするには、s3:PutBucketPolicy アクセス許可も必要です。S3 バケットポリシーについては、「Amazon S3 ユーザーガイド」の「S3 バケットポリシーを追加する方法」を参照してください。IAM ポリシー全般の詳細については、「 IAMユーザーガイド」の「アクセス管理」を参照してください。

で使用するために必要なKMSキーポリシー SSE-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

新しいクラスターを作成する場合は、Monitoring (モニタリング) セクションで ブローカーログ配信 の見出しを探します。Amazon がブローカーログを配信MSKする送信先を指定できます。

既存のクラスターの場合は、クラスターのリストから当該クラスターを選択し、[プロパティ] タブを選択します。[ログ配信] セクションまで下にスクロールして、[編集] ボタンを選択します。Amazon がブローカーログを配信MSKする送信先を指定できます。

を使用してブローカーログを設定する AWS CLI

create-cluster または update-monitoring コマンドを使用する場合、オプションで logging-infoパラメータを指定し、次の例のようなJSON構造を渡すことができます。この ではJSON、3 つの送信先タイプはすべてオプションです。

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

API を使用してブローカーログを設定する

CreateCluster または UpdateMonitoringオペレーションに渡す JSON でオプションのloggingInfo構造を指定できます。

注記

デフォルトでは、ブローカーのログ記録が有効になっている場合、Amazon は指定された宛先にINFOレベルのログMSKを記録します。ただし、Apache Kafka 2.4.X 以降のユーザーは、ブローカーのログレベルを任意のlog4j ログレベルに動的に設定できます。ブローカーログレベルを動的に設定する方法については、KIP「-412: 動的なアプリケーションログレベルをサポートするAPIように管理者を拡張する」を参照してください。ログレベルを DEBUG または TRACE に動的に設定する場合は、ログの送信先として Amazon S3 または Firehose を使用することをお勧めします。 CloudWatch Logs をログの送信先として使用し、ログ記録を動的に有効化DEBUGまたはTRACEレベル設定する場合、Amazon はログのサンプルを継続的に配信MSKすることがあります。これはブローカーのパフォーマンスに大きな影響を与える可能性があるため、INFO ログレベルが問題の根本原因を特定するのに十分なほど詳細でない場合にのみ使用する必要があります。