View a markdown version of this page

Memantau Perpustakaan Klien Kinesis dengan Amazon CloudWatch - Amazon Kinesis Data Streams

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memantau Perpustakaan Klien Kinesis dengan Amazon CloudWatch

Kinesis Client Library (KCL) untuk Amazon Kinesis Data Streams menerbitkan CloudWatch metrik Amazon khusus atas nama Anda, menggunakan nama aplikasi KCL Anda sebagai namespace. Anda dapat melihat metrik ini dengan menavigasi ke CloudWatch konsol dan memilih Metrik K ustom. Untuk informasi selengkapnya tentang metrik khusus, lihat Publikasikan Metrik Kustom di Panduan CloudWatch Pengguna Amazon.

Ada biaya nominal untuk metrik yang diunggah CloudWatch oleh KCL; khususnya, biaya Amazon C CloudWatch ustom Metrics dan Amazon CloudWatch API Requests berlaku. Untuk informasi selengkapnya, lihat CloudWatch Harga Amazon.

Metrik dan namespace

Namespace yang digunakan untuk mengunggah metrik adalah nama aplikasi yang Anda tentukan saat meluncurkan KCL.

Tingkat dan dimensi metrik

Ada dua opsi untuk mengontrol metrik mana yang diunggah ke CloudWatch:

tingkat metrik

Setiap metrik diberi level individual. Saat Anda menetapkan tingkat pelaporan metrik, metrik dengan tingkat individu di bawah tingkat pelaporan tidak dikirim ke CloudWatch. Levelnya adalah:NONE,SUMMARY, danDETAILED. Pengaturan default adalahDETAILED; yaitu, semua metrik dikirim ke CloudWatch. Tingkat pelaporan NONE berarti tidak ada metrik yang dikirim sama sekali. Untuk informasi tentang level mana yang ditetapkan untuk metrik apa, lihatDaftar metrik.

dimensi yang diaktifkan

Setiap metrik KCL memiliki dimensi terkait yang juga dikirim ke CloudWatch. Di KCL 2.x, jika KCL dikonfigurasi untuk memproses aliran data tunggal, semua dimensi metrik (Operation,ShardId, danWorkerIdentifier) diaktifkan secara default. Juga, di KCL 2.x, jika KCL dikonfigurasi untuk memproses aliran data tunggal, Operation dimensi tidak dapat dinonaktifkan. Di KCL 2.x, jika KCL dikonfigurasi untuk memproses beberapa aliran data, semua dimensi metrik (Operation,, ShardIdStreamId, danWorkerIdentifier) diaktifkan secara default. Juga, di KCL 2.x, jika KCL dikonfigurasi untuk memproses beberapa aliran data, dimensi Operation dan StreamId dimensi tidak dapat dinonaktifkan. StreamIddimensi hanya tersedia untuk metrik per-shard.

Di KCL 1.x, hanya ShardId dimensi Operation dan yang diaktifkan secara default, dan WorkerIdentifier dimensi dinonaktifkan. Di KCL 1.x, Operation dimensi tidak dapat dinonaktifkan.

Untuk informasi selengkap CloudWatch nya tentang dimensi metrik, lihat bagian Dimensi di topik Kon CloudWatch sep Amazon, di Panduan CloudWatch Pengguna Amazon.

Ketika WorkerIdentifier dimensi diaktifkan, jika nilai yang berbeda digunakan untuk properti ID pekerja setiap kali pekerja KCL tertentu memulai ulang, kumpulan metrik baru dengan nilai WorkerIdentifier dimensi baru dikirim ke. CloudWatch Jika Anda memerlukan nilai WorkerIdentifier dimensi yang sama di seluruh restart pekerja KCL tertentu, Anda harus secara eksplisit menentukan nilai ID pekerja yang sama selama inisialisasi untuk setiap pekerja. Perhatikan bahwa nilai ID pekerja untuk setiap pekerja KCL aktif harus unik di semua pekerja KCL.

Konfigurasi metrik

Level metrik dan dimensi yang diaktifkan dapat dikonfigurasi menggunakan KinesisClientLibConfiguration instance, yang diteruskan ke Worker saat meluncurkan aplikasi KCL. MultiLangDaemon Dalam kasus ini, metricsEnabledDimensions properti metricsLevel dan dapat ditentukan dalam file.properties yang digunakan untuk meluncurkan aplikasi MultiLangDaemon KCL.

Level metrik dapat ditetapkan salah satu dari tiga nilai: TIDAK ADA, RINGKASAN, atau DETAIL. Nilai dimensi yang diaktifkan harus berupa string yang dipisahkan koma dengan daftar dimensi yang diizinkan untuk metrik. CloudWatch Dimensi yang digunakan oleh aplikasi KCL adalahOperation,ShardId, danWorkerIdentifier.

Daftar metrik

Tabel berikut mencantumkan metrik KCL, dikelompokkan berdasarkan ruang lingkup dan operasi.

Per-KCL-application metrik

Metrik ini dikumpulkan di semua pekerja KCL dalam lingkup aplikasi, seperti yang didefinisikan oleh CloudWatch namespace Amazon.

LeaseAssignmentManager

LeaseAssignmentManagerOperasi bertanggung jawab untuk menetapkan sewa kepada pekerja dan menyeimbangkan kembali sewa di antara pekerja untuk mencapai pemanfaatan sumber daya pekerja yang merata. Logika untuk operasi ini termasuk membaca metadata terkait sewa dari tabel sewa dan metrik dari tabel metrik pekerja, dan melakukan penugasan sewa.

Metrik Deskripsi

LeaseAndWorkerMetricsLoad.Time

Waktu yang dibutuhkan untuk memuat semua entri sewa dan metrik pekerja di manajer penugasan sewa (LAM), penugasan sewa baru dan algoritma penyeimbangan beban yang diperkenalkan di KCL 3.x.

Tingkat metrik: Terinci

Unit: Milidetik

TotalLeases

Jumlah total sewa untuk aplikasi KCL saat ini.

Tingkat metrik: Ringkasan

Unit: Hitungan

NumWorkers

Jumlah total pekerja dalam aplikasi KCL saat ini.

Tingkat metrik: Ringkasan

Unit: Hitungan

AssignExpiredOrUnassignedLeases.Time

Waktu untuk melakukan penugasan dalam memori dari sewa yang kedaluwarsa.

Tingkat metrik: Terinci

Unit: Milidetik

LeaseSpillover

Jumlah sewa yang tidak ditetapkan karena mencapai batas jumlah sewa maksimum atau throughput maksimum per pekerja.

Tingkat metrik: Ringkasan

Unit: Hitungan

BalanceWorkerVariance.Time

Saatnya melakukan penyeimbangan sewa dalam memori antar pekerja.

Tingkat metrik: Terinci

Unit: Milidetik

NumOfLeasesReassignment

Jumlah total penugasan kembali sewa yang dibuat dalam iterasi penugasan ulang saat ini.

Tingkat metrik: Ringkasan

Unit: Hitungan

FailedAssignmentCount

Jumlah kegagalan dalam AssignLease panggilan ke tabel sewa DynamoDB.

Tingkat metrik: Terinci

Unit: Hitungan

ParallelyAssignLeases.Time

Saatnya mengalirkan tugas baru ke tabel sewa DynamoDB.

Tingkat metrik: Terinci

Unit: Milidetik

ParallelyAssignLeases.Success

Jumlah penugasan tugas baru yang berhasil.

Tingkat metrik: Terinci

Unit: Hitungan

TotalStaleWorkerMetricsEntry

Jumlah total entri metrik pekerja yang harus dibersihkan.

Tingkat metrik: Terinci

Unit: Hitungan

StaleWorkerMetricsCleanup.Time

Waktu untuk melakukan penghapusan entri metrik pekerja dari tabel metrik pekerja DynamoDB.

Tingkat metrik: Terinci

Unit: Milidetik

Waktu

Waktu yang dibutuhkan oleh LeaseAssignmentManager operasi.

Tingkat metrik: Ringkasan

Unit: Milidetik

Berhasil

Berapa kali LeaseAssignmentManager operasi berhasil diselesaikan.

Tingkat metrik: Ringkasan

Unit: Hitungan

ForceLeaderRelease

Menunjukkan bahwa manajer penugasan sewa telah gagal 3 kali berturut-turut dan pekerja pemimpin melepaskan kepemimpinan.

Tingkat metrik: Ringkasan

Unit: Hitungan

NumWorkersWithInvalidEntry

Jumlah entri metrik pekerja yang dianggap tidak valid.

Tingkat metrik: Ringkasan

Unit: Hitungan

NumWorkersWithFailingWorkerMetric

Jumlah entri metrik pekerja yang memiliki -1 (mewakili nilai metrik pekerja tidak tersedia) sebagai salah satu nilai untuk metrik pekerja.

Tingkat metrik: Ringkasan

Unit: Hitungan

LeaseDeserializationFailureCount

Entri sewa dari tabel sewa yang gagal dideserialisasi.

Tingkat metrik: Ringkasan

Unit: Hitungan

InitializeTask

InitializeTaskOperasi bertanggung jawab untuk menginisialisasi prosesor rekaman untuk aplikasi KCL. Logika untuk operasi ini termasuk mendapatkan iterator shard dari Kinesis Data Streams dan menginisialisasi prosesor rekaman.

Metrik Deskripsi
KinesisDataFetcher.getIterator.Success

Jumlah GetShardIterator operasi yang berhasil per aplikasi KCL.

Tingkat metrik: Terinci

Unit: Hitungan

KinesisDataFetcher.getIterator.Time

Waktu yang dibutuhkan per GetShardIterator operasi untuk aplikasi KCL yang diberikan.

Tingkat metrik: Terinci

Unit: Milidetik

RecordProcessor.initialize.Time

Waktu yang dibutuhkan oleh metode inisialisasi prosesor rekaman.

Tingkat metrik: Ringkasan

Unit: Milidetik

Berhasil

Jumlah inisialisasi prosesor rekaman yang berhasil.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Waktu yang dibutuhkan oleh pekerja KCL untuk inisialisasi prosesor rekaman.

Tingkat metrik: Ringkasan

Unit: Milidetik

ShutdownTask

ShutdownTaskOperasi memulai urutan shutdown untuk pemrosesan pecahan. Hal ini dapat terjadi karena pecahan dipecah atau digabungkan, atau ketika sewa pecahan hilang dari pekerja. Dalam kedua kasus, shutdown() fungsi prosesor rekaman dipanggil. Pecahan baru juga ditemukan dalam kasus di mana pecahan dipecah atau digabungkan, menghasilkan pembuatan satu atau dua pecahan baru.

Metrik Deskripsi
CreateLease.Success

Berapa kali pecahan anak baru berhasil ditambahkan ke tabel DynamoDB aplikasi KCL setelah shutdown pecahan induk.

Tingkat metrik: Terinci

Unit: Hitungan

CreateLease.Time

Waktu yang dibutuhkan untuk menambahkan informasi pecahan anak baru dalam tabel DynamoDB aplikasi KCL.

Tingkat metrik: Terinci

Unit: Milidetik

UpdateLease.Success

Jumlah pos pemeriksaan akhir yang berhasil selama penutupan prosesor rekaman.

Tingkat metrik: Terinci

Unit: Hitungan

UpdateLease.Time

Waktu yang dibutuhkan oleh operasi pos pemeriksaan selama penutupan prosesor rekaman.

Tingkat metrik: Terinci

Unit: Milidetik

RecordProcessor.shutdown.Time

Waktu yang dibutuhkan oleh metode shutdown prosesor rekaman.

Tingkat metrik: Ringkasan

Unit: Milidetik

Berhasil

Jumlah tugas shutdown yang berhasil.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Waktu yang dibutuhkan oleh pekerja KCL untuk tugas shutdown.

Tingkat metrik: Ringkasan

Unit: Milidetik

ShardSyncTask

ShardSyncTaskOperasi menemukan perubahan pada informasi shard untuk aliran data Kinesis, sehingga pecahan baru dapat diproses oleh aplikasi KCL.

Metrik Deskripsi
CreateLease.Success

Jumlah upaya yang berhasil untuk menambahkan informasi shard baru ke dalam tabel DynamoDB aplikasi KCL.

Tingkat metrik: Terinci

Unit: Hitungan

CreateLease.Time

Waktu yang dibutuhkan untuk menambahkan informasi shard baru dalam tabel DynamoDB aplikasi KCL.

Tingkat metrik: Terinci

Unit: Milidetik

Berhasil

Jumlah operasi sinkronisasi pecahan yang berhasil.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Waktu yang dibutuhkan untuk operasi sinkronisasi pecahan.

Tingkat metrik: Ringkasan

Unit: Milidetik

BlockOnParentTask

Jika pecahan dipecah atau digabungkan dengan pecahan lain, maka pecahan anak baru dibuat. BlockOnParentTaskOperasi memastikan bahwa pemrosesan rekaman untuk pecahan baru tidak dimulai sampai pecahan induk sepenuhnya diproses oleh KCL.

Metrik Deskripsi
Berhasil

Jumlah pemeriksaan yang berhasil untuk penyelesaian pecahan induk.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Waktu yang dibutuhkan untuk penyelesaian pecahan induk.

Tingkat metrik: Ringkasan

Satuan: Milidetik

PeriodicShardSyncManager

Ber PeriodicShardSyncManager tanggung jawab untuk memeriksa aliran data yang sedang diproses oleh aplikasi konsumen KCL, mengidentifikasi aliran data dengan sewa parSIAL dan menyerahkannya untuk sinkronisasi.

Metrik berikut tersedia saat KCL dikonfigurasi untuk memproses aliran data tunggal (kemudian nilai NumStreamsToSync dan NumStreamsWithPartialLeases disetel ke 1) dan juga ketika KCL dikonfigurasi untuk memproses beberapa aliran data.

Metrik Deskripsi
NumStreamsToSync

Jumlah aliran data (per AWS akun) yang diproses oleh aplikasi konsumen yang berisi sewa parSIAL dan yang harus diserahkan untuk sinkronisasi.

Tingkat metrik: Ringkasan

Unit: Hitungan

NumStreamsWithPartialLeases

Jumlah aliran data (per AWS akun) yang diproses aplikasi konsumen yang berisi sewa parSIAL.

Tingkat metrik: Ringkasan

Unit: Hitungan

Berhasil

Berapa kali PeriodicShardSyncManager berhasil mengidentifikasi sewa parSIAL dalam aliran data yang diproses aplikasi konsumen.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Jumlah waktu (dalam milidetik) yang PeriodicShardSyncManager dibutuhkan untuk memeriksa aliran data yang diproses aplikasi konsumen, untuk menentukan aliran data mana yang memerlukan sinkronisasi pecahan.

Tingkat metrik: Ringkasan

Unit: Milidetik

MultistreamTracker

Antar MultistreamTracker muka memungkinkan Anda untuk membangun aplikasi konsumen KCL yang dapat memproses beberapa aliran data secara bersamaan.

Metrik Deskripsi
DeletedStreams.Count

Jumlah aliran data yang dihapus pada periode waktu ini.

Tingkat metrik: Ringkasan

Unit: Hitungan

ActiveStreams.Count

Jumlah aliran data aktif yang sedang diproses.

Tingkat metrik: Ringkasan

Unit: Hitungan

StreamsPendingDeletion.Count

Jumlah aliran data yang menunggu penghapusan berdasarkanFormerStreamsLeasesDeletionStrategy.

Tingkat metrik: Ringkasan

Unit: Hitungan

Per-worker metrik

Metrik ini dikumpulkan di semua prosesor rekaman yang menggunakan data dari aliran data Kinesis, seperti instans Amazon EC2.

WorkerMetricStatsReporter

WorkerMetricStatReporterOperasi bertanggung jawab untuk menerbitkan metrik pekerja saat ini secara berkala ke tabel metrik pekerja. Metrik ini digunakan oleh LeaseAssignmentManager operasi untuk melakukan tugas sewa.

Metrik Deskripsi

InMemoryMetricStatsReporterFailure

Jumlah kegagalan untuk menangkap nilai metrik pekerja dalam memori, karena kegagalan beberapa metrik pekerja.

Tingkat metrik: Ringkasan

Unit: Hitungan

WorkerMetricStatsReporter.Time

Waktu yang dibutuhkan oleh WorkerMetricsStats operasi.

Tingkat metrik: Ringkasan

Unit: Milidetik

WorkerMetricStatsReporter.Success

Berapa kali WorkerMetricsStats operasi berhasil diselesaikan.

Tingkat metrik: Ringkasan

Unit: Hitungan

LeaseDiscovery

LeaseDiscoveryOperasi bertanggung jawab untuk mengidentifikasi sewa baru yang ditugaskan kepada pekerja saat ini oleh LeaseAssignmentManager operasi. Logika untuk operasi ini melibatkan mengidentifikasi sewa yang ditetapkan untuk pekerja saat ini dengan membaca indeks sekunder global dari tabel sewa.

Metrik Deskripsi

ListLeaseKeysForWorker.Time

Saatnya memanggil indeks sekunder global pada tabel sewa dan mendapatkan kunci sewa yang ditetapkan untuk pekerja saat ini.

Tingkat metrik: Terinci

Unit: Milidetik

FetchNewLeases.Time

Saatnya mengambil semua sewa baru dari tabel sewa.

Tingkat metrik: Terinci

Unit: Milidetik

NewLeasesDiscovered

Jumlah total sewa baru yang diberikan kepada pekerja.

Tingkat metrik: Terinci

Unit: Hitungan

Waktu

Waktu yang dibutuhkan oleh LeaseDiscovery operasi.

Tingkat metrik: Ringkasan

Unit: Milidetik

Berhasil

Berapa kali LeaseDiscovery operasi berhasil diselesaikan.

Tingkat metrik: Ringkasan

Unit: Hitungan

OwnerMismatch

Jumlah ketidakcocokan pemilik dari respon GSI dan tabel sewa dibaca konsisten.

Tingkat metrik: Terinci

Unit: Hitungan

RenewAllLeases

RenewAllLeasesOperasi secara berkala memperbarui sewa shard yang dimiliki oleh instance pekerja tertentu.

Metrik Deskripsi
RenewLease.Success

Jumlah perpanjangan sewa yang berhasil oleh pekerja.

Tingkat metrik: Terinci

Unit: Hitungan

RenewLease.Time

Waktu yang dibutuhkan oleh operasi pembaruan sewa.

Tingkat metrik: Terinci

Unit: Milidetik

CurrentLeases

Jumlah sewa pecahan yang dimiliki oleh pekerja setelah semua sewa diperbarui.

Tingkat metrik: Ringkasan

Unit: Hitungan

LostLeases

Jumlah sewa pecahan yang hilang setelah upaya untuk memperbarui semua sewa yang dimiliki oleh pekerja.

Tingkat metrik: Ringkasan

Unit: Hitungan

Berhasil

Berapa kali operasi pembaruan sewa berhasil bagi pekerja.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Waktu yang dibutuhkan untuk memperbarui semua sewa untuk pekerja.

Tingkat metrik: Ringkasan

Unit: Milidetik

TakeLeases

TakeLeasesOperasi menyeimbangkan pemrosesan catatan antara semua pekerja KCL. Jika pekerja KCL saat ini memiliki sewa shard lebih sedikit daripada yang diperlukan, diperlukan sewa pecahan dari pekerja lain yang kelebihan beban.

Metrik Deskripsi
ListLeases.Success

Berapa kali semua sewa shard berhasil diambil dari tabel DynamoDB aplikasi KCL.

Tingkat metrik: Terinci

Unit: Hitungan

ListLeases.Time

Waktu yang dibutuhkan untuk mengambil semua sewa shard dari tabel DynamoDB aplikasi KCL.

Tingkat metrik: Terinci

Unit: Milidetik

TakeLease.Success

Berapa kali pekerja berhasil mengambil sewa shard dari pekerja KCL lainnya.

Tingkat metrik: Terinci

Unit: Hitungan

TakeLease.Time

Waktu yang dibutuhkan untuk memperbarui tabel sewa dengan sewa yang diambil oleh pekerja.

Tingkat metrik: Terinci

Unit: Milidetik

NumWorkers

Jumlah total pekerja, seperti yang diidentifikasi oleh pekerja tertentu.

Tingkat metrik: Ringkasan

Unit: Hitungan

NeededLeases

Jumlah sewa pecahan yang dibutuhkan pekerja saat ini untuk beban pemrosesan shard-processing yang seimbang.

Tingkat metrik: Terinci

Unit: Hitungan

LeasesToTake

Jumlah sewa yang akan dicoba oleh pekerja.

Tingkat metrik: Terinci

Unit: Hitungan

TakenLeases

Jumlah sewa yang berhasil diambil oleh pekerja.

Tingkat metrik: Ringkasan

Unit: Hitungan

TotalLeases

Jumlah total pecahan yang sedang diproses aplikasi KCL.

Tingkat metrik: Terinci

Unit: Hitungan

ExpiredLeases

Jumlah total pecahan yang tidak diproses oleh pekerja mana pun, seperti yang diidentifikasi oleh pekerja tertentu.

Tingkat metrik: Ringkasan

Unit: Hitungan

Berhasil

Berapa kali TakeLeases operasi berhasil diselesaikan.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Waktu yang dibutuhkan oleh TakeLeases operasi untuk seorang pekerja.

Tingkat metrik: Ringkasan

Unit: Milidetik

Per-shard metrik

Metrik ini digabungkan di seluruh prosesor catatan tunggal.

ProcessTask

ProcessTaskOperasi memang GetRecords gil dengan posisi iterator saat ini untuk mengambil catatan dari aliran dan memanggil fungsi rekaman prosesor. processRecords

Metrik Deskripsi
KinesisDataFetcher.getRecords.Success

Jumlah GetRecords operasi yang berhasil per pecahan aliran data Kinesis.

Tingkat metrik: Terinci

Unit: Hitungan

KinesisDataFetcher.getRecords.Time

Waktu yang dibutuhkan per GetRecords operasi untuk pecahan aliran data Kinesis.

Tingkat metrik: Terinci

Unit: Milidetik

UpdateLease.Success

Jumlah pos pemeriksaan yang berhasil dibuat oleh prosesor rekaman untuk pecahan yang diberikan.

Tingkat metrik: Terinci

Unit: Hitungan

UpdateLease.Time

Waktu yang dibutuhkan untuk setiap operasi pos pemeriksaan untuk pecahan yang diberikan.

Tingkat metrik: Terinci

Unit: Milidetik

DataBytesProcessed

Ukuran total catatan yang diproses dalam byte pada setiap pemang ProcessTask gilan.

Tingkat metrik: Ringkasan

Satuan: Byte

RecordsProcessed

Jumlah catatan yang diproses pada setiap pem ProcessTask anggilan.

Tingkat metrik: Ringkasan

Unit: Hitungan

ExpiredIterator

Jumlah yang ExpiredIteratorException diterima saat meneleponGetRecords.

Tingkat metrik: Ringkasan

Unit: Hitungan

MillisBehindLatest Waktu iterator saat ini tertinggal dari catatan terbaru (tip) di pecahan. Nilai ini kurang dari atau sama dengan perbedaan waktu antara catatan terbaru dalam respons dan waktu saat ini. Ini adalah refleksi yang lebih akurat tentang seberapa jauh pecahan dari ujung daripada membandingkan cap waktu dalam catatan respons terakhir. Nilai ini berlaku untuk kumpulan catatan terbaru, bukan rata-rata semua stempel waktu di setiap catatan.

Tingkat metrik: Ringkasan

Unit: Milidetik

RecordProcessor.processRecords.Time

Waktu yang dibutuhkan oleh processRecords metode prosesor rekaman.

Tingkat metrik: Ringkasan

Unit: Milidetik

Berhasil

Jumlah operasi tugas proses yang berhasil.

Tingkat metrik: Ringkasan

Unit: Hitungan

Waktu

Waktu yang dibutuhkan untuk operasi tugas proses.

Tingkat metrik: Ringkasan

Unit: Milidetik