Diagnostik server untuk Azure Cosmos DB untuk Apache Cassandra
BERLAKU UNTUK: Cassandra
Log Analytics adalah alat di portal Azure yang membantu Anda menjalankan diagnostik server di API untuk akun Cassandra. Jalankan kueri log dari data yang dikumpulkan oleh Azure Monitor Logs dan secara interaktif menganalisis hasilnya. Catatan yang diambil dari kueri Log Analytics membantu memberikan berbagai wawasan tentang data Anda.
Prasyarat
- Buat ruang kerja Log Analytics.
- Buat pengaturan diagnostik.
- Mulai analitik log di API Anda untuk akun Cassandra.
Gunakan Analitik Log
Setelah menyelesaikan pengaturan analitik log, Anda dapat mulai menjelajahi log Anda untuk mendapatkan lebih banyak wawasan.
Jelajahi Operasi Data Plane
Gunakan tabel CDBCassandraRequests untuk melihat operasi sarana data khusus untuk API Anda untuk akun Cassandra. Sampel kueri untuk melihat permintaan konsumsi topN (10) dan mendapatkan informasi terperinci tentang setiap permintaan yang dibuat.
CDBCassandraRequests
| where RequestCharge > 0
| project DatabaseName, CollectionName, DurationMs, OperationName, ActivityId, ErrorCode, RequestCharge, PIICommandText
| order by RequestCharge
| take 10
Kode Kesalahan dan Solusi yang Mungkin
Kode status | Kode Kesalahan | Deskripsi |
---|---|---|
200 | -1 | Berhasil |
400 | 8704 | Kuerinya benar tetapi sintaks yang tidak valid. |
400 | 8192 | Kueri yang dikirimkan memiliki kesalahan sintaksis. Tinjau kueri Anda. |
400 | 8960 | Kuerinya tidak valid karena beberapa masalah konfigurasi. |
401 | 8448 | Pengguna yang masuk tidak memiliki izin yang tepat untuk melakukan kueri. |
403 | 8448 | Respons terlarang karena pengguna mungkin tidak memiliki izin yang diperlukan untuk melaksanakan permintaan. |
404 | 5376 | Pengecualian non-waktu habis selama permintaan tulis sebagai akibat dari respons yang tidak ditemukan. |
405 | 0 | Server-side Cassandra error. Kesalahan jarang terjadi, buka tiket dukungan. |
408 | 4608 | Waktu habis selama permintaan baca. |
408 | 4352 | Pengecualian waktu habis selama penulisan serviceRequest. |
409 | 9216 | Mencoba membuat keyspace atau tabel yang sudah ada. |
412 | 5376 | Kegagalan prasyarat. Untuk memastikan integritas data, kami memastikan bahwa permintaan tulis berdasarkan respons baca adalah benar. Pengecualian permintaan tulis non-waktu habis dikembalikan. |
413 | 5376 | Pengecualian non-waktu habis ini selama permintaan tulis adalah karena muatan mungkin terlalu besar. Saat ini, ada batas 2MB per baris. |
417 | 9472 | Pengecualian dilemparkan ketika pernyataan yang disiapkan tidak di-cache pada simpul server. Ini harus bersifat sementara/non-pemblokiran. |
423 | 5376 | Ada kunci karena permintaan tulis yang saat ini sedang diproses. |
429 | 4097 | Pengecualian yang berlebihan adalah sebagai akibat dari kekurangan RU atau tingkat permintaan yang tinggi. Mungkin perlu lebih banyak RU untuk menangani permintaan volume yang lebih tinggi. Dalam, Cassandra asli ini dapat ditafsirkan sebagai salah satu VM tidak memiliki cukup CPU. Kami menyarankan untuk meninjau model data saat ini untuk memastikan bahwa Anda tidak memiliki kemiringan berlebihan yang mungkin menyebabkan partisi panas. |
449 | 5376 | Pengecualian eksekusi bersamaan. Ini terjadi untuk memastikan hanya satu pembaruan tulis pada satu waktu untuk baris tertentu. |
500 | 0 | Server cassandraError: sesuatu yang tak terduga terjadi. Ini menunjukkan bug sisi server. |
503 | 4096 | Layanan tidak tersedia. |
256 | Ini mungkin karena informasi masuk koneksi yang tidak valid. Silakan periksa informasi masuk koneksi Anda. | |
10 | Pesan klien memicu pelanggaran protokol. Contohnya adalah pesan kueri yang dikirim sebelum startup dikirim. |
Memecahkan Masalah Konsumsi Kueri
Tabel CDBPartitionKeyRUConsumption berisi rincian konsumsi unit permintaan (RU) untuk kunci logis di setiap wilayah dalam masing-masing partisi fisik mereka.
CDBPartitionKeyRUConsumption
| summarize sum(todouble(RequestCharge)) by PartitionKey, PartitionKeyRangeId
| render columnchart
Jelajahi Operasi Sarana Kontrol
Tabel CBDControlPlaneRequests berisi detail tentang operasi sarana kontrol, khusus untuk API untuk akun Cassandra.
CDBControlPlaneRequests
| where TimeGenerated > now(-6h)
| where ApiKind == "Cassandra"
| where OperationName in ("Create", "Upsert", "Delete", "Execute")
| summarize by OperationName
Langkah berikutnya
- Pelajari lebih lanjut tentang Analitik Log.
- Pelajari cara bermigrasi dari Apache Cassandra asli ke Azure Cosmos DB untuk Apache Cassandra.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk