Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memantau pengiriman data
Gunakan topik ini untuk mempelajari cara memantau pengiriman Anda menggunakan CloudWatch metrik Amazon, CloudWatch Log, dan AWS CloudTrail.
CloudWatch metrik
Setiap pengiriman menerbitkan metrik ke CloudWatch dalam AWS/Kinesis namespace. Nama metrik diawali dengan jenis tujuan: DeliveryToS3 untuk pengiriman Amazon S3 tujuan umum dan DeliveryToIceberg untuk pengiriman tabel streaming. Gunakan metrik ini untuk memantau kesehatan dan kinerja pengiriman Anda.
| Nama metrik | Unit | Deskripsi |
|---|---|---|
DeliveryToS3.DataFreshness |
Detik | Usia catatan tertua belum dikirim ke tujuan. Nilai yang meningkat menunjukkan pengiriman tertinggal. |
DeliveryToS3.BytesIn |
Byte | Volume data dibaca ke jalur pengiriman dari aliran. |
DeliveryToS3.BytesProcessed |
Byte | Volume data yang diproses oleh pengiriman. |
DeliveryToS3.BytesOut |
Byte | Volume data yang ditulis ke tujuan. |
DeliveryToS3.RecordCount |
Hitungan | Jumlah total catatan yang dibaca dari aliran. |
DeliveryToS3.SuccessfulRecordCount |
Hitungan | Jumlah catatan yang berhasil dikirim ke tujuan. |
DeliveryToS3.FailedRecordCount |
Hitungan | Jumlah catatan yang gagal pengiriman. Nilai bukan nol adalah sinyal kesalahan utama. |
DeliveryToS3.DeliverySuccess |
Hitungan | Jumlah operasi pengiriman yang berhasil. |
DeliveryToS3.DLQDeliverySuccess |
Hitungan | Jumlah catatan yang berhasil ditulis ke antrian huruf mati. |
| Nama metrik | Unit | Deskripsi |
|---|---|---|
DeliveryToIceberg.DataFreshness |
Detik | Usia catatan tertua belum dikirim ke meja. Nilai yang meningkat menunjukkan pengiriman tertinggal. |
DeliveryToIceberg.BytesIn |
Byte | Volume data dibaca ke jalur pengiriman dari aliran. |
DeliveryToIceberg.BytesProcessed |
Byte | Volume data yang diproses oleh pengiriman. |
DeliveryToIceberg.BytesOut |
Byte | Volume data yang ditulis ke tabel. |
DeliveryToIceberg.TotalRowCount |
Hitungan | Jumlah total baris yang dibaca dari aliran. |
DeliveryToIceberg.SuccessfulRowCount |
Hitungan | Jumlah baris berhasil dikirim ke tabel. |
DeliveryToIceberg.FailedRowCount |
Hitungan | Jumlah baris yang gagal pengiriman. Nilai bukan nol adalah sinyal kesalahan utama. |
DeliveryToIceberg.CommitSuccess |
Hitungan | Jumlah komitmen Iceberg yang berhasil. |
DeliveryToIceberg.DLQDeliverySuccess |
Hitungan | Jumlah catatan yang berhasil ditulis ke antrian huruf mati. |
Dimensi
Metrik pengiriman dipublikasikan dengan dimensi berikut:
-
ChannelName— Nama pengiriman. -
ChannelId— Pengidentifikasi unik pengiriman. -
StreamName— Nama sumber aliran Kinesis Data Streams.
catatan
Untuk menargetkan pengiriman tertentu dalam CloudWatch alarm, tentukan ketiga dimensi. Untuk menjelajah atau menanyakan dengan GetMetricData danListMetrics, Anda dapat memfilter berdasarkan subset dimensi, seperti ChannelName sendiri.
Alarm-alarm yang direkomendasikan
| Alarm | Metrik | Ketentuan | Deskripsi |
|---|---|---|---|
| Tingkat kegagalan tinggi | DeliveryToS3.FailedRecordCount |
> 0 selama 5 menit | Catatan gagal pengiriman. Selidiki ketidakcocokan skema atau masalah tujuan. |
| Degradasi kesegaran data | DeliveryToS3.DataFreshness |
> ambang batas | Pengiriman data tertinggal. Selidiki masalah pengiriman seperti hilangnya izin pada peran eksekusi layanan atau pelambatan di tujuan. |
| Tidak ada data yang dikirimkan | DeliveryToS3.SuccessfulRecordCount |
= 0 selama 15 menit | Tidak ada catatan yang dikirimkan. Verifikasi aliran memiliki data dan pengirimannya aktif. |
| Kegagalan pengiriman DLQ | DeliveryToS3.DLQDeliverySuccess |
= 0 pada FailedRecordCount > 0 | Catatan yang gagal tidak dapat ditulis ke antrian huruf mati. Periksa izin bucket DLQ. |
catatan
Alarm sebelumnya menggunakan DeliveryToS3 metrik untuk pengiriman Amazon S3. Untuk pengiriman tabel streaming, gunakan DeliveryToIceberg metrik yang setara (DeliveryToIceberg.FailedRowCount,DeliveryToIceberg.DataFreshness,DeliveryToIceberg.SuccessfulRowCount, danDeliveryToIceberg.DLQDeliverySuccess).
CloudWatch Log
Setiap pengiriman dapat mempublikasikan log terperinci ke CloudWatch Log untuk debugging dan visibilitas operasional.
-
Grup log default -
/aws/kinesis/channelName/channelId -
Log aliran —
DestinationDelivery
Mengaktifkan CloudWatch Log melalui CLI
Akti CloudWatch fkan Log saat membuat atau memperbarui pengiriman menggunakan 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 } }'
Bila Anda mengaktifkan CloudWatch Log tanpa menentukan grup log, pengiriman menggunakan grup log default/aws/kinesis/. Jika Anda menentukan kustomchannelName/channelIdLogGroupName, pastikan izin Log peran eksekusi layanan dicakup ke grup log yang sama. CloudWatch Untuk izin yang diperlukan, lihat Izin IAM untuk pengiriman data.
Anda juga dapat mengaktifkan atau memperbarui CloudWatch Log pada pengiriman yang ada dengan update-channel perintah, meneruskan --logging-configuration nilai yang sama.
Izin yang diperlukan
Untuk mengaktifkan CloudWatch Log, peran eksekusi layanan pengiriman harus memiliki izin berikut:
-
logs:CreateLogGroup -
logs:CreateLogStream -
logs:PutLogEvents
Lingkup izin ini ke grup log tertentu ARN. Lihat Izin CloudWatch Log opsional contoh kebijakan lengkapnya.
AWS CloudTrail pencatatan log
Semua panggilan API pengiriman direkam oleh AWS CloudTrail. Berikut ini adalah contoh AWS CloudTrail acara untuk CreateChannel panggilan:
{ "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>" }