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

Cara Memantau MongoDB dengan Prometheus &ClusterControl

SCUMM (Severalnines ClusterControl Unified Monitoring &Management) adalah solusi berbasis agen dengan agen yang diinstal pada node database. Ini menyediakan satu set dasbor pemantauan, yang memiliki Prometheus sebagai penyimpanan data dengan bahasa kueri elastis dan model data multi-dimensi. Prometheus mengambil data metrik dari eksportir yang berjalan di host database.

Arsitektur ClusterControl SCUMM diperkenalkan dengan versi 1.7.0 yang memperluas fungsionalitas pemantauan untuk MySQL, Galera Cluster, PostgreSQL &ProxySQL.

ClusterControl 1.7.1 yang baru menambahkan pemantauan resolusi tinggi untuk sistem MongoDB.

Daftar dasbor MongoDB ClusterControl

Pada artikel ini, kami akan menjelaskan dua dasbor utama untuk lingkungan MongoDB. Server MongoDB dan Replika MongoDB.

Daftar Dasbor dan Metrik

Daftar dasbor dan metriknya:

Server MongoDB  
  Nama
Nama ReplSet
Waktu Operasi Server
OpsCounters
Koneksi
WT - Tiket Bersamaan (Baca)
WT - Tiket Bersamaan (Tulis)
WT - Tembolok
Kunci Global
Menegaskan
ClusterControl MongoDB Server Dashboard
MongoDB ReplicaSet  
  Ukuran ReplSet
Nama ReplSet
UTAMA
Versi Server
Kumpulan Replika dan Anggota
Jendela Oplog per ReplSet
Ruang Kepala Replikasi
Total PRIMARY/SECONDARY online per ReplSet
Buka Kursor per ReplSet
ReplSet - Batas Waktu Kursor per Set
Lag Replikasi Maks per ReplSet
Ukuran Oplog
OpsCounters
Waktu Ping ke Replika Set Anggota dari PRIMARY(s)
ClusterControl MongoDB ReplicaSet Dashboard

Sistem basis data sangat bergantung pada sumber daya OS, sehingga Anda juga dapat menemukan dua dasbor tambahan untuk Tinjauan Sistem dan Tinjauan Cluster dari lingkungan MongoDB Anda.

Ikhtisar Sistem  
  Waktu Aktif Server
Core CPU
Total RAM
Rata-Rata Muat
Penggunaan CPU
Penggunaan RAM
Penggunaan Ruang Disk
Penggunaan Jaringan
Disk IOPS
Disk IO Util %
Throughput Disk
Ikhtisar Sistem Kontrol Cluster Dasbor
Ikhtisar Cluster  
  Rata-rata Muat 1m
Rata-Rata Muat 5m
Rata-Rata Muat 15m
Memori Tersedia Untuk Aplikasi
Jaringan TX
Jaringan RX
Disk Read IOPS
Disk Write IOPS
Disk Write + Baca IOPS
Dasbor Ikhtisar ClusterControl Cluster

Dasbor Server MongoDB

Metrik MongoDB Kontrol Cluster

Nama - Alamat server dan portnya.

Nama ReplsSet - Menampilkan nama set replika tempat server berada.

Waktu Aktif Server - Waktu sejak server terakhir dihidupkan ulang.

Ops Couters - Jumlah permintaan yang diterima selama periode waktu yang dipilih dipecah berdasarkan jenis operasi. Jumlah ini mencakup semua operasi yang diterima, termasuk operasi yang tidak berhasil.

Koneksi - Grafik ini menunjukkan salah satu metrik terpenting yang harus diperhatikan - jumlah koneksi yang diterima selama periode waktu yang dipilih termasuk permintaan yang gagal. Beban lalu lintas yang tidak normal dapat menyebabkan masalah kinerja. Jika MongoDB kehabisan koneksi, mungkin tidak dapat menangani permintaan yang masuk tepat waktu.

WT - Tiket serentak (Baca) / WT - TIket serentak (Tulis) Kedua grafik ini menunjukkan tiket baca dan tulis yang mengontrol konkurensi di WiredTiger (WT). Tiket WT mengontrol berapa banyak operasi baca dan tulis yang dapat dijalankan pada mesin penyimpanan secara bersamaan. Saat tiket baca dan tulis yang tersedia turun ke nol, jumlah operasi yang berjalan bersamaan sama dengan nilai baca/tulis yang dikonfigurasi. Ini berarti bahwa operasi lain harus menunggu hingga salah satu utas yang berjalan menyelesaikan pekerjaannya di mesin penyimpanan sebelum dijalankan.

Metrik MongoDB Kontrol Cluster

WT - Tembolok (Kotor, Digusur - Dimodifikasi, Diusir - Tidak Dimodifikasi, Maks) - Ukuran cache adalah satu-satunya kenop terpenting untuk WiredTiger. Secara default, MongoDB 3.x mencadangkan 50% (60% dalam 3.2) dari memori yang tersedia untuk cache datanya.

Kunci Global (Client-Read, Client - Write, Current Queue - Reader, Current Queue - Writer) - Pola desain skema yang buruk atau permintaan baca dan tulis yang berat dari banyak klien dapat menyebabkan penguncian yang ekstensif. Ketika ini terjadi, ada kebutuhan untuk menjaga konsistensi dan menghindari konflik penulisan.
Untuk mencapai ini, MongoDB menggunakan penguncian multi-granularitas yang memungkinkan operasi penguncian terjadi pada tingkat yang berbeda, seperti tingkat global, basis data, atau kumpulan .

Pernyataan (pesan, reguler, rollover, pengguna) - Grafik ini menunjukkan jumlah pernyataan yang dinaikkan setiap detik. Nilai tinggi dan penyimpangan dari tren harus ditinjau.

Dasbor ReplikaSet MongoDB

Metrik yang ditampilkan di dasbor ini hanya penting jika Anda menggunakan kumpulan replika.

ClusterControl MongoDB ReplicaSet Metrik

Ukuran Set Replika - Jumlah anggota dalam set replika. Penerapan set replika standar untuk sistem produksi adalah set replika tiga anggota. Secara umum, direkomendasikan bahwa set replika memiliki jumlah anggota voting ganjil. Toleransi kesalahan untuk set replika adalah jumlah anggota yang bisa menjadi tidak tersedia dan masih menyisakan cukup banyak anggota di set untuk memilih primer. Toleransi kesalahan untuk tiga anggota adalah satu, untuk lima adalah dua dst.

Nama ReplSet - Ini adalah nama yang ditetapkan dalam file konfigurasi MongoDB. Nama mengacu pada nilai replSet /etc/mongod.conf.

PRIMER - Node utama menerima semua operasi tulis dan mencatat semua perubahan lain pada kumpulan datanya dalam log operasinya. Nilainya adalah untuk mengidentifikasi IP dan port node utama Anda di cluster kumpulan replika MongoDB.

Versi Server - Identifikasi versi server. ClusterControl versi 1.7.1 mendukung MongoDB versi 3.2/3.4/3.6/4.0.

Set Replika dan Anggota (min, maks, rata-rata) - Grafik ini dapat membantu Anda mengidentifikasi anggota aktif selama periode waktu tertentu. Anda dapat melacak jumlah minimum, maksimum dan rata-rata dari node primer dan sekunder dan bagaimana angka-angka ini berubah dari waktu ke waktu. Setiap penyimpangan dapat mempengaruhi toleransi kesalahan dan ketersediaan cluster.

Jendela Oplog per ReplSet - Jendela replikasi adalah metrik penting yang harus diperhatikan. Oplog MongoDB adalah kumpulan tunggal yang telah dibatasi dalam ukuran (preset). Ini dapat digambarkan sebagai perbedaan antara cap waktu pertama dan terakhir di oplog.rs. Ini adalah jumlah waktu sekunder dapat offline sebelum sinkronisasi awal diperlukan untuk menyinkronkan instans. Metrik ini memberi tahu Anda berapa banyak waktu yang tersisa sebelum transaksi kami berikutnya dihapus dari oplog.

ClusterControl MongoDB ReplicaSet Metrik

Ruang Utama Replikasi - Grafik ini menunjukkan perbedaan antara jendela oplog primer dan jeda replikasi dari node sekunder. Oplog MongoDB terbatas dalam ukuran dan Jika node tertinggal terlalu jauh, itu tidak akan dapat mengejar. Jika ini terjadi, sinkronisasi penuh akan dilakukan dan ini adalah operasi mahal yang harus dihindari setiap saat.

Total PRIMARY/SECONDARY online per ReplSet - Jumlah total node cluster selama periode waktu.

Buka Kursor per ReplSet (Disematkan, Waktu Habis, Total) - Permintaan baca dilengkapi dengan kursor yang merupakan penunjuk ke kumpulan data hasil. Itu akan tetap terbuka di server dan karenanya menghabiskan memori kecuali dihentikan oleh pengaturan MongoDB default. Anda harus mengidentifikasi kursor yang tidak aktif dan memotongnya untuk menghemat memori.

ReplSet - Kursor Timeout per SetsMax Replikasi Lag per ReplSet - Replikasi lag sangat penting untuk diperhatikan jika Anda scaling out membaca dengan menambahkan lebih banyak sekunder. MongoDB hanya akan menggunakan sekunder ini jika mereka tidak tertinggal terlalu jauh. Jika sekunder memiliki jeda replikasi, Anda berisiko menyajikan data usang yang telah ditimpa di primer.

Ukuran Oplog - Beban kerja tertentu mungkin memerlukan ukuran oplog yang lebih besar. Pembaruan ke beberapa dokumen sekaligus, penghapusan sama dengan jumlah data yang sama dengan sisipan atau jumlah signifikan pembaruan di tempat.

OpsConters - Grafik ini menunjukkan jumlah eksekusi kueri.

Waktu Ping ke Replika Menetapkan Anggota dari Pratama - Ini memungkinkan Anda menemukan anggota kumpulan replika yang tidak aktif atau tidak dapat dijangkau dari node utama.

Keterangan Penutup

Fitur dasbor MongoDB ClusterControl 1.7.1 yang baru tersedia di Edisi Komunitas secara gratis. Tim operasi basis data dapat mengambil keuntungan darinya dengan menggunakan grafik resolusi tinggi, terutama saat melakukan rutinitas harian mereka sebagai analisis akar masalah dan perencanaan kapasitas.

Hanya masalah satu klik untuk menyebarkan agen pemantauan baru. ClusterControl menginstal agen Prometheus, mengonfigurasi metrik, dan memelihara akses ke konfigurasi eksportir Prometheus melalui GUI-nya, sehingga Anda dapat mengelola konfigurasi parameter dengan lebih baik seperti flag kolektor untuk eksportir (Prometheus).

Dengan memantau jumlah permintaan baca dan tulis secara memadai, Anda dapat mencegah kelebihan sumber daya, dengan cepat menemukan asal potensi kelebihan beban, dan mengetahui kapan harus meningkatkannya.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengubah direktori penyimpanan data MongoDB

  2. Melakukan pernyataan kasus dalam kerangka agregasi mongodb

  3. Pencarian bersarang MongoDB dengan 3 level

  4. $addFields ketika $match tidak ditemukan

  5. MongoDB:Apakah mungkin membuat kueri case-insensitive?