View a markdown version of this page

Memantau cluster Aurora DSQL dengan Aurora DSQL Database Insights - Amazon Aurora DSQL

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

Memantau cluster Aurora DSQL dengan Aurora DSQL Database Insights

Wawasan database Aurora DSQL menyediakan akses ke data sampel per detik untuk setiap sesi aktif di cluster Anda, dikumpulkan oleh sampler DSQL Active Session History (DASH) yang mencatat status tunggu dan pernyataan SQL yang dinormalisasi setiap sesi sedang berjalan. Per-minute hasil agregat dari DASH dipublikasikan sebagai metrik CloudWatch OpenTelemetry (oTel). Gunakan data ini untuk memahami beban database Anda, menemukan kueri yang menghabiskan sumber daya paling banyak, dan mendiagnosis masalah kinerja.

Anda tidak perlu mengatur DASH. Ini secara otomatis diaktifkan untuk setiap cluster Aurora DSQL, dan data agregasi per menit tersedia melalui Amazon CloudWatch Database Insights dan melalui kueri Prometheus Query Language (PromQL) yang dijalankan terhadap metrik oTel tanpa biaya tambahan. CloudWatch

Apa itu DASH?

Sesi aktif mewakili koneksi tunggal ke cluster Anda yang memiliki transaksi terbuka. Pada saat tertentu, setiap sesi aktif berada di salah satu dari tiga keadaan:

  • Menggunakan CPU

  • Menunggu operasi eksternal selesai, seperti pembacaan penyimpanan atau pengakuan komit

  • Idle dalam transaksi, menunggu pernyataan berikutnya dari aplikasi Anda dalam transaksi terbuka

DASH hanya melacak sesi yang memiliki transaksi terbuka. DASH menangkap aktivitas ini dengan mengambil sampel semua sesi aktif di cluster Anda sekali per detik. Setiap sampel mencatat dua hal:

  • Acara tunggu — keadaan sesi saat pengambilan sampel. Lihat Acara tunggu DASH daftar lengkapnya.

  • Pernyataan SQL — 256 karakter pertama dari SQL yang dijalankan sesi, yang cukup untuk mengidentifikasi sebagian besar kueri.

DASH menggabungkan sampel per detik ini dan menerbitkannya menjadi CloudWatch sekali per menit, dipecah berdasarkan peristiwa tunggu dan menurut pernyataan SQL. Hasilnya adalah metrik deret waktu tunggal,db.active_sessions.avg, yang mencatat jumlah rata-rata sesi aktif selama setiap periode sampel. Nilai ini juga dikenal sebagai Aver age Active Sessions (AAS).

AAS adalah sinyal dasar untuk analisis kinerja Aurora DSQL. Rincian acara tunggu menunjukkan untuk apa sesi Anda menghabiskan waktu, tidak hanya seberapa sibuk cluster. Atribut rincian SQL dimuat ke kueri individu.

Tip

Aurora DSQL menskalakan CPU secara elastis, sehingga sinyal diagnostik yang paling berguna adalah bentuk profil tunggu (distribusi proporsional waktu sesi di seluruh peristiwa tunggu) daripada AAS terhadap plafon vCPU tetap. Bandingkan bentuk itu dengan garis dasar yang Anda amati selama operasi normal. Perubahan proporsi tersebut menunjukkan pergeseran beban kerja atau perilaku sistem.

Metrik DASH dan acara tunggu

DASH mengekspos satu metrik yang dimensinya memungkinkan Anda mengiris pemuatan database dengan peristiwa tunggu dan dengan pernyataan SQL. Tabel berikut menjelaskan metrik DASH.

Metrik Unit Deskripsi
db.active_sessions.avg Hitungan Jumlah rata-rata sesi aktif pada cluster selama periode sampel (AAS). Setiap sesi aktif berjalan pada CPU atau dalam status tunggu bernama.

Metrik membawa dimensi berikut (label), yang Anda gunakan untuk mengelompokkan dan memfilter data.

Dimensi Deskripsi
db.wait.class Klasifikasi peristiwa tunggu yang lebih luas untuk mengidentifikasi jenis umum sumber daya yang berkontribusi terhadap beban database. Misalnya, class:oncpu berarti pernyataan aktif berjalan pada CPU, dan class:io berarti bahwa pernyataan sedang menunggu input/output operasi selesai.
db.wait.event Status tunggu di mana sesi sampel berada. Lihat Acara tunggu DASH untuk daftar lengkap nilai.
db.session.state Status sesi — active (menjalankan pernyataan) atau idle in transaction (menunggu perintah berikutnya dari aplikasi sementara transaksi tetap terbuka).
db.query.id Sidik jari teks SQL yang dinormalisasi dari pernyataan yang sedang dijalankan sesi.
db.query.normalized_text Teks SQL yang dinormalisasi dari pernyataan yang sedang dijalankan sesi. DASH menghapus nilai literal sehingga mengelompokkan pernyataan yang hanya berbeda dalam parameternya.
aws.auroradsql.session.role.arn Peran IAM ARN diasumsikan terhubung ke cluster Aurora DSQL.
application.name Nama aplikasi yang Anda tetapkan dalam parameter koneksi. Anda dapat mengesampingkannya pada waktu koneksi. DASH menyertakan dimensi ini hanya jika Anda secara eksplisit mengaturnya.

Acara tunggu DASH

Sesi Aurora DSQL dapat mengalami acara tunggu berikut. Peristiwa tunggu terkait penyimpanan —SequentialScanRead,ScatteredBatchRead,SingleRead,UniqueConstraintCheck, dan FkExistenceCheck — mewakili komunikasi antara lapisan pemrosesan kueri dan lapisan penyimpanan, dan Commit mewakili komunikasi dengan layanan komit. Daftar ini mungkin berkembang seiring waktu karena Aurora DSQL mengidentifikasi acara tunggu baru.

Peristiwa tunggu Tunggu kelas Deskripsi
OnCpu class:oncpu Sesi tidak menunggu input eksternal dan secara aktif mengeksekusi pada CPU - parsing, perencanaan, evaluasi ekspresi, atau memproses hasil.
ClientRead class:client Sesi tidak aktif dalam transaksi terbuka, menunggu aplikasi mengirim pernyataan SQL berikutnya atau commit/rollback perintah. Penantian yang sering atau ClientRead lama sering menunjukkan perjalanan pulang pergi aplikasi yang berlebihan atau transaksi yang Anda buka lebih lama dari yang diperlukan.
ClientWrite class:client Basis data mengirimkan hasil ke aplikasi melalui jaringan. Tinggi ClientWrite dapat menunjukkan set hasil yang besar atau latensi jaringan antara aplikasi dan database.
SequentialScanRead class:io Sesi ini membaca berbagai kunci yang berdekatan dari penyimpanan. Ini belum tentu pemindaian tabel lengkap - mungkin mencakup kisaran kunci yang relatif kecil yang berdekatan.
ScatteredBatchRead class:io Sesi ini melakukan pembacaan batch dari penyimpanan, mengambil beberapa kunci yang tidak bersebelahan dalam satu panggilan ke penyimpanan.
SingleRead class:io Sesi ini membaca satu tupel (pencarian titik) dari penyimpanan. ScatteredBatchReaddengan ukuran batch 1 sebagian besar menggantikan acara ini, yang jarang terjadi pada versi Aurora DSQL saat ini.
UniqueConstraintCheck class:io Sesi ini memvalidasi batasan kunci unik, yang memerlukan pembacaan penyimpanan untuk memeriksa duplikat. Ini berlaku untuk batasan unik pada kolom non-kunci utama dan batasan kunci utama selama penyisipan baris baru.
FkExistenceCheck class:io Sesi ini memvalidasi bahwa ada baris kunci asing yang direferensikan, yang memerlukan pembacaan untuk mengkonfirmasi hubungan.
StartTransaction class:io Sesi sedang mempersiapkan transaksi yang didistribusikan untuk dimulai.
Commit class:io Sesi telah memulai komit dan sedang menunggu pengakuan dari layanan komit. Responsnya berhasil atau dibatalkan (kesalahan serialisasi); penantian mendah Commit ului kedua hasil.
PgSleep class:timeout Sesi sedang tidur karena aplikasi dipanggil secara eksplisitpg_sleep(). Ini adalah penantian yang diprakarsai aplikasi, bukan penantian yang dipaksakan oleh database.

Mengakses data DASH

Anda dapat mengakses data DASH dengan tiga cara:

  • Amazon CloudWatch Database Insights — Antarmuka pengguna (UI) tanpa kode yang dikuratori untuk menjelajahi beban database dan SQL teratas. Ini adalah titik awal untuk sebagian besar penyelidikan.

  • PromQL — Kueri db.active_sessions.avg metrik yang mendasarinya secara terprogram untuk integrasi dengan alat pemantauan pihak ketiga atau untuk eksplorasi interaktif.

  • Keterampilan AI diagnostik sistem Aurora DSQL — Agen pemeriksaan kesehatan bertenaga kecerdasan buatan (AI) yang secara otomatis menganalisis data DASH, membandingkan distribusi peristiwa tunggu di seluruh kerangka waktu, dan menghasilkan laporan diagnostik.

Semua jalur akses ini dibaca dari dataset DASH yang sama.

Menggunakan CloudWatch Database Insights

Amazon CloudWatch Database Insights menyajikan data DASH melalui dasbor yang DSQL-specific dikuratori Aurora. Cluster Aurora DSQL Anda muncul secara otomatis di Database Insights — Anda tidak memerlukan pengaturan apa pun selain membuat cluster dan menjalankan transaksi di dalamnya.

Untuk melihat data DASH di Database Insights

  1. Buka CloudWatch konsol dan pilih Database Insights di panel navigasi kiri.

  2. Di tampilan Fleet Health, cari cluster Aurora DSQL Anda di daftar sumber daya Database. Atau, Anda dapat menavigasi langsung ke halaman Instance Database dan memilih cluster Anda dari panel kiri.

  3. Pilih DB Identifier untuk membuka Dasbor Inst ance Database.

  4. Gunakan bagan Beb an DB untuk melihat Sesi Aktif Rata-rata dari waktu ke waktu. Bagan adalah visualisasi bertumpuk di mana setiap pita berwarna mewakili satu peristiwa tunggu, sehingga ketinggian total menunjukkan seberapa sibuk cluster dan band menunjukkan sesi apa yang menghabiskan waktu mereka.

  5. Gunakan kontrol S lice By pada bagan DB Load untuk beralih antara Acara Tunggu dan Tek s SQL.

  6. Bagian Analisis Beban DB menunjukkan AAS berdasarkan Top Wait Events dan Top SQL diberi peringkat berdasarkan kontribusinya terhadap AAS.

  7. Gunakan pemilih rentang waktu di bagian atas halaman untuk fokus pada jendela pemantauan tertentu, seperti periode perlambatan yang dilaporkan.

Menggunakan PromQL

DASH menampilkan data sebagai CloudWatch metrikdb.active_sessions.avg, yang dapat Anda kueri dengan PromQL di CloudWatch Query Studio.

Contoh berikut berfungsi di Query Studio, di mana ruang kerja aktif sudah mencakup hasil ke akun dan Wilayah Anda, dan pemilih waktu mengarahkan jendela evaluasi. Karena nama metrik berisi titik, contoh menggunakan bentuk pemilih nama kutipan PromQL,. {"db.active_sessions.avg"}

catatan

Semua contoh menyertakan filter @resource.aws.auroradsql.cluster_id label untuk menjangkau hasil ke satu cluster. Ganti cluster-id dengan pengidentifikasi cluster Anda. Jika Anda hanya memiliki satu cluster, Anda dapat menghilangkan filter ini atau menggunakan filter UI Query Studio sebagai gantinya. Untuk menemukan semua label yang tersedia pada metrik di lingkungan Anda, jalankan {"db.active_sessions.avg"} sebagai kueri seri dan periksa kumpulan label pada setiap seri yang dikembalikan.

Memuat database dengan acara tunggu

Mengembalikan jumlah rata-rata sesi aktif yang dikelompokkan berdasarkan peristiwa tunggu — tampilan yang sama AAS-by-wait-event tersedia di bagan Database Insights DB Load, tetapi dapat diakses secara terprogram.

avg by ("db.wait.event") ( { "db.active_sessions.avg", "@resource.aws.auroradsql.cluster_id"="cluster-id" } )

Hasilnya memiliki satu seri per db.wait.event nilai yang berbeda, masing-masing membawa kontribusi AAS rata-rata dari status tunggu itu.

SQL teratas berdasarkan sesi aktif rata-rata

Memberi peringkat pernyataan SQL berdasarkan kontribusi rata-rata mereka terhadap beban database. Ini adalah PromQL yang setara dengan tampilan Database Insights Top SQL.

topk(5, avg by ("db.query.normalized_text") ( { "db.active_sessions.avg", "@resource.aws.auroradsql.cluster_id"="cluster-id" } ) )

Untuk melihat pernyataan SQL teratas dan menunggu kombinasi acara berdasarkan kontribusinya untuk memuat, tambahkan db.wait.event ke klausa pengelompokan. Karena ini memberi peringkat setiap kombinasi bersama-sama, hasilnya dapat mencakup beberapa peristiwa tunggu untuk pernyataan kontribusi tinggi yang sama:

topk(5, avg by ("db.query.normalized_text", "db.wait.event") ( { "db.active_sessions.avg", "@resource.aws.auroradsql.cluster_id"="cluster-id" } ) )
Pernyataan SQL melakukan pembacaan penyimpanan paling banyak

Mengembalikan lima pernyataan SQL teratas yang menghabiskan waktu paling banyak pada operasi pembacaan penyimpanan, dengan memfilter ke peristiwa tunggu baca penyimpanan.

topk(5, sum by ("db.query.normalized_text") ( { "db.active_sessions.avg", "db.wait.event"=~"S.*Read|.*Check", "@resource.aws.auroradsql.cluster_id"="cluster-id" } ) )

Ekspresi regul S.*Read er cocok dengan peristiwa baca penyimpanan yang namanya dimulai dengan S dan diakhiri dengan Read (SequentialScanRead,ScatteredBatchRead,SingleRead). Pola disertakan .*Check secara eksplisit karena peristiwa UniqueConstraintCheck dan FkExistenceCheck tunggu tidak cocok dengan pola pertama tetapi juga merupakan peristiwa tunggu yang dibaca penyimpanan.

Menggunakan keterampilan AI diagnostik sistem Aurora DSQL

Keterampilan AI diagnostik sistem Aurora DSQL mengotomatiskan analisis pemeriksaan kesehatan cluster Aurora DSQL Anda dengan membaca data DASH, membandingkan distribusi peristiwa tunggu di seluruh kerangka waktu, dan menghasilkan laporan diagnostik. Keterampilan ini adalah bagian dari plugin databases-on-aws di Plugin Agen untuk AWS di repositori awslabs/agent -plugins dan bekerja dengan agen pengkodean AI yang didukung.

Untuk menganalisis kesehatan cluster, keluarkan prompt seperti:

“Periksa kinerja cluster Aurora DSQL saya cluster-id di us-east-1 dan tulis saya laporan penurunan harga.”

Keterampilan menggunakan server CloudWatch Model Context Protocol (MCP) untuk menganalisis db.active_sessions.avg metrik di berbagai kerangka waktu dan mengembalikan laporan Markdown. Anda dapat mengarahkan jendela perbandingan kinerja ini di prompt:

“Periksa kinerja selama 4 jam terakhir dan bandingkan dengan Senin lalu.”

Ketika kueri tertentu terlihat bermasalah, keterampilan memulai alur kerja SQL-focused diagnostik yang lebih dalam dan melaporkan solusi potensial untuk pernyataan itu. Ini memutuskan apakah akan menelusuri kueri berdasarkan pergeseran peristiwa tunggu yang dideteksinya, jadi Anda tidak memerlukan permintaan tambahan.