Topik ini menjelaskan cara memantau database MySQL menggunakan Managed Service for Prometheus.
Prasyarat
Pastikan Anda memiliki detail koneksi instans MySQL, termasuk alamat, port, nama pengguna, dan kata sandi.
Aktifkan pemantauan MySQL
-
Di panel navigasi kiri, klik Access Center.
-
Di halaman Access Center, pada bagian Database, klik MySQL.
-
Di panel MySQL, konfigurasikan integrasi pada tab Start Integration, lalu klik OK.
Parameter
Deskripsi
Select the environment type.
Pilih salah satu tipe lingkungan berikut:
-
Kubernetes Environment
-
ECS (VPC)
-
Cloud Services
Select cluster
Pilih kluster target.
Select ECS (VPC)
Pilih instans ECS target.
Select Region for Storage
Jika Anda mengatur Select the environment type. ke Cloud Services, Anda harus memilih wilayah untuk penyimpanan data.
MySQL address
Alamat koneksi instans MySQL.
CatatanManaged Service for Prometheus mendukung instans MySQL yang dideploy di Container Service for Kubernetes (ACK), ECS, atau ApsaraDB RDS.
MySQL service port
Nomor port instans MySQL. Contoh: 3306.
MySQL username dan MySQL Password
Username dan password untuk akun MySQL.
PentingUntuk mencegah kebocoran data dan risiko keamanan lainnya, kami menyarankan agar Anda tidak menggunakan akun administrator. Sebagai gantinya, buat akun MySQL khusus untuk mysqld_exporter dan berikan hanya izin minimum yang diperlukan. Untuk informasi selengkapnya, lihat Buat pengguna MySQL untuk Managed Service for Prometheus.
-
Konfigurasikan peringatan untuk MySQL
-
Masuk ke Konsol Cloud Monitor.
-
Di panel navigasi kiri, pilih untuk membuka daftar instans Managed Service for Prometheus.
-
Di bagian atas halaman, pilih wilayah target, lalu klik nama kluster target.
-
Di panel navigasi kiri, klik Alert Rules untuk melihat aturan peringatan Prometheus untuk MySQL.
Managed Service for Prometheus menyediakan beberapa aturan peringatan Prometheus default untuk metrik utama MySQL. Anda juga dapat menambahkan aturan peringatan baru sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Buat aturan peringatan Prometheus.
Catatan-
Untuk informasi lebih lanjut tentang metrik utama MySQL, lihat bagian Metrik utama di bawah.
-
Untuk detail aturan peringatan preset yang disediakan Managed Service for Prometheus untuk metrik utama MySQL, lihat bagian Bangun sistem metrik dan peringatan di bawah.
-
Lihat dasbor MySQL
Dasbor pemantauan menampilkan metrik untuk ketersediaan, kueri database, lalu lintas jaringan, koneksi, dan memori. Ikuti langkah-langkah berikut:
-
Masuk ke Konsol Cloud Monitor.
-
Di panel navigasi kiri, klik Data Import Management.
-
Di halaman Data Import Management, klik tab Integrated Environments. Pilih lingkungan target dan klik namanya dalam daftar untuk membuka halaman detailnya.
Tab Integrated Environments mencakup tiga kategori: Kubernetes Environment, ECS Environment, dan Cloud Service Region Environment. Pilih kategori yang sesuai.
-
Di tab Component Management, pada bagian Addon Type, klik MySQL, lalu klik Dashboards untuk melihat semua nama dasbor.
-
Klik nama dasbor untuk melihat Dasbor Grafana yang sesuai.
-
Ketersediaan, QPS, dan koneksi database.

-
Kueri database.

-
Lalu lintas jaringan dan penggunaan memori.

-
Data pemantauan file.

-
Metrik utama
|
Tipe |
Metrik |
Deskripsi |
|
Ketersediaan |
mysql_up |
Menunjukkan apakah instans MySQL aktif dan berjalan. Nilai 1 berarti instans tersedia, sedangkan nilai 0 menunjukkan instans mati. |
|
mysql_global_status_uptime |
Waktu aktif instans database. Anda dapat menggunakan metrik ini untuk membuat peringatan yang dipicu jika instans telah berjalan kurang dari 30 menit, yang mungkin mengindikasikan restart baru-baru ini. |
|
|
Koneksi database |
mysql_global_status_connection_errors_total |
Kesalahan koneksi merupakan salah satu jenis utama kesalahan database. Metrik ini membantu Anda melihat detail tentang kesalahan koneksi tertentu dan frekuensinya. |
|
mysql_global_status_threads_connected |
Jumlah koneksi yang saat ini terbuka ke instans MySQL. |
|
|
mysql_global_status_threads_running |
Jumlah thread yang secara aktif memproses permintaan. |
|
|
mysql_global_status_max_used_connections |
Jumlah puncak koneksi yang digunakan secara bersamaan sejak server dimulai. |
|
|
mysql_global_variables_max_connections |
Jumlah maksimum koneksi client bersamaan yang diizinkan. Permintaan koneksi baru akan ditolak jika batas ini tercapai. |
|
|
mysql_global_status_aborted_connects |
Jumlah upaya koneksi yang gagal ke server MySQL. |
|
|
mysql_global_status_aborted_clients |
Jumlah koneksi yang ditutup karena client mati tanpa menutup koneksi dengan benar. |
|
|
Kueri |
mysql_global_status_slow_queries |
Jumlah kueri yang membutuhkan waktu lebih dari |
|
mysql_global_status_queries |
Jumlah total pernyataan yang dieksekusi oleh server. Ini dapat digunakan untuk menghitung permintaan per detik (QPS). |
|
|
Network traffic |
mysql_global_status_bytes_received |
Network traffic masuk dalam byte. |
|
mysql_global_status_bytes_sent |
Network traffic keluar dalam byte. |
|
|
File |
mysql_global_status_opened_files |
Jumlah total file yang telah dibuka. |
|
mysql_global_status_open_files |
Jumlah file yang saat ini terbuka. |
|
|
mysql_global_variables_open_files_limit |
Jumlah maksimum deskriptor file yang tersedia untuk server MySQL. |
|
|
mysql_global_status_innodb_num_open_files |
Jumlah file yang saat ini dibuka oleh Mesin penyimpanan InnoDB. |
Bangun sistem metrik dan peringatan
Menyiapkan sistem Prometheus mandiri untuk pemantauan MySQL adalah proses yang kompleks. Proses ini mencakup deployment exporter, penyediaan detail koneksi instans MySQL, konfigurasi penemuan layanan, serta pembuatan dasbor. Managed Service for Prometheus menyederhanakan proses tersebut dengan mengintegrasikan exporter MySQL melalui pengaturan satu klik. Layanan ini juga menyediakan dasbor pemantauan siap pakai dan aturan peringatan melalui konsol visual, sehingga secara signifikan mengurangi beban konfigurasi.
Managed Service for Prometheus mencakup templat aturan peringatan preset untuk metrik MySQL umum guna membantu Anda membangun sistem pemantauan dan peringatan dengan cepat. Aturan preset berikut tersedia:
-
MySQL Availability: Jika nilai metrik ini 0, database tidak berjalan dengan benar. Nilai 1 menunjukkan operasi normal. Anda dapat menggunakan
${instance}untuk menargetkan instans tertentu dalam peringatan.mysql_up{${instance}} != 1 -
MySQL Slow Queries: Metrik ini membantu Anda mengidentifikasi apakah terdapat pernyataan SQL di database yang memerlukan optimasi.
rate(mysql_global_status_slow_queries{${instance}}[5m]) > 0 -
MySQL connection errors: Kesalahan koneksi merupakan jenis utama kesalahan database. Dengan aturan peringatan yang disediakan oleh Managed Service for Prometheus, Anda dapat menerima informasi peringatan, seperti jenis kesalahan dan jumlah kueri, ketika peringatan dipicu.
rate(mysql_global_status_connection_errors_total{${instance}}[5m]) > 0 -
MySQL Connection Usage: Penggunaan koneksi tinggi dapat menyebabkan kesalahan koneksi. Peringatan ini membantu Anda memantau penggunaan untuk memecahkan masalah tersebut.
100 * mysql_global_status_threads_connected{${instance}} / mysql_global_variables_max_connections{${instance}} > 90Saat laju penggunaan mencapai ambang batas tertentu, instans MySQL mulai menolak koneksi baru. Anda dapat mengatasi hal ini dengan menaikkan batas koneksi. Sebelum menaikkan batas koneksi, jalankan pernyataan berikut untuk memeriksa jumlah deskriptor file yang tersedia.
mysql_global_variables_open_files_limit - mysql_global_variables_innodb_open_files -
MySQL InnoDB Log Wait Time: Memantau penundaan pada penulisan log. Anda dapat mengonfigurasi ambang batas peringatan.
rate(mysql_global_status_innodb_log_waits{${instance}}[5m])