Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Memantau Metrik HAProxy dengan ClusterControl

Load balancer adalah komponen penting dari setiap penyiapan basis data yang sangat tersedia. Mereka digunakan untuk meningkatkan kapasitas dan keandalan sistem dan aplikasi penting Anda dengan mencegah salah satu server menjadi kelebihan beban. Kami berbicara banyak tentang mereka di blog Somenines, seperti mengapa Anda membutuhkannya dan bagaimana cara kerjanya. Salah satu penyeimbang beban paling populer yang tersedia untuk MySQL dan MariaDB adalah HAProxy.

Dari segi fitur, HAProxy tidak sebanding dengan ProxySQL atau MaxScale. Namun, HAProxy adalah penyeimbang beban yang cepat dan kuat yang akan bekerja dengan sangat baik di lingkungan apa pun selama aplikasi dapat melakukan pemisahan baca/tulis dan mengirim kueri SELECT ke satu backend dan semua penulisan dan SELECT...UNTUK UPDATE ke yang terpisah bagian belakang.

Melacak semua metrik yang disediakan oleh HAProxy sangat penting; Anda harus dapat mengetahui status proxy Anda, terutama untuk mengetahui apakah Anda mengalami masalah.

ClusterControl selalu menyediakan halaman status HAProxy yang menunjukkan status proxy secara real-time. Sekarang, dengan dasbor SCUMM (Severalnines ClusterControl Unified Monitoring &Management) berbasis Prometheus yang baru, Anda dapat dengan mudah melacak bagaimana metrik tersebut berubah dari waktu ke waktu.

Pos blog ini akan menjelajahi berbagai metrik yang disajikan di dasbor HAProxy SCUMM.

Menjelajahi Dasbor HAProxy di ClusterControl

Semua dasbor Prometheus dan SCUMM dinonaktifkan secara default di ClusterControl. Namun, untuk menerapkannya ke cluster tertentu hanya dengan satu klik. Jika Anda memantau beberapa cluster dengan ClusterControl, Anda dapat menggunakan kembali instance Prometheus yang sama untuk setiap cluster.

Setelah diterapkan, Anda dapat mengakses dasbor HAProxy. Mari kita lihat data yang tersedia di dasbor:

Hal pertama yang akan Anda lihat saat menavigasi ke dasbor HAProxy adalah informasi tentang status backend Anda. Di sini, harap perhatikan bahwa apa yang Anda lihat mungkin bergantung pada jenis cluster dan cara Anda menerapkan HAProxy. Dalam hal ini, kami menerapkan cluster Galera, dan HAProxy diterapkan secara round-robin. Oleh karena itu, Anda melihat tiga backend untuk membaca dan tiga untuk menulis — total enam. Ini juga mengapa Anda melihat semua backend ditandai sebagai “Naik”.

Dalam skenario dengan kluster replikasi, hal-hal akan terlihat berbeda karena HAProxy akan digunakan dalam pemisahan baca/tulis, dan skrip hanya akan membuat satu host (master) tetap aktif dan berjalan di server penulis bagian belakang.

Perhatikan, inilah mengapa di bawah ini Anda melihat dua server backend yang ditandai sebagai “Turun”:

Pada grafik berikut, Anda akan melihat data yang dikirim dan diterima oleh keduanya backend (dari HAProxy ke server database) dan frontend (antara HAProxy dan host klien):

Anda juga dapat memeriksa distribusi lalu lintas antara backend dalam konfigurasi HAProxy Anda. Dalam hal ini, kami memiliki dua backend, dan kueri dikirim melalui port 3308, yang bertindak sebagai titik akses round-robin ke kluster Galera kami:

Selanjutnya, Anda dapat melihat bagaimana lalu lintas didistribusikan di semua server backend. Dalam skenario ini — karena pola akses round-robin — data kurang lebih didistribusikan secara merata di ketiga server Galera backend:

Informasi tentang sesi, termasuk berapa banyak sesi yang dibuka dari HAProxy ke backend server, juga dapat dipantau, seperti terlihat pada grafik berikut. Anda juga dapat melacak berapa kali per detik sesi baru dibuka ke backend dan bagaimana metrik tersebut terlihat pada basis per server backend.

Dua grafik berikut menunjukkan jumlah sesi maksimum per server backend dan kapan masalah konektivitas muncul. Ini bisa sangat berguna untuk tujuan debugging di mana Anda menemukan kesalahan konfigurasi pada instance HAProxy Anda, dan koneksi mulai turun.

Grafik berikutnya berpotensi lebih bernilai karena menunjukkan berbagai metrik yang terkait dengan kesalahan penanganan, seperti kesalahan, kesalahan permintaan, percobaan ulang di sisi backend, dll. Ada juga grafik “Sesi” yang menunjukkan ikhtisar metrik sesi.

Di sini Anda dapat melihat bahwa ClusterControl melacak kesalahan koneksi secara real-time, yang dapat membantu menentukan waktu yang tepat ketika masalah mulai berkembang.

Terakhir, kita akan melihat dua grafik berikut yang terkait dengan permintaan yang diantrekan . HAProxy mengantri permintaan ke backend jika server backend terlalu jenuh. Ini dapat menunjukkan, misalnya, server database yang kelebihan beban, yang tidak dapat menangani lalu lintas lagi.

Menutup

Menyebarkan dan memantau penyeimbang beban HAProxy Anda di ClusterControl dapat membantu mempermudah pengelolaan dan pemantauan koneksi Anda. Memiliki visibilitas yang jelas tentang kinerja backend, distribusi lalu lintas, metrik sesi, kesalahan koneksi, dan jumlah permintaan yang diantrekan dapat membantu memastikan ketersediaan dan skalabilitas penyiapan basis data apa pun.

ClusterControl membuat pengaturan dan pemantauan penyeimbang beban menjadi mudah untuk konfigurasi database apa pun. Belum menggunakan ClusterControl? Jika Anda ingin melihat sendiri betapa mudahnya menerapkan dan memantau penyeimbang beban HAProxy Anda dengan ClusterControl, kami mengundang Anda ke uji coba platform gratis selama 30 hari, tanpa pamrih. Untuk panduan lebih rinci tentang mengapa dan bagaimana menggunakan HAProxy untuk penyeimbangan beban, lihat tutorial kami tentang Penyeimbangan Beban MySQL dengan HAProxy.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Mengurangi nilai dari baris sebelumnya, kelompokkan menurut

  2. Cara memperbaiki karakter UTF8 yang disandikan ganda (dalam tabel utf-8)

  3. Python Terhubung Ke Database MySQL Dengan Konektor MySQL &Contoh PyMySQL

  4. Bagaimana cara menulis prosedur tersimpan menggunakan phpmyadmin dan bagaimana menggunakannya melalui php?

  5. Cari string dalam kolom teks di MySQL