MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Kinerja ClusterControl dan Pemantauan Kesehatan

Dalam dua posting blog sebelumnya, kami membahas penerapan empat jenis pengelompokan/replikasi (MySQL/Galera, Replikasi MySQL, MongoDB &PostgreSQL) dan mengelola/memantau database dan kluster Anda yang ada. Jadi, setelah membaca dua posting blog pertama ini, Anda dapat menambahkan 20 pengaturan replikasi yang ada ke ClusterControl, memperluasnya, dan menambahkan dua kluster Galera baru sambil melakukan banyak hal lainnya. Atau mungkin Anda menggunakan sistem MongoDB dan/atau PostgreSQL. Jadi sekarang, bagaimana Anda menjaga mereka tetap sehat?

Itulah tepatnya posting blog ini:bagaimana memanfaatkan pemantauan kinerja ClusterControl dan fungsionalitas penasihat untuk menjaga database dan cluster MySQL, MongoDB dan/atau PostgreSQL Anda tetap sehat. Jadi bagaimana ini dilakukan di ClusterControl?

Daftar Cluster Basis Data

Informasi yang paling penting sudah dapat ditemukan di daftar cluster:selama tidak ada alarm dan tidak ada host yang menunjukkan down, semuanya berfungsi dengan baik. Alarm dibunyikan jika kondisi tertentu terpenuhi, mis. host bertukar, dan memberi perhatian Anda masalah yang harus Anda selidiki. Artinya, alarm tidak hanya dimunculkan selama pemadaman tetapi juga memungkinkan Anda mengelola database secara proaktif.

Misalkan Anda akan masuk ke ClusterControl dan melihat daftar cluster seperti ini, Anda pasti akan memiliki sesuatu untuk diselidiki:satu node sedang down di cluster Galera misalnya dan setiap cluster memiliki berbagai alarm:

Setelah Anda mengklik salah satu alarm, Anda akan pergi ke halaman rinci tentang semua alarm cluster. Detail alarm akan menjelaskan masalah tersebut dan dalam banyak kasus juga menyarankan tindakan untuk mengatasi masalah tersebut.

Anda dapat mengatur alarm Anda sendiri dengan membuat ekspresi khusus, tetapi itu telah ditinggalkan demi Studio Pengembang baru kami yang memungkinkan Anda untuk menulis Javascript khusus dan menjalankannya sebagai Penasihat. Kami akan kembali ke topik ini nanti di postingan ini.

Ikhtisar Klaster - Dasbor

Saat membuka ikhtisar cluster, kita dapat langsung melihat metrik kinerja terpenting untuk cluster di tab. Ikhtisar ini mungkin berbeda untuk setiap jenis cluster karena, misalnya, Galera memiliki metrik kinerja yang berbeda untuk dilihat daripada MySQL, PostgreSQL, atau MongoDB tradisional.

Ikhtisar default dan tab yang dipilih sebelumnya dapat disesuaikan. Dengan mengeklik Ikhtisar -> Pengaturan Dash Anda diberikan dialog yang memungkinkan Anda untuk menentukan dasbor:

Dengan menekan tanda plus, Anda dapat menambahkan dan menentukan metrik Anda sendiri untuk membuat grafik dasbor. Dalam kasus kami, kami akan menentukan dasbor baru yang menampilkan rata-rata antrian kirim dan terima khusus Galera:

Dasbor baru ini akan memberi kami wawasan yang baik tentang rata-rata panjang antrean kluster Galera kami.

Setelah Anda menekan simpan, dasbor baru akan tersedia untuk kluster ini:

Demikian pula Anda dapat melakukan ini untuk PostgreSQL juga, misalnya kita dapat memantau hit blok bersama versus blok baca:

Jadi seperti yang Anda lihat, relatif mudah untuk menyesuaikan dasbor (default) Anda sendiri.

Ikhtisar Klaster - Monitor Kueri

Tab Query Monitor tersedia untuk penyiapan berbasis MySQL dan PostgreSQL dan terdiri dari tiga dasbor:Top Query, Running Query, dan Query Outliers.

Di dasbor Menjalankan Kueri, Anda akan menemukan semua kueri saat ini yang sedang berjalan. Ini pada dasarnya setara dengan pernyataan SHOW FULL PROCESSLIST di database MySQL.

Kueri Teratas dan Pencilan Kueri keduanya bergantung pada input log kueri lambat atau Skema Kinerja. Menggunakan Skema Kinerja selalu disarankan dan akan digunakan secara otomatis jika diaktifkan. Jika tidak, ClusterControl akan menggunakan log kueri lambat MySQL untuk menangkap kueri yang sedang berjalan. Untuk mencegah ClusterControl menjadi terlalu mengganggu dan log kueri lambat menjadi terlalu besar, ClusterControl akan mengambil sampel log kueri lambat dengan mengaktifkan dan menonaktifkannya. Loop ini secara default disetel ke pengambilan 1 detik dan long_query_time diatur ke 0,5 detik. Jika Anda ingin mengubah setelan ini untuk klaster, Anda dapat mengubahnya melalui Setelan -> Monitor Kueri .

Kueri Teratas akan, seperti namanya, menampilkan kueri teratas yang dijadikan sampel. Anda dapat mengurutkannya pada berbagai kolom:misalnya frekuensi, waktu eksekusi rata-rata, total waktu eksekusi, atau waktu simpangan baku:

Anda bisa mendapatkan detail lebih lanjut tentang kueri dengan memilihnya dan ini akan menampilkan rencana eksekusi kueri (jika tersedia) dan petunjuk/saran pengoptimalan. Pencilan Kueri mirip dengan Kueri Teratas, tetapi kemudian memungkinkan Anda memfilter kueri per host dan membandingkannya tepat waktu.

Ikhtisar Klaster - Operasi

Mirip dengan sistem PostgreSQL dan MySQL, cluster MongoDB memiliki ikhtisar Operasi dan mirip dengan Running Query MySQL. Ikhtisar ini mirip dengan mengeluarkan perintah db.currentOp() dalam MongoDB.

Ikhtisar Kluster - Performa

MySQL/Galera

Tab kinerja mungkin adalah tempat terbaik untuk menemukan kinerja dan kesehatan kluster Anda secara keseluruhan. Untuk MySQL dan Galera terdiri dari halaman Tinjauan, Penasihat, tinjauan status/variabel, Penganalisis Skema dan log Transaksi.

Laman Ikhtisar akan memberi Anda ikhtisar grafik tentang metrik paling penting di kluster Anda. Ini, jelas, berbeda per tipe cluster. Delapan metrik telah disetel secara default, tetapi Anda dapat dengan mudah mengaturnya sendiri - hingga 20 grafik jika diperlukan:

Penasihat adalah salah satu fitur utama ClusterControl:Penasihat adalah pemeriksaan skrip yang dapat dijalankan sesuai permintaan. Penasihat dapat mengevaluasi hampir semua fakta yang diketahui tentang host dan/atau cluster dan memberikan pendapatnya tentang kesehatan host dan/atau cluster dan bahkan dapat memberikan saran tentang cara mengatasi masalah atau meningkatkan host Anda!

Bagian terbaiknya belum datang:Anda dapat membuat cek sendiri di Developer Studio (ClusterControl -> Manage -> Developer Studio ), jalankan secara berkala dan gunakan lagi di bagian Penasihat. Kami membuat blog tentang fitur baru ini awal tahun ini.

Kami akan melewatkan ikhtisar status/variabel MySQL dan Galera karena ini berguna untuk referensi tetapi tidak untuk posting blog ini:cukup baik jika Anda mengetahuinya di sini.

Sekarang anggaplah database Anda tumbuh tetapi Anda ingin tahu seberapa cepat pertumbuhannya dalam seminggu terakhir. Anda benar-benar dapat melacak pertumbuhan data dan ukuran indeks dari kanan dalam ClusterControl:

Dan di samping pertumbuhan total pada disk, ia juga dapat melaporkan kembali 25 skema terbesar teratas.

Fitur penting lainnya adalah Schema Analyzer dalam ClusterControl:

ClusterControl akan menganalisis skema Anda dan mencari indeks yang berlebihan, tabel MyISAM, dan tabel tanpa kunci utama. Tentu saja terserah Anda untuk menyimpan tabel tanpa kunci utama karena beberapa aplikasi mungkin telah membuatnya dengan cara ini, tetapi setidaknya sangat bagus untuk mendapatkan saran di sini secara gratis. Penganalisis Skema bahkan merekomendasikan pernyataan ALTER yang diperlukan untuk memperbaiki masalah.

PostgreSQL

Untuk PostgreSQL, Penasihat, Status DB, dan Variabel DB dapat ditemukan di sini:

MongoDB

Untuk MongoDB, Mongo Stats dan ikhtisar kinerja dapat ditemukan di bawah tab Performance. Mongo Stats adalah ikhtisar dari output mongostat dan ikhtisar Kinerja memberikan ikhtisar grafis yang baik dari opcounters MongoDB:

Pemikiran Akhir

Kami menunjukkan kepada Anda bagaimana menjaga bola mata Anda pada fitur pemantauan dan pemeriksaan kesehatan yang paling penting dari ClusterControl. Jelas ini hanyalah awal dari perjalanan karena kami akan segera memulai seri blog lain tentang kemampuan Developer Studio dan bagaimana Anda dapat melakukan sebagian besar pemeriksaan Anda sendiri. Perlu diingat juga bahwa dukungan kami untuk MongoDB dan PostgreSQL tidak seluas perangkat MySQL kami, tetapi kami terus meningkatkannya.

Anda mungkin bertanya pada diri sendiri mengapa kami melewatkan pemantauan kinerja dan pemeriksaan kesehatan HAProxy, ProxySQL, dan MaxScale. Kami melakukannya dengan sengaja karena seri blog hanya mencakup penyebaran cluster sampai sekarang dan bukan penyebaran komponen HA. Jadi itulah topik yang akan kita bahas lain kali.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menggunakan penyisipan massal yang tidak berurutan dengan Mongoskin?

  2. TransactionRequiredException Menjalankan kueri pembaruan/penghapusan

  3. Cara menghapus semua item dari koleksi MongoDB

  4. Luwak, urutkan kueri berdasarkan bidang yang diisi

  5. Tetap buka koneksi database MongoDB