翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MSK ログ記録
Apache Kafka ブローカーログは、Amazon CloudWatch Logs、Amazon S3、Amazon Data Firehose の 1 つまたは複数の配信先タイプに配信できます。を使用して Amazon MSK API コールを記録することもできます AWS CloudTrail。
注記
ブローカーログは Express ブローカーでは使用できません。
ブローカーログ
ブローカーログを使用すると、Apache Kafka アプリケーションのトラブルシューティングを行い、MSK クラスターとの通信を分析できます。新規または既存の MSK クラスターを設定して、INFO レベルのブローカーログを CloudWatch ロググループ、S3 バケット、Firehose 配信ストリームの 1 つまたは複数の配信先リソースのタイプに配信できます。その後、Firehose を使用して、配信ストリームから OpenSearch Service にログデータを配信できます。ブローカーログをクラスターに配信するようにクラスターを設定する前に、宛先リソースを作成する必要があります。Amazon MSK は、これらの宛先リソースがまだ存在しない場合、それらを作成しません。これらの 3 種類の宛先リソースとその作成方法については、次のドキュメントを参照してください。
必要なアクセス許可
Amazon MSK ブローカーログの送信先を設定するには、Amazon MSK アクションに使用する IAM ID に、AWS マネージドポリシー: AmazonMSKFullAccess ポリシーに記載されているアクセス許可が必要です。
ブローカーログを S3 バケットにストリーミングするには、s3:PutBucketPolicy
アクセス許可も必要です。S3 バケットポリシーについては、「Amazon S3 ユーザーガイド」の「S3 バケットポリシーを追加する方法」を参照してください。一般的な IAM ポリシーの詳細については、 「IAM ユーザーガイド」のアクセス管理を参照してください。
SSE-KMS バケットで使用するために必要な KMS キーポリシー
カスタマーマネージドキーで マネージドキー (SSE-KMS) AWS 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": "amzn-s3-demo-bucket", "Prefix": "ExamplePrefix", "Enabled": true }, "Firehose": { "DeliveryStream": "ExampleDeliveryStreamName", "Enabled": true }, "CloudWatchLogs": { "Enabled": true, "LogGroup": "ExampleLogGroupName" } } }
API を使用してブローカーログを設定する
CreateClusterまたはUpdateMonitoringオペレーションに渡す JSON でオプションの loggingInfo
構造を指定できます。
注記
デフォルトでは、ブローカーロギングが有効になっている場合、Amazon MSK は INFO
レベルのログを指定された宛先に記録します。ただし、Apache Kafka 2.4.X 以降のユーザーは、ブローカーのログレベルを任意のlog4j ログレベルDEBUG
または TRACE
に動的に設定する場合は、ログの送信先として Amazon S3 または Firehose を使用することをお勧めします。CloudWatch Logs をログの宛先として使用し、DEBUG
または TRACE
レベルのロギングを動的に有効にした場合、Amazon MSK はログのサンプルを継続的に配信する場合があります。これはブローカーのパフォーマンスに大きな影響を与える可能性があるため、INFO
ログレベルが問題の根本原因を特定するのに十分なほど詳細でない場合にのみ使用する必要があります。