

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

# Pemantauan instans DB
<a name="db-instance-monitoring"></a>

[https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html) adalah blok bangunan dasar Amazon RDS. Ini adalah lingkungan database terisolasi yang berjalan di cloud. Untuk database MySQL dan MariaDB, instance DB [adalah](https://dev.mysql.com/doc/refman/8.0/en/mysqld.html) program mysqld, juga dikenal sebagai server MySQL, yang mencakup beberapa utas dan komponen seperti parser SQL, pengoptimal kueri thread/connection , penangan, variabel sistem dan status, dan satu atau lebih mesin penyimpanan pluggable. Setiap mesin penyimpanan dirancang untuk mendukung kasus penggunaan khusus. Mesin penyimpanan default dan yang direkomendasikan adalah [InnoDB](https://dev.mysql.com/doc/refman/8.0/en/innodb-architecture.html), yang merupakan mesin database relasional transaksional, tujuan umum, yang sesuai dengan model atomisitas, konsistensi, isolasi, daya tahan (ACID). InnoDB memiliki [struktur dalam memori](https://dev.mysql.com/doc/refman/8.0/en/innodb-in-memory-structures.html) (kumpulan buffer, buffer perubahan, indeks hash adaptif, buffer log) serta [struktur pada disk (ruang tabel, tabel, indeks, undo](https://dev.mysql.com/doc/refman/8.0/en/innodb-on-disk-structures.html) log, redo log, file buffer double-write). Untuk memastikan bahwa database Anda mematuhi model ACID, [mesin penyimpanan InnoDB mengimplementasikan berbagai](https://dev.mysql.com/doc/refman/8.0/en/mysql-acid.html) kemampuan untuk melindungi data Anda, termasuk transaksi, commit, rollback, crash-recovery, row-level locking, dan multiversion concurrency control (MVCC).

Semua komponen internal instans DB ini bekerja sama untuk membantu menjaga ketersediaan, integritas, dan keamanan data Anda pada tingkat kinerja yang diharapkan dan memuaskan. Bergantung pada beban kerja Anda, setiap komponen dan fitur mungkin memaksakan permintaan sumber daya pada CPU, memori, jaringan, dan subsistem penyimpanan. Ketika lonjakan permintaan untuk sumber daya tertentu melebihi kapasitas yang disediakan atau batas perangkat lunak untuk sumber daya tersebut (diberlakukan baik oleh parameter konfigurasi atau oleh desain perangkat lunak), instans DB dapat mengalami penurunan kinerja atau tidak tersedianya dan korupsi total. Oleh karena itu, sangat penting untuk mengukur dan memantau komponen internal ini, membandingkannya dengan nilai dasar yang ditentukan, dan menghasilkan peringatan jika nilai yang dipantau menyimpang dari nilai yang diharapkan.

Seperti yang dijelaskan sebelumnya, Anda dapat menggunakan [alat](monitoring-tools.md) yang berbeda untuk memantau instance MySQL dan MariaDB Anda. Kami menyarankan Anda menggunakan Performance Insights Amazon RDS CloudWatch dan alat untuk memantau dan memperingatkan, karena alat ini terintegrasi dengan Amazon RDS, mengumpulkan metrik resolusi tinggi, menyajikan informasi kinerja terbaru dalam waktu dekat, dan menghasilkan alarm.

Terlepas dari alat pemantauan pilihan Anda, kami sarankan Anda [mengaktifkan Skema Kinerja di instans](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.EnableMySQL.html) MySQL dan MariaDB DB Anda. [Skema Kinerja](https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html) adalah fitur opsional untuk memantau pengoperasian server MySQL (instans DB) pada tingkat rendah, dan dirancang untuk memiliki dampak minimal pada kinerja database secara keseluruhan. Anda dapat mengelola fitur ini dengan menggunakan `performance_schema` parameter. Meskipun parameter ini opsional, Anda harus menggunakannya untuk mengumpulkan metrik per-SQL resolusi tinggi (satu detik), metrik sesi aktif, peristiwa tunggu, dan informasi pemantauan tingkat rendah lainnya yang terperinci, yang dikumpulkan oleh Amazon RDS Performance Insights.

**Bagian**
+ [Metrik Performance Insights untuk instans DB](db-instance-performance-insights.md)
+ [CloudWatch metrik untuk instans DB](db-instance-cloudwatch-metrics.md)
+ [Menerbitkan metrik Performance Insights ke CloudWatch](publishing-performance-insights-to-cloudwatch.md)

# Metrik Performance Insights untuk instans DB
<a name="db-instance-performance-insights"></a>

Performance Insights memantau berbagai jenis metrik, seperti yang dibahas di bagian berikut.

## Muatan basis data
<a name="dbload"></a>

Database load (`DBLoad`) adalah metrik kunci dalam Performance Insights yang mengukur tingkat aktivitas dalam database Anda. Itu dikumpulkan setiap detik dan secara otomatis dipublikasikan ke Amazon CloudWatch. Ini mewakili aktivitas instans DB dalam sesi aktif rata-rata (AAS), yang merupakan jumlah sesi yang secara bersamaan menjalankan kueri SQL. `DBLoad`Metrik ini berbeda dari metrik deret waktu lainnya, karena dapat ditafsirkan dengan menggunakan salah satu dari lima dimensi ini: menunggu, SQL, host, pengguna, dan database. Dimensi ini adalah subkategori dari `DBLoad` metrik. Anda dapat menggunakannya sebagai *irisan berdasarkan* kategori untuk mewakili karakteristik yang berbeda dari beban database. Untuk penjelasan rinci tentang cara kami menghitung beban database, lihat Pemuatan [basis data](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html) dalam dokumentasi Amazon RDS.

Ilustrasi layar berikut menunjukkan alat Performance Insights.

![\[Pemuatan basis data di alat Performance Insights\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/database-load.png)


## Dimensi
<a name="dimensions"></a>
+ *Peristiwa tunggu* adalah kondisi yang sesi database menunggu sumber daya atau operasi lain untuk menyelesaikan untuk melanjutkan pemrosesannya. Jika Anda menjalankan pernyataan SQL seperti `SELECT * FROM big_table` dan jika tabel ini jauh lebih besar dari kumpulan buffer InnoDB yang dialokasikan, sesi Anda kemungkinan besar akan menunggu peristiwa `wait/io/file/innodb/innodb_data_file` tunggu, yang disebabkan oleh I/O operasi fisik pada file data. Peristiwa tunggu adalah dimensi penting untuk pemantauan basis data, karena menunjukkan kemungkinan kemacetan kinerja. Peristiwa tunggu menunjukkan sumber daya dan operasi yang paling sering ditunggu oleh pernyataan SQL yang Anda jalankan dalam sesi. Misalnya, `wait/synch/mutex/innodb/trx_sys_mutex` peristiwa terjadi ketika ada aktivitas database tinggi dengan sejumlah besar transaksi, dan `wait/synch/mutex/innodb/buf_pool_mutex` peristiwa terjadi ketika thread telah memperoleh kunci pada kumpulan buffer InnoDB untuk mengakses halaman dalam memori. Untuk informasi tentang semua peristiwa tunggu MySQL dan MariaDB, lihat Tunggu Tabel Ringkasan Acara di dokumentasi [MySQL](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-wait-summary-tables.html). Untuk memahami cara menafsirkan nama instrumen, lihat [Konvensi Penamaan Instrumen Skema Kinerja](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-instrument-naming.html) dalam dokumentasi MySQL.
+ *SQL* menunjukkan pernyataan SQL mana yang berkontribusi paling besar terhadap total beban database. Tabel **dimensi teratas**, yang terletak di bawah bagan **pemuatan Database** di Amazon RDS Performance Insights, bersifat interaktif. Anda dapat memperoleh daftar rinci peristiwa tunggu yang terkait dengan pernyataan SQL dengan mengklik bilah di kolom **Load by waits (AAS)**. **Saat Anda memilih pernyataan SQL dalam daftar, Performance Insights menampilkan peristiwa tunggu terkait dalam bagan pemuatan **Database** dan teks pernyataan SQL di bagian teks SQL.** Statistik SQL ditampilkan di sisi kanan tabel **Dimensi atas**.
+ *Host* menunjukkan nama host dari klien yang terhubung. Dimensi ini membantu Anda mengidentifikasi host klien mana yang mengirimkan sebagian besar beban ke database.
+ *Pengguna* mengelompokkan beban DB oleh pengguna yang masuk ke database.
+ *Database* mengelompokkan beban DB dengan nama database yang terhubung dengan klien.

## Metrik penghitung
<a name="counter-metrics"></a>

Metrik penghitung adalah metrik kumulatif yang nilainya hanya dapat meningkat atau diatur ulang ke nol saat instans DB dimulai ulang. Nilai metrik penghitung tidak dapat dikurangi ke nilai sebelumnya. Metrik ini mewakili penghitung tunggal yang meningkat secara monoton.
+ [Penghitung asli](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.MySQL.Native) adalah metrik yang ditentukan oleh mesin database dan bukan oleh Amazon RDS. Contoh:
  + `SQL.Innodb_rows_inserted`mewakili jumlah baris yang dimasukkan ke dalam tabel InnoDB.
  + `SQL.Select_scan`mewakili jumlah gabungan yang menyelesaikan pemindaian penuh dari tabel pertama.
  + `Cache.Innodb_buffer_pool_reads`mewakili jumlah pembacaan logis yang tidak dapat diambil oleh mesin InnoDB dari kumpulan buffer dan harus membaca langsung dari disk.
  + `Cache.Innodb_buffer_pool_read_requests`mewakili jumlah permintaan baca logis.

  Untuk definisi semua metrik asli, lihat [Variabel Status Server dalam dokumentasi](https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html) MySQL.
+ [Penghitung non-asli](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.MySQL.NonNative) ditentukan oleh Amazon RDS. Anda dapat memperoleh metrik ini baik dengan menggunakan kueri tertentu atau menurunkannya dengan menggunakan dua atau lebih metrik asli dalam perhitungan. Metrik penghitung non-native dapat mewakili latensi, rasio, atau hit rate. Contoh:
  + `Cache.innoDB_buffer_pool_hits`mewakili jumlah operasi baca yang dapat diambil InnoDB dari kumpulan buffer tanpa menggunakan disk. Ini dihitung dari metrik penghitung asli sebagai berikut:

    ```
    db.Cache.Innodb_buffer_pool_read_requests - db.Cache.Innodb_buffer_pool_reads
    ```
  + `IO.innoDB_datafile_writes_to_disk`mewakili jumlah operasi penulisan file data InnoDB ke disk. Ini hanya menangkap operasi pada file data ― bukan operasi penulisan ganda atau ulangi logging. Itu dihitung sebagai berikut:

    ```
    db.IO.Innodb_data_writes - db.IO.Innodb_log_writes - db.IO.Innodb_dblwr_writes
    ```

Anda dapat memvisualisasikan metrik instans DB secara langsung di dasbor Performance Insights. Pilih **Kelola Metrik**, pilih tab **Metrik basis data**, lalu pilih metrik yang diminati, seperti yang ditunjukkan pada ilustrasi berikut.

![\[Memilih metrik instans DB di Performance Insights\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/selecting-metrics.png)


Pilih tombol **Perbarui grafik** untuk menampilkan metrik yang Anda pilih, seperti yang ditunjukkan pada ilustrasi berikut.

![\[Melihat metrik instans DB di Performance Insights\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/selecting-metrics-results.png)


## Statistik SQL
<a name="sql-stats"></a>

Performance Insights mengumpulkan metrik terkait kinerja tentang kueri SQL untuk setiap detik saat kueri dijalankan dan untuk setiap panggilan SQL. Secara umum, Performance Insights mengumpulkan [statistik SQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.html) pada tingkat pernyataan dan intisari. Namun, untuk instance MariaDB dan MySQL DB, statistik dikumpulkan hanya pada tingkat intisari.
+ Statistik intisari adalah metrik komposit dari semua kueri yang memiliki pola yang sama tetapi pada akhirnya memiliki nilai literal yang berbeda. Intisari menggantikan nilai literal tertentu dengan variabel; misalnya:

  ```
  SELECT department_id, department_name FROM departments WHERE location_id = ?
  ```
+ Ada metrik yang mewakili statistik *per detik* untuk setiap pernyataan SQL dicerna. Misalnya, `sql_tokenized.stats.count_star_per_sec` mewakili panggilan per detik (yaitu, berapa kali per detik pernyataan SQL telah dijalankan).
+ Performance Insights juga mencakup metrik yang menyediakan statistik *per panggilan* untuk pernyataan SQL. Misalnya, `sql_tokenized.stats.sum_timer_wait_per_call` menunjukkan latensi rata-rata pernyataan SQL per panggilan, dalam milidetik.

**Statistik SQL tersedia di dasbor Performance Insights, di tab SQL **Teratas** pada tabel Dimensi teratas.**

![\[Statistik SQL\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/sql-stats.png)


# CloudWatch metrik untuk instans DB
<a name="db-instance-cloudwatch-metrics"></a>

Amazon CloudWatch juga berisi metrik yang diterbitkan Amazon RDS secara otomatis. [Metrik yang berada di `AWS/RDS` namespace adalah *metrik tingkat instans*, yang mengacu pada instans Amazon RDS (layanan) (yaitu, lingkungan database terisolasi yang berjalan di cloud) daripada instans DB dalam arti ketat proses mysqld.](https://dev.mysql.com/doc/refman/8.0/en/mysqld.html) Oleh karena itu, sebagian besar [metrik default](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) tersebut termasuk dalam kategori metrik OS, dalam definisi istilah yang ketat. Contohnya meliputi:`CPUUtilization`,`WriteIOPS`,`SwapUsage`, dan lain-lain. Namun demikian, ada beberapa metrik instans DB yang berlaku untuk MariaDB dan MySQL:
+ `BinLogDiskUsage`— Jumlah ruang disk yang ditempati oleh log biner.
+ `DatabaseConnections`— Jumlah koneksi jaringan klien ke instans DB.
+ `ReplicaLag`— Jumlah waktu instans DB replika baca tertinggal di belakang instans DB sumber.

# Menerbitkan metrik Performance Insights ke CloudWatch
<a name="publishing-performance-insights-to-cloudwatch"></a>

Amazon RDS Performance Insights memantau sebagian besar metrik dan dimensi instans DB dan menyediakannya melalui dasbor Performance [Insights di Konsol](https://console.aws.amazon.com/rds/home#performance-insights-v20206:) Manajemen. AWS Dasbor ini sangat cocok untuk pemecahan masalah database dan analisis akar penyebab. Namun, tidak mungkin membuat alarm di Performance Insights untuk metrik terkait kinerja. Jika Anda ingin membuat alarm berdasarkan metrik Performance Insights, metrik tersebut harus ada. CloudWatch

Performance Insights [secara otomatis menerbitkan metrik](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Cloudwatch.html) ke. CloudWatch Anda dapat melakukan kueri data yang sama dari Performance Insights, tetapi memiliki metrik CloudWatch memudahkan untuk menambahkan CloudWatch alarm dan menambahkan metrik ke dasbor yang ada. CloudWatch [Counter](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html) adalah sistem operasi dan metrik kinerja database seperti `os.memory.free` atau. `db.Locks.Innodb_row_lock_time` Koleksi metrik OS bergantung pada pengaturan Enhanced Monitoring. Jika Enhanced Monitoring dimatikan, metrik OS dikumpulkan setiap menit sekali. Jika Enhanced Monitoring diaktifkan, metrik OS dikumpulkan untuk periode waktu yang dipilih. Untuk informasi selengkapnya, lihat [Mengaktifkan dan menonaktifkan Pemantauan yang Ditingkatkan](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html#USER_Monitoring.OS.Enabling.Procedure) di dokumentasi Amazon RDS.

Performance Insights memungkinkan Anda [mengekspor dasbor metrik yang telah dikonfigurasi sebelumnya atau kustom untuk instans DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PI_metrics_export_CW.html) Anda. CloudWatch Anda dapat mengekspor dasbor metrik sebagai dasbor baru atau menambahkannya ke CloudWatch dasbor yang ada. Mengekspor dasbor metrik Performance Insights ke CloudWatch dasbor memberi Anda tampilan menyeluruh dan terpadu tentang kesehatan sistem Anda dengan memberikan ikhtisar metrik yang terkait dengan berbagai sumber daya di sistem Anda, seperti instans EC2, sumber daya Amazon Elastic File System (Amazon EFS), dan sumber daya Elastic Load Balancing (ELB), beserta metrik instans DB Anda.

Anda dapat menggunakan fungsi matematika CloudWatch `DB_PERF_INSIGHTS` metrik untuk membuat kueri dan membuat alarm dan grafik berdasarkan metrik Performance Insights. CloudWatch [Untuk membuat alarm pada metrik Performance Insights, ikuti petunjuk dalam dokumentasi. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_alarm_database_performance_insights.html) Misalnya, jika Anda ingin memicu alarm ketika total transaksi aktif dalam instans DB Anda mencapai ambang tertentu, ikuti petunjuk di halaman tersebut, gunakan ekspresi `DB_PERF_INSIGHTS` matematika berikut ini, lalu pilih **Terapkan**:

```
DB_PERF_INSIGHTS('RDS', 'db-BQ2TPYY7HG2GDFC7APMB3BVB3M', 'db.Transactions.active_transactions.avg')
```

di `db-BQ2TPYY7HG2GDFC7APMB3BVB3M` mana ID sumber daya instans DB Anda. Tentukan periode (misalnya, 1 menit) dan kondisi (misalnya, lebih besar dari 1000). Untuk menyelesaikan pembuatan alarm, konfigurasikan tindakan alarm, tambahkan nama dan deskripsi, dan pratinjau dan buat alarm.