翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データ配信のモニタリング
このトピックでは、Amazon CloudWatch メトリクス、CloudWatch Logs、および を使用して配信をモニタリングする方法について説明します AWS CloudTrail。
CloudWatch メトリクス
各配信は、 AWS/Kinesis名前空間の CloudWatch にメトリクスを発行します。メトリクス名には、汎用 Amazon S3 配信DeliveryToS3用とストリーミングテーブル配信DeliveryToIceberg用の送信先タイプがプレフィックスとして付けられます。これらのメトリクスを使用して、配信の状態とパフォーマンスをモニタリングします。
| メトリクス名 | Unit | 説明 |
|---|---|---|
DeliveryToS3.DataFreshness |
秒 | 送信先にまだ配信されていない最も古いレコードの経過時間。値を大きくすると、配信が遅れていることを示します。 |
DeliveryToS3.BytesIn |
バイト | ストリームから配信パスに読み取られたデータの量。 |
DeliveryToS3.BytesProcessed |
バイト | 配信によって処理されるデータの量。 |
DeliveryToS3.BytesOut |
バイト | 送信先に書き込まれたデータの量。 |
DeliveryToS3.RecordCount |
カウント | ストリームから読み取られたレコードの総数。 |
DeliveryToS3.SuccessfulRecordCount |
カウント | 送信先に正常に配信されたレコードの数。 |
DeliveryToS3.FailedRecordCount |
カウント | 配信に失敗したレコードの数。ゼロ以外の値はキーエラーシグナルです。 |
DeliveryToS3.DeliverySuccess |
カウント | 成功した配信オペレーションの数。 |
DeliveryToS3.DLQDeliverySuccess |
カウント | デッドレターキューに正常に書き込まれたレコードの数。 |
| メトリクス名 | Unit | 説明 |
|---|---|---|
DeliveryToIceberg.DataFreshness |
秒 | テーブルにまだ配信されていない最も古いレコードの経過時間。値を大きくすると、配信が遅れていることを示します。 |
DeliveryToIceberg.BytesIn |
バイト | ストリームから配信パスに読み取られたデータの量。 |
DeliveryToIceberg.BytesProcessed |
バイト | 配信によって処理されるデータの量。 |
DeliveryToIceberg.BytesOut |
バイト | テーブルに書き込まれたデータの量。 |
DeliveryToIceberg.TotalRowCount |
カウント | ストリームから読み取られた行の合計数。 |
DeliveryToIceberg.SuccessfulRowCount |
カウント | テーブルに正常に配信された行数。 |
DeliveryToIceberg.FailedRowCount |
カウント | 配信に失敗した行数。ゼロ以外の値はキーエラーシグナルです。 |
DeliveryToIceberg.CommitSuccess |
カウント | 成功した Iceberg コミットの数。 |
DeliveryToIceberg.DLQDeliverySuccess |
カウント | デッドレターキューに正常に書き込まれたレコードの数。 |
ディメンション
配信メトリクスは、次のディメンションで公開されます。
-
ChannelName– 配信名。 -
ChannelId– 配信の一意の識別子。 -
StreamName– ソース Kinesis Data Streams ストリームの名前。
注記
CloudWatch アラームで特定の配信をターゲットにするには、3 つのディメンションをすべて指定します。GetMetricData および を使用してブラウジングまたはクエリを行う場合ListMetricsは、ChannelName単独でなど、ディメンションのサブセットでフィルタリングできます。
推奨アラーム
| アラーム | メトリクス | Condition | 説明 |
|---|---|---|---|
| 高い障害率 | DeliveryToS3.FailedRecordCount |
> 0 を 5 分間 | レコードの配信が失敗しています。スキーマの不一致または送信先の問題を調査します。 |
| データ鮮度の低下 | DeliveryToS3.DataFreshness |
> しきい値 | データ配信が遅れています。サービス実行ロールに対するアクセス許可の欠落や送信先でのスロットリングなど、配信の問題を調査します。 |
| データは配信されません | DeliveryToS3.SuccessfulRecordCount |
= 15 分間 0 | レコードは配信されていません。ストリームにデータがあり、配信がアクティブであることを確認します。 |
| DLQ 配信の失敗 | DeliveryToS3.DLQDeliverySuccess |
FailedRecordCount > 0 の場合 = 0 | 失敗したレコードをデッドレターキューに書き込むことはできません。DLQ バケットのアクセス許可を確認します。 |
注記
上記のアラームは、Amazon S3 配信のDeliveryToS3メトリクスを使用します。ストリーミングテーブル配信には、同等のDeliveryToIcebergメトリクス (DeliveryToIceberg.FailedRowCount、DeliveryToIceberg.DataFreshness、DeliveryToIceberg.SuccessfulRowCount、) を使用しますDeliveryToIceberg.DLQDeliverySuccess。
CloudWatch Logs
各配信は、詳細なログを CloudWatch Logs に発行して、デバッグと運用の可視性を実現できます。
-
デフォルトのロググループ –
/aws/kinesis/channelName/channelId -
ログストリーム –
DestinationDelivery
CLI による CloudWatch Logs の有効化
以下を使用して配信を作成または更新するときに CloudWatch Logs を有効にします AWS CLI。
aws kinesis create-channel \ --channel-name "my-channel" \ --service-execution-role-arn "arn:aws:iam::123456789012:role/my-channel-role" \ --stream-configuration-list '[ { "StreamARN": "arn:aws:kinesis:us-east-1:123456789012:stream/my-stream", "RecordConfiguration": { "RecordFormatType": "JSON" } } ]' \ --s3-destination-configuration '{ "StorageConfiguration": { "BucketARN": "arn:aws:s3:::my-destination-bucket", "ExpectedBucketOwner": "123456789012", "CompressionType": "GZIP" } }' \ --logging-configuration '{ "CloudWatchLogs": { "Enabled": true } }'
ロググループを指定せずに CloudWatch Logs を有効にすると、配信はデフォルトのロググループ を使用します/aws/kinesis/。カスタム を指定する場合はchannelName/channelIdLogGroupName、サービス実行ロールの CloudWatch Logs アクセス許可が同じロググループにスコープされていることを確認します。必要なアクセス許可については、「データ配信の IAM アクセス許可」を参照してください。
update-channel コマンドを使用して、既存の配信で CloudWatch Logs を有効化または更新し、同じ--logging-configuration値を渡すこともできます。
必要なアクセス許可
CloudWatch Logs を有効にするには、配信のサービス実行ロールに次のアクセス許可が必要です。
-
logs:CreateLogGroup -
logs:CreateLogStream -
logs:PutLogEvents
これらのアクセス許可を特定のロググループ ARN にスコープします。完全なポリシーの例オプションの CloudWatch Logs アクセス許可については、「」を参照してください。
AWS CloudTrail ログ記録
すべての配信 API コールは によって記録されます AWS CloudTrail。以下は、 CreateChannel呼び出しの AWS CloudTrail イベントの例です。
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA1EXAMPLE:user-session", "arn": "arn:aws:sts::<account-id>:assumed-role/<role-name>/user-session", "accountId": "<account-id>" }, "eventTime": "2026-07-20T20:00:00Z", "eventSource": "kinesis.amazonaws.com", "eventName": "CreateChannel", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.1", "userAgent": "aws-cli/2.x", "requestParameters": { "streamName": "my-stream", "channelName": "my-channel" }, "responseElements": { "channelARN": "arn:aws:kinesis:us-east-1:<account-id>:channel/<channel-id>" }, "requestID": "a1b2c3d4-example", "eventID": "e5f6g7h8-example", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "<account-id>" }