Anda dapat menggunakan Managed Service for Prometheus untuk memantau ketersediaan, koneksi, kueri, lalu lintas, dan penggunaan file instans MySQL.
Prasyarat
Anda memiliki kredensial koneksi untuk instans MySQL Anda, termasuk alamat, port, nama pengguna, dan kata sandi.
Integrasikan pemantauan MySQL
-
Di panel navigasi sebelah kiri, klik Integration Center.
-
Pada halaman Integration Center, di bagian Database, klik MySQL.
-
Pada panel MySQL, di tab Start Integration, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Select the environment type.
Pilih lingkungan penerapan instans MySQL Anda. Nilai yang valid:
-
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 tempat menyimpan data pemantauan.
MySQL service address
Alamat koneksi instans MySQL Anda.
CatatanMendukung instans MySQL yang diterapkan di Container Service for Kubernetes (ACK), pada instans ECS, atau di ApsaraDB RDS.
MySQL service port
Nomor port instans MySQL Anda. Contoh: 3306.
MySQL username dan MySQL password
Username dan password untuk menghubungkan ke instans MySQL Anda.
PentingUntuk mencegah risiko keamanan seperti kebocoran data, jangan gunakan akun administrator. Sebagai gantinya, buat akun MySQL khusus untuk mysqld_exporter dengan izin minimum yang diperlukan. Untuk informasi selengkapnya, lihat Create a MySQL access account for Prometheus.
-
Konfigurasikan aturan peringatan MySQL
-
Masuk ke Cloud Monitor console.
-
Di panel navigasi sebelah kiri, pilih untuk membuka daftar instans Managed Service for Prometheus.
-
Di bagian atas halaman, pilih wilayah tempat instans Anda berada dan klik nama instans tersebut.
-
Di panel navigasi kiri, klik Alarm Rules untuk melihat aturan peringatan Prometheus untuk MySQL.
Managed Service for Prometheus menyediakan beberapa aturan peringatan default untuk metrik utama MySQL. Anda juga dapat membuat aturan peringatan kustom sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Create an alert rule for Managed Service for Prometheus.
Catatan-
Untuk informasi selengkapnya tentang metrik utama MySQL, lihat bagian Key metrics.
-
Untuk informasi selengkapnya tentang aturan peringatan pra-konfigurasi yang disediakan oleh Managed Service for Prometheus untuk metrik utama MySQL, lihat bagian Pre-configured metric monitoring and alerting system.
-
Lihat dasbor MySQL
Dasbor menampilkan data pemantauan seperti ketersediaan, kueri database, lalu lintas jaringan, koneksi, dan penggunaan memori.
-
Masuk ke Cloud Monitor console.
-
Di panel navigasi sebelah kiri, klik Integration Management.
-
Pada halaman Integration Management, klik tab Integrated Environments, pilih lingkungan target, lalu klik nama lingkungan target dalam daftar untuk membuka halaman detailnya.
Lingkungan diklasifikasikan menjadi Kubernetes Environment, ECS Environment, dan Cloud Services Region Environment.
-
Pada tab Component Management, di bagian Addon Type, klik MySQL, lalu klik Dashboard untuk melihat semua nama dasbor.
-
Klik nama dasbor untuk melihat Dasbor Grafana yang sesuai.
-
Ketersediaan, permintaan per detik (QPS), dan koneksi database.

-
Kueri database.

-
Lalu lintas dan penggunaan memori.

-
Data pemantauan file.

-
Metrik utama
|
Jenis |
Metrik |
Deskripsi |
|
Ketersediaan |
mysql_up |
Menunjukkan apakah instans MySQL sedang berjalan. Nilai 1 berarti instans aktif; 0 berarti mati. |
|
mysql_global_status_uptime |
Durasi, dalam detik, instans telah berjalan. Anda dapat menggunakan metrik ini untuk memberi peringatan pada instans yang baru saja dimulai ulang, misalnya yang berjalan kurang dari 30 menit. |
|
|
Koneksi database |
mysql_global_status_connection_errors_total |
Jumlah total error koneksi, indikator umum masalah database. |
|
mysql_global_status_threads_connected |
Jumlah thread client yang saat ini terhubung. |
|
|
mysql_global_status_threads_running |
Jumlah thread yang tidak sedang tidur. |
|
|
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 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 dibatalkan karena client mati tanpa menutup koneksi dengan benar. |
|
|
Kueri |
mysql_global_status_slow_queries |
Jumlah kueri yang memakan waktu lebih dari |
|
mysql_global_status_queries |
Jumlah total pernyataan yang dieksekusi oleh server. |
|
|
Traffic |
mysql_global_status_bytes_received |
Jumlah byte yang diterima dari semua client. |
|
mysql_global_status_bytes_sent |
Jumlah byte yang dikirim ke semua client. |
|
|
File |
mysql_global_status_opened_files |
Jumlah total file yang dibuka oleh server sejak startup. |
|
mysql_global_status_open_files |
Jumlah file yang saat ini terbuka. |
|
|
mysql_global_variables_open_files_limit |
Jumlah maksimum file yang diizinkan sistem operasi untuk dibuka oleh server mysqld. |
|
|
mysql_global_status_innodb_num_open_files |
Jumlah file yang saat ini dibuka oleh InnoDB. |
Sistem pemantauan dan peringatan metrik pra-konfigurasi
Menyiapkan sistem Prometheus mandiri untuk pemantauan MySQL memerlukan penerapan exporter, penyediaan detail koneksi MySQL, konfigurasi penemuan layanan, dan pembuatan dasbor. Managed Service for Prometheus menyederhanakan proses ini dengan integrasi exporter MySQL satu klik, dasbor siap pakai, dan peringatan pra-konfigurasi.
Managed Service for Prometheus mencakup templat pra-konfigurasi untuk aturan peringatan MySQL umum:
-
MySQL down: Memicu peringatan ketika instans MySQL mati. Nilai 0 berarti instans mati; 1 berarti sedang berjalan. Gunakan
${instance}untuk menargetkan instans tertentu.mysql_up{${instance}} != 1 -
MySQL slow query: Mengidentifikasi pernyataan SQL yang mungkin perlu dioptimalkan.
rate(mysql_global_status_slow_queries{${instance}}[5m]) > 0 -
MySQL connection errors: Mengirim peringatan dengan jenis error dan jumlah kueri saat terjadi error koneksi. Aturan peringatan disediakan oleh Managed Service for Prometheus.
rate(mysql_global_status_connection_errors_total{${instance}}[5m]) > 0 -
MySQL Connection Usage: Penggunaan koneksi tinggi dapat mengindikasikan ketersediaan koneksi yang tidak mencukupi.
100 * mysql_global_status_threads_connected{${instance}} / mysql_global_variables_max_connections{${instance}} > 90Saat penggunaan koneksi mencapai ambang batas, instans MySQL akan menolak koneksi baru. Anda dapat meningkatkan jumlah maksimum koneksi untuk mengatasi hal ini. Sebelum melakukannya, periksa berapa banyak file yang dapat dibuka oleh sistem:
mysql_global_variables_open_files_limit - mysql_global_variables_innodb_open_files -
MySQL InnoDB log waits: Laju thread menunggu buffer log InnoDB.
rate(mysql_global_status_innodb_log_waits{${instance}}[5m])