Pemantauan OS - AWS Bimbingan Preskriptif

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

Pemantauan OS

Instans DB di Amazon RDS untuk MySQL atau MariaDB berjalan pada sistem operasi Linux, yang menggunakan sumber daya sistem yang mendasarinya: CPU, memori, jaringan, dan penyimpanan.

MySQL [(none)]> SHOW variables LIKE 'version%'; +-------------------------+---------------------+ | Variable_name | Value | +-------------------------+---------------------+ | version | 8.0.28 | | version_comment | Source distribution | | version_compile_machine | aarch64 | | version_compile_os | Linux | | version_compile_zlib | 1.2.11 | +-------------------------+---------------------+ 5 rows in set (0.00 sec)

Kinerja keseluruhan database Anda dan sistem operasi yang mendasarinya sangat bergantung pada pemanfaatan sumber daya sistem. Misalnya, CPU adalah komponen kunci untuk kinerja sistem Anda, karena ia menjalankan instruksi perangkat lunak database dan mengelola sumber daya sistem lainnya. Jika CPU terlalu banyak digunakan (yaitu, jika beban membutuhkan lebih banyak daya CPU daripada yang disediakan untuk instans DB Anda), masalah ini akan memengaruhi kinerja dan stabilitas database Anda dan akibatnya aplikasi Anda.

Mesin database secara dinamis mengalokasikan dan membebaskan memori. Ketika tidak ada cukup memori dalam RAM untuk melakukan pekerjaan saat ini, sistem menulis halaman memori ke memori swap, yang berada pada disk. Karena disk jauh lebih lambat daripada memori, bahkan jika disk didasarkan pada teknologi SSD NVMe, alokasi memori yang berlebihan menyebabkan degradasi kinerja. Pemanfaatan memori yang tinggi menyebabkan peningkatan latensi respons database, karena ukuran file halaman tumbuh untuk mendukung memori tambahan. Jika alokasi memori begitu tinggi sehingga menghabiskan RAM dan ruang memori swap, layanan database mungkin menjadi tidak tersedia dan pengguna dapat mengamati kesalahan seperti[ERROR] mysqld: Out of memory (Needed xyz bytes).

Sistem manajemen database MySQL dan MariaDB memanfaatkan subsistem penyimpanan, yang terdiri dari disk yang menyimpanstruktur on-diskseperti tabel, indeks, log biner, log ulang, undo log, dan file buffer doublewrite. Oleh karena itu, database, berbeda dengan jenis perangkat lunak lainnya, harus melakukan banyak aktivitas disk. Untuk pengoperasian database Anda yang optimal, penting bagi Anda untuk memantau dan menyetel pemanfaatan I/O disk dan alokasi ruang disk. Kinerja database dapat terpengaruh ketika database mencapai batasan IOPS maksimum atau throughput yang didukung oleh disk. Misalnya, semburan akses acak yang disebabkan oleh pemindaian indeks dapat menyebabkan sejumlah besar operasi I/O per detik, yang pada akhirnya mungkin mencapai batasan penyimpanan yang mendasarinya. Pemindaian tabel penuh mungkin tidak mencapai batas IOPS, tetapi dapat menyebabkan throughput tinggi yang diukur dalam megabyte per detik. Sangat penting untuk memantau dan menghasilkan peringatan pada alokasi ruang disk, karena kesalahan sepertiOS error code 28: No space left on devicedapat menyebabkan tidak tersedianya dan korupsi database.

Amazon RDS menyediakan metrik secara real time untuk sistem operasi yang dijalankan instans DB Anda. Amazon RDS secara otomatis menerbitkan satu set metrik OS keCloudWatch. Metrik tersebut tersedia untuk Anda tampilkan dan dianalisis di konsol Amazon RDS danCloudWatchdasbor, dan Anda dapat mengatur alarm pada metrik yang dipilih diCloudWatch. Contohnya termasuk:

  • CPUUtilization- Persentase pemanfaatan CPU.

  • BinLogDiskUsage- Jumlah ruang disk yang ditempati oleh log biner.

  • FreeableMemory- Jumlah memori akses acak yang tersedia. Ini mewakili nilaiMemAvailablebidang/proc/meminfo.

  • ReadIOPS- Jumlah rata-rata disk membaca I/O operasi per detik.

  • WriteThroughput- Jumlah rata-rata byte yang ditulis ke disk per detik untuk penyimpanan lokal.

  • NetworkTransmitThroughput— Lalu lintas jaringan keluar pada node DB, yang menggabungkan lalu lintas database dan lalu lintas Amazon RDS yang digunakan untuk pemantauan dan replikasi.

Untuk referensi lengkap dari semua metrik yang dipublikasikan oleh Amazon RDS keCloudWatch, lihatAmazonCloudWatchmetrik untuk Amazon RDSdalam dokumentasi Amazon RDS.

Bagan berikut menunjukkan contohCloudWatchmetrik untuk Amazon RDS yang ditampilkan di konsol Amazon RDS.

CloudWatchmetrik untuk Amazon RDS ditampilkan di konsol Amazon RDS

Bagan berikut menunjukkan metrik serupa yang ditampilkan diCloudWatchdasbor.

CloudWatchmetrik untuk Amazon RDS yang ditampilkan diCloudWatchkonsol

Kumpulan metrik OS lainnya dikumpulkan olehPemantauan yang Ditingkatkanuntuk Amazon RDS. Alat ini memberi Anda visibilitas yang lebih dalam ke dalam kesehatan Amazon RDS untuk MariaDB dan Amazon RDS untuk instans MySQL DB, dengan menyediakan metrik sistem real-time dan informasi proses OS. Ketika Andaaktifkan Pemantauan yang Ditingkatkanpada instans DB Anda dan mengatur perincian yang diinginkan, alat ini mengumpulkan metrik sistem operasi dan informasi proses, yang dapat Anda tampilkan dan analisis diKonsol Amazon RDS, seperti yang ditunjukkan pada layar berikut.

Metrik OS yang dikumpulkan oleh Enhanced Monitoring

Beberapa metrik utama yang disediakan oleh Enhanced Monitoring adalah:

  • cpuUtilization.total- Persentase total CPU yang digunakan.

  • cpuUtilization.user- Persentase CPU yang digunakan oleh program pengguna.

  • memory.active— Jumlah memori yang ditugaskan, dalam kilobyte.

  • memory.cached- Jumlah memori yang digunakan untuk caching file berbasis sistem I/O.

  • loadAverageMinute.one- Jumlah proses yang meminta waktu CPU selama menit terakhir.

Untuk daftar lengkap metrik, lihatMetrik OS dalam Pemantauan yang Ditingkatkandalam dokumentasi Amazon RDS.

Di konsol Amazon RDS, daftar proses OS memberikan detail untuk setiap proses yang berjalan di instans DB Anda. Daftar ini disusun menjadi tiga bagian:

  • Proses OS- Bagian ini merupakan ringkasan gabungan dari semua proses kernel dan sistem. Proses ini umumnya memiliki dampak minimal pada kinerja database.

  • Proses RDS- Bagian ini merupakan ringkasan dariAWSproses yang diperlukan untuk mendukung instans DB Amazon RDS. Misalnya, ini mencakup agen manajemen Amazon RDS, proses pemantauan dan diagnostik, dan proses serupa.

  • Proses anak RDS— Bagian ini mewakili ringkasan proses Amazon RDS yang mendukung instans DB-dalam hal ini,mysqldproses dan benang nya. Yangmysqldthread muncul bersarang di bawah indukmysqldproses.

Ilustrasi layar berikut menunjukkan daftar proses OS di konsol Amazon RDS.

Daftar proses OS di konsol Amazon RDS

Amazon RDS memberikan metrik dari Enhanced Monitoring ke dalamCloudWatchAkun log. Data pemantauan yang ditampilkan di konsol Amazon RDS diambil dariCloudWatchLog. Anda juga bisamengambil metrik untuk instans DB sebagai aliran logdariCloudWatchLog. Metrik ini disimpan dalam format JSON. Anda dapat menggunakan output JSON Enhanced Monitoring dariCloudWatchLog dalam sistem pemantauan pilihan Anda.

Untuk menampilkan grafik padaCloudWatchdasbor dan membuat alarm yang akan memulai tindakan jika metrik melanggar ambang batas yang ditentukan, Anda harus membuat filter metrik diCloudWatchdariCloudWatchLog. Untuk petunjuk terperinci, lihatAWS RE: Posting artikeltentang cara menyaring Enhanced MonitoringCloudWatchLog untuk menghasilkan metrik khusus otomatis untuk Amazon RDS.

Contoh berikut menggambarkan metrik khususCPU.Userdi dalamCustom/RDSnamespace. Metrik khusus ini dibuat dengan memfiltercpuUtilization.userMetrik Pemantauan yang Ditingkatkan dariCloudWatchLog.

Metrik kustom CPU.user

Bila metrik tersedia diCloudWatchrepositori, Anda dapat menampilkan dan menganalisisnya diCloudWatchdasbor, terapkan operasi matematika dan kueri lebih lanjut, dan atur alarm untuk memantau metrik spesifik ini dan menghasilkan peringatan jika nilai yang diamati tidak sesuai dengan kondisi alarm yang ditentukan.