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 |
---|---|---|
Mengambil kunci dimensi N teratas untuk metrik dalam jangka waktu tertentu. |
||
Mengambil atribut dari grup dimensi tertentu untuk instans DB atau sumber data. Misalnya, jika Anda menentukan ID kueri, dan jika detail dimensi tersedia, |
||
GetResourceMetadata |
Mengambil metadata untuk fitur yang berbeda. Misalnya, metadata mungkin menunjukkan bahwa fitur diaktifkan atau dinonaktifkan pada instans DB tertentu. |
|
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 |
Mengambil dimensi yang dapat dikueri untuk setiap jenis metrik yang ditentukan pada instans tertentu. |
|
ListAvailableResourceMetrics |
Mengambil semua metrik jenis metrik tertentu yang tersedia yang dapat dikueri untuk instans DB tertentu. |
Topik
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.

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.
Topik
Mengambil metrik penghitung
Tangkapan layar berikut menunjukkan dua bagan metrik penghitung dalam AWS Management Console.

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-time2022-03-13T8:00:00Z
\ --end-time2022-03-13T9:00:00Z
\ --period-in-seconds60
\ --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-time2022-03-13T8:00:00Z
^ --end-time2022-03-13T9:00:00Z
^ --period-in-seconds60
^ --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-time2022-03-13T8:00:00Z
\ --end-time2022-03-13T9:00:00Z
\ --period-in-seconds60
\ --metric-queries file://query.json
Untuk Windows:
aws pi get-resource-metrics ^ --service-type DOCDB ^ --identifier db-
ID
^ --start-time2022-03-13T8:00:00Z
^ --end-time2022-03-13T9:00:00Z
^ --period-in-seconds60
^ --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
– NilaiDateTime
ISO 8601 untuk periode kueri, dengan berbagai format yang didukung
Ini akan dikueri selama rentang waktu satu jam:
-
--period-in-seconds
–60
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 adalahmin
max
,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-time2022-03-13T8:00:00Z
\ --end-time2022-03-13T9:00:00Z
\ --period-in-seconds60
\ --metric-queries file://query.json
Untuk Windows:
aws pi get-resource-metrics ^ --service-type DOCDB ^ --identifier db-
ID
^ --start-time2022-03-13T8:00:00Z
^ --end-time2022-03-13T9:00:00Z
^ --period-in-seconds60
^ --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-time2022-03-13T8:00:00Z
\ --end-time2022-03-13T9:00:00Z
\ --period-in-seconds3600
\ --metric-queries file://query.json
Untuk Windows:
aws pi get-resource-metrics ^ --service-type DOCDB ^ --identifier db-
ID
^ --start-time2022-03-13T8:00:00Z
^ --end-time2022-03-13T9:00:00Z
^ --period-in-seconds3600
^ --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 sintetispi-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
maupuntokenized.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.