Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Mengambil metrik dengan API Wawasan Performa

Mode fokus
Mengambil metrik dengan API Wawasan Performa - Amazon DocumentDB

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

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

Saat Wawasan Kinerja diaktifkan, API menyediakan visibilitas ke dalam kinerja instans. Amazon CloudWatch Logs menyediakan sumber otoritatif untuk metrik pemantauan terjual untuk layanan. AWS

Wawasan Performa menawarkan tampilan spesifik domain dari muatan basis data yang diukur sebagai sesi aktif rata-rata (AAS). Metrik ini muncul sebagai set data deret waktu dua dimensi bagi konsumen API. Dimensi waktu data menyediakan data muatan DB untuk setiap titik waktu dalam rentang waktu yang dikueri. Setiap titik waktu menguraikan keseluruhan muatan dalam hubungannya dengan dimensi yang diminta, seperti Query, Wait-state, Application, atau Host, yang diukur pada titik waktu tersebut.

Amazon DocumentDB Performance Insights memantau instans Amazon DocumentDB DB Anda sehingga Anda dapat menganalisis dan memecahkan masalah kinerja database. Salah satu cara untuk menampilkan data Wawasan Performa dapat ditemukan di AWS Management Console. Wawasan Performa juga menyediakan API publik sehingga Anda dapat mengueri data Anda sendiri. Anda dapat menggunakan API untuk melakukan tindakan berikut:

  • Membongkar data ke dalam basis data

  • Menambahkan data Wawasan Performa ke dasbor pemantauan yang ada

  • Merancang alat pemantauan

Untuk menggunakan API Performance Insights, aktifkan Performance Insights di salah satu instans Amazon DocumentDB Anda. Untuk informasi tentang cara mengaktifkan Wawasan Performa, lihat Mengaktifkan dan menonaktifkan Wawasan Kinerja. Untuk informasi selengkapnya tentang API Performance Insights, lihat Referensi API Performance Insights.

API Wawasan Performa menyediakan operasi berikut.

Tindakan Wawasan Performa

AWS CLI perintah

Deskripsi

DescribeDimensionKeys

aws pi describe-dimension-keys

Mengambil kunci dimensi N teratas untuk metrik dalam jangka waktu tertentu.

GetDimensionKeyDetails

aws pi get-dimension-key-details

Mengambil atribut dari grup dimensi tertentu untuk instans DB atau sumber data. Misalnya, jika Anda menentukan ID kueri, dan jika detail dimensi tersedia, GetDimensionKeyDetails mengambil teks lengkap dari dimensi yang db.query.statement terkait dengan ID ini. Operasi ini berguna karena GetResourceMetrics dan DescribeDimensionKeys tidak mendukung pengambilan teks pernyataan kueri besar.

GetResourceMetadata

aws pi get-resource-metadata

Mengambil metadata untuk fitur yang berbeda. Misalnya, metadata mungkin menunjukkan bahwa fitur diaktifkan atau dinonaktifkan pada instans DB tertentu.

GetResourceMetrics

aws pi get-resource-metrics

Mengambil metrik Wawasan Performa untuk sekumpulan sumber data, selama periode waktu tertentu. Anda dapat menyediakan grup dimensi dan dimensi tertentu, serta memberikan kriteria penggabungan dan pemfilteran untuk setiap grup.

ListAvailableResourceDimensions

aws pi list-available-resource-dimensions

Mengambil dimensi yang dapat dikueri untuk setiap jenis metrik yang ditentukan pada instans tertentu.

ListAvailableResourceMetrics

aws pi list-available-resource-metrics

Mengambil semua metrik jenis metrik tertentu yang tersedia yang dapat dikueri untuk instans DB tertentu.

AWS CLI untuk Performance Insights

Anda dapat melihat data Wawasan Performa menggunakan AWS CLI. Anda dapat menampilkan bantuan untuk perintah AWS CLI untuk Wawasan Performa dengan memasukkan berikut ini di baris perintah.

aws pi help

Jika Anda belum menginstal, lihat AWS CLI Menginstal Antarmuka Baris AWS Perintah di Panduan AWS CLI Pengguna untuk informasi tentang menginstalnya.

Mengambil metrik deret waktu

Operasi GetResourceMetrics mengambil satu atau beberapa metrik deret waktu dari data Wawasan Performa. GetResourceMetrics memerlukan metrik dan periode waktu, dan menampilkan respons dengan daftar poin data.

Misalnya, AWS Management Console penggunaan GetResourceMetrics untuk mengisi bagan Metrik Penghitung dan bagan Pemuatan Database, seperti yang terlihat pada gambar berikut.

Bagan Metrik Penghitung dan Muatan Basis Data

Semua metrik yang ditampilkan oleh GetResourceMetrics adalah metrik deret waktu standar, dengan pengecualian db.load. Metrik ini ditampilkan dalam bagan Muatan Basis Data. Metrik db.load berbeda dengan metrik deret waktu lainnya karena Anda dapat membaginya menjadi beberapa sub-komponen yang disebut dimensi. Di gambar sebelumnya, db.load dibagi dan dikelompokkan berdasarkan status tunggu yang membentuk db.load.

catatan

GetResourceMetrics juga dapat menampilkan metrik db.sampleload, tetapi metrik db.load sesuai di sebagian besar kasus.

Untuk informasi tentang metrik penghitung yang ditampilkan oleh GetResourceMetrics, lihat Performance Insights untuk metrik penghitung.

Penghitungan berikut didukung untuk metrik:

  • Rata-rata – Nilai rata-rata untuk metrik selama periode waktu tertentu. Tambahkan .avg ke nama metrik.

  • Minimum – Nilai minimum metrik selama periode waktu tertentu. Tambahkan .min ke nama metrik.

  • Maksimum – Nilai maksimum metrik selama periode waktu tertentu. Tambahkan .max ke nama metrik.

  • Jumlah – Jumlah nilai metrik selama periode waktu tertentu. Tambahkan .sum ke nama metrik.

  • Jumlah sampel – Frekuensi pengumpulan metrik selama periode waktu tertentu. Tambahkan .sample_count ke nama metrik.

Sebagai contoh, misalkan sebuah metrik dikumpulkan selama 300 detik (5 menit), dan metrik tersebut dikumpulkan satu kali setiap menit. Nilai untuk setiap menit adalah 1, 2, 3, 4, dan 5. Dalam kasus ini, penghitungan berikut ditampilkan:

  • Rata-rata – 3

  • Minimum – 1

  • Maksimum – 5

  • Jumlah – 15

  • Jumlah sampel – 5

Untuk informasi tentang menggunakan get-resource-metrics AWS CLI perintah, lihat get-resource-metrics.

Untuk opsi --metric-queries, tentukan satu atau beberapa kueri yang diinginkan untuk mendapatkan hasil. Setiap kueri terdiri dari Metric wajib dan GroupBy opsional serta parameter Filter. Berikut ini adalah contoh spesifikasi opsi --metric-queries.

{ "Metric": "string", "GroupBy": { "Group": "string", "Dimensions": ["string", ...], "Limit": integer }, "Filter": {"string": "string" ...}

AWS CLI contoh untuk Performance Insights

Contoh berikut menunjukkan cara menggunakan Performance AWS CLI Insights.

Mengambil metrik penghitung

Tangkapan layar berikut menunjukkan dua bagan metrik penghitung dalam AWS Management Console.

Bagan Metrik Penghitung.

Contoh berikut menunjukkan cara mengumpulkan data yang sama yang digunakan oleh AWS Management Console untuk menghasilkan dua bagan metrik penghitung.

Untuk Linux, macOS, atau Unix:

aws pi get-resource-metrics \ --service-type DOCDB \ --identifier db-ID \ --start-time 2022-03-13T8:00:00Z \ --end-time 2022-03-13T9:00:00Z \ --period-in-seconds 60 \ --metric-queries '[{"Metric": "os.cpuUtilization.user.avg" }, {"Metric": "os.cpuUtilization.idle.avg"}]'

Untuk Windows:

aws pi get-resource-metrics ^ --service-type DOCDB ^ --identifier db-ID ^ --start-time 2022-03-13T8:00:00Z ^ --end-time 2022-03-13T9:00:00Z ^ --period-in-seconds 60 ^ --metric-queries '[{"Metric": "os.cpuUtilization.user.avg" }, {"Metric": "os.cpuUtilization.idle.avg"}]'

Anda juga dapat membuat perintah menjadi lebih mudah dibaca dengan menentukan file untuk opsi --metrics-query. Contoh berikut menggunakan file yang disebut query.json untuk opsi tersebut. File memiliki konten berikut.

[ { "Metric": "os.cpuUtilization.user.avg" }, { "Metric": "os.cpuUtilization.idle.avg" } ]

Jalankan perintah berikut untuk menggunakan file.

Untuk Linux, macOS, atau Unix:

aws pi get-resource-metrics \ --service-type DOCDB \ --identifier db-ID \ --start-time 2022-03-13T8:00:00Z \ --end-time 2022-03-13T9:00:00Z \ --period-in-seconds 60 \ --metric-queries file://query.json

Untuk Windows:

aws pi get-resource-metrics ^ --service-type DOCDB ^ --identifier db-ID ^ --start-time 2022-03-13T8:00:00Z ^ --end-time 2022-03-13T9:00:00Z ^ --period-in-seconds 60 ^ --metric-queries file://query.json

Contoh sebelumnya menentukan nilai-nilai berikut untuk opsi:

  • --service-type- DOCDB untuk Amazon DocumentDB

  • --identifier – ID sumber daya untuk instans DB

  • --start-time dan --end-time – Nilai DateTime ISO 8601 untuk periode kueri, dengan berbagai format yang didukung

Ini akan dikueri selama rentang waktu satu jam:

  • --period-in-seconds60 untuk kueri per menit

  • --metric-queries – Rangkaian dua kueri, masing-masing hanya untuk satu metrik.

    Nama metrik menggunakan titik untuk mengklasifikasikan metrik dalam kategori yang berguna, dengan elemen terakhir sebagai fungsi. Dalam contoh, fungsinya adalah avg untuk setiap kueri. Seperti halnya Amazon CloudWatch, fungsi yang didukung adalah minmax,total, danavg.

Responsnya terlihat seperti berikut.

{ "AlignedStartTime": "2022-03-13T08:00:00+00:00", "AlignedEndTime": "2022-03-13T09:00:00+00:00", "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4", "MetricList": [ { "Key": { "Metric": "os.cpuUtilization.user.avg" }, "DataPoints": [ { "Timestamp": "2022-03-13T08:01:00+00:00", //Minute1 "Value": 3.6 }, { "Timestamp": "2022-03-13T08:02:00+00:00", //Minute2 "Value": 2.6 }, //.... 60 datapoints for the os.cpuUtilization.user.avg metric { "Key": { "Metric": "os.cpuUtilization.idle.avg" }, "DataPoints": [ { "Timestamp": "2022-03-13T08:01:00+00:00", "Value": 92.7 }, { "Timestamp": "2022-03-13T08:02:00+00:00", "Value": 93.7 }, //.... 60 datapoints for the os.cpuUtilization.user.avg metric ] } ] //end of MetricList } //end of response

Respons ini memiliki Identifier, AlignedStartTime, dan AlignedEndTime. B nilai --period-in-seconds adalah 60, waktu mulai dan akhir telah disesuaikan dengan menit. Jika --period-in-seconds adalah 3600, waktu mulai dan akhir akan disesuaikan dengan jam.

MetricList dalam respons memiliki sejumlah entri, masing-masing dengan entri Key dan DataPoints. Masing-masing DataPoint memiliki Timestamp dan Value. Masing-masing daftar Datapoints memiliki 60 poin data karena kueri tersebut adalah untuk data per menit selama satu jam, dengan Timestamp1/Minute1, Timestamp2/Minute2, dan seterusnya, hingga Timestamp60/Minute60.

Karena kueri tersebut adalah untuk dua metrik penghitung yang berbeda, ada dua elemen dalam respons MetricList.

Mengambil rata-rata beban DB untuk status tunggu teratas

Contoh berikut adalah query yang sama yang AWS Management Console digunakan untuk menghasilkan grafik garis area bertumpuk. Contoh ini mengambil db.load.avg untuk jam terakhir dengan beban dibagi menurut tujuh status tunggu teratas. Perintah ini sama dengan perintah dalam Mengambil metrik penghitung. Namun, file query.json berisi konten berikut.

[ { "Metric": "db.load.avg", "GroupBy": { "Group": "db.wait_state", "Limit": 7 } } ]

Jalankan perintah berikut.

Untuk Linux, macOS, atau Unix:

aws pi get-resource-metrics \ --service-type DOCDB \ --identifier db-ID \ --start-time 2022-03-13T8:00:00Z \ --end-time 2022-03-13T9:00:00Z \ --period-in-seconds 60 \ --metric-queries file://query.json

Untuk Windows:

aws pi get-resource-metrics ^ --service-type DOCDB ^ --identifier db-ID ^ --start-time 2022-03-13T8:00:00Z ^ --end-time 2022-03-13T9:00:00Z ^ --period-in-seconds 60 ^ --metric-queries file://query.json

Contoh menentukan metrik db.load.avg dan a GroupBy dari tujuh status tunggu teratas. Untuk detail tentang nilai yang valid untuk contoh ini, lihat DimensionGroup dalam Referensi API Wawasan Kinerja.

Responsnya terlihat seperti berikut.

{ "AlignedStartTime": "2022-04-04T06:00:00+00:00", "AlignedEndTime": "2022-04-04T06:15:00+00:00", "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4", "MetricList": [ {//A list of key/datapoints "Key": { //A Metric with no dimensions. This is the total db.load.avg "Metric": "db.load.avg" }, "DataPoints": [ //Each list of datapoints has the same timestamps and same number of items { "Timestamp": "2022-04-04T06:01:00+00:00",//Minute1 "Value": 0.0 }, { "Timestamp": "2022-04-04T06:02:00+00:00",//Minute2 "Value": 0.0 }, //... 60 datapoints for the total db.load.avg key ] }, { "Key": { //Another key. This is db.load.avg broken down by CPU "Metric": "db.load.avg", "Dimensions": { "db.wait_state.name": "CPU" } }, "DataPoints": [ { "Timestamp": "2022-04-04T06:01:00+00:00",//Minute1 "Value": 0.0 }, { "Timestamp": "2022-04-04T06:02:00+00:00",//Minute2 "Value": 0.0 }, //... 60 datapoints for the CPU key ] },//... In total we have 3 key/datapoints entries, 1) total, 2-3) Top Wait States ] //end of MetricList } //end of response

Dalam tanggapan ini, ada tiga entri dalam. MetricList Ada satu entri untuk totaldb.load.avg, dan tiga entri masing-masing untuk db.load.avg dibagi menurut salah satu dari tiga negara tunggu teratas. Karena ada dimensi pengelompokan (tidak seperti contoh pertama), harus ada satu kunci untuk setiap pengelompokan metrik. Tidak boleh hanya ada satu kunci untuk setiap metrik, seperti dalam kasus penggunaan metrik penghitung dasar.

Mengambil rata-rata beban DB untuk Query teratas

Contoh berikut dikelompokkan db.wait_state oleh 10 pernyataan kueri teratas. Ada dua kelompok berbeda untuk pernyataan kueri:

  • db.query— Pernyataan kueri lengkap, seperti {"find":"customers","filter":{"FirstName":"Jesse"},"sort":{"key":{"$numberInt":"1"}}}

  • db.query_tokenized— Pernyataan kueri tokenized, seperti {"find":"customers","filter":{"FirstName":"?"},"sort":{"key":{"$numberInt":"?"}},"limit":{"$numberInt":"?"}}

Saat menganalisis kinerja database, akan berguna untuk mempertimbangkan pernyataan kueri yang hanya berbeda dengan parameternya sebagai satu item logika. Jadi, Anda dapat menggunakan db.query_tokenized saat melakukan kueri. Namun, terutama ketika Anda tertarikexplain(), terkadang lebih berguna untuk memeriksa pernyataan kueri lengkap dengan parameter. Ada hubungan orang tua-anak antara kueri tokenized dan full, dengan beberapa kueri lengkap (turunan) dikelompokkan di bawah kueri tokenized yang sama (induk).

Perintah dalam contoh ini terlihat seperti perintah dalam Mengambil rata-rata beban DB untuk status tunggu teratas. Namun, file query.json berisi konten berikut.

[ { "Metric": "db.load.avg", "GroupBy": { "Group": "db.query_tokenized", "Limit": 10 } } ]

Contoh berikut menggunakan db.query_tokenized.

Untuk Linux, macOS, atau Unix:

aws pi get-resource-metrics \ --service-type DOCDB \ --identifier db-ID \ --start-time 2022-03-13T8:00:00Z \ --end-time 2022-03-13T9:00:00Z \ --period-in-seconds 3600 \ --metric-queries file://query.json

Untuk Windows:

aws pi get-resource-metrics ^ --service-type DOCDB ^ --identifier db-ID ^ --start-time 2022-03-13T8:00:00Z ^ --end-time 2022-03-13T9:00:00Z ^ --period-in-seconds 3600 ^ --metric-queries file://query.json

Contoh ini menanyakan lebih dari 1 jam, dengan satu menit period-in-seconds.

Contoh menentukan metrik db.load.avg dan a GroupBy dari tujuh status tunggu teratas. Untuk detail tentang nilai yang valid untuk contoh ini, lihat DimensionGroup dalam Referensi API Wawasan Kinerja.

Responsnya terlihat seperti berikut.

{ "AlignedStartTime": "2022-04-04T06:00:00+00:00", "AlignedEndTime": "2022-04-04T06:15:00+00:00", "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4", "MetricList": [ {//A list of key/datapoints "Key": { "Metric": "db.load.avg" }, "DataPoints": [ //... 60 datapoints for the total db.load.avg key ] }, { "Key": {//Next key are the top tokenized queries "Metric": "db.load.avg", "Dimensions": { "db.query_tokenized.db_id": "pi-1064184600", "db.query_tokenized.id": "77DE8364594EXAMPLE", "db.query_tokenized.statement": "{\"find\":\"customers\",\"filter\":{\"FirstName\":\"?\"},\"sort\":{\"key\":{\"$numberInt\":\"?\"}},\"limit\" :{\"$numberInt\":\"?\"},\"$db\":\"myDB\",\"$readPreference\":{\"mode\":\"primary\"}}" } }, "DataPoints": [ //... 60 datapoints ] }, // In total 11 entries, 10 Keys of top tokenized queries, 1 total key ] //End of MetricList } //End of response

Respons ini memiliki 11 entri dalam MetricList (total 1, 10 kueri tokenized teratas), dengan setiap entri memiliki 24 per jam. DataPoints

Untuk kueri tokenized, ada tiga entri di setiap daftar dimensi:

  • db.query_tokenized.statement— Pernyataan kueri tokenized.

  • db.query_tokenized.db_id — ID sintetis yang dihasilkan Performance Insights untuk Anda. Contoh ini menampilkan ID sintetis pi-1064184600.

  • db.query_tokenized.id – ID kueri di dalam Wawasan Performa.

    Dalam AWS Management Console, ID ini disebut Support ID. Ini dinamakan ini karena ID adalah data yang AWS Support dapat memeriksa untuk membantu Anda memecahkan masalah dengan database Anda. AWS mengambil keamanan dan privasi data Anda dengan sangat serius, dan hampir semua data disimpan terenkripsi dengan Anda. AWS KMS key Oleh karena itu, tidak ada orang di dalam yang AWS dapat melihat data ini. Di contoh sebelumnya, baik tokenized.statement maupun tokenized.db_id disimpan dengan enkripsi. Jika Anda memiliki masalah dengan database Anda, AWS Support dapat membantu Anda dengan mereferensikan ID Dukungan.

Ketika melakukan kueri, mungkin lebih mudah untuk menentukan Group dalam GroupBy. Namun, untuk kontrol lebih mendetail atas data yang ditampilkan, tentukan daftar dimensi. Misalnya, jika yang dibutuhkan hanya db.query_tokenized.statement, atribut Dimensions dapat ditambahkan ke file query.json.

[ { "Metric": "db.load.avg", "GroupBy": { "Group": "db.query_tokenized", "Dimensions":["db.query_tokenized.statement"], "Limit": 10 } } ]

Mengambil rata-rata beban DB yang disaring oleh Query

Kueri API terkait dalam contoh ini sama seperti perintah di Mengambil rata-rata beban DB untuk Query teratas. Namun, file query.json berisi konten berikut.

[ { "Metric": "db.load.avg", "GroupBy": { "Group": "db.wait_state", "Limit": 5 }, "Filter": { "db.query_tokenized.id": "AKIAIOSFODNN7EXAMPLE" } } ]

Dalam tanggapan ini, semua nilai difilter sesuai dengan kontribusi kueri token AKIAIOSFODNN7 CONTOH yang ditentukan dalam file query.json. Kunci juga mungkin mengikuti urutan yang berbeda dari kueri tanpa filter, karena ini adalah lima status tunggu teratas yang memengaruhi kueri yang difilter.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.