Menyiapkan Pemantauan Real-Time dengan 'Ganglia' untuk Grid dan Cluster Server Linux


Sejak administrator sistem bertugas mengelola server dan kelompok mesin, alat seperti aplikasi pemantauan telah menjadi teman terbaik mereka. Anda mungkin sudah familiar dengan alat seperti Nagios, Zabbix, Icinga, dan Centreon. Meskipun ini adalah pemantauan kelas berat, menyiapkannya dan memanfaatkan sepenuhnya fitur-fiturnya mungkin agak sulit bagi pengguna baru.

Pada artikel ini kami akan memperkenalkan Anda pada Ganglia, sebuah sistem pemantauan yang mudah diskalakan dan memungkinkan untuk melihat beragam metrik sistem server dan cluster Linux (ditambah grafik) secara real-time.

Ganglia memungkinkan Anda menyiapkan kisi (lokasi) dan kluster (grup server) untuk pengorganisasian yang lebih baik.

Dengan demikian, Anda dapat membuat grid yang terdiri dari semua mesin di lingkungan jarak jauh, dan kemudian mengelompokkan mesin-mesin tersebut ke dalam kumpulan yang lebih kecil berdasarkan kriteria lainnya.

Selain itu, antarmuka web Ganglia dioptimalkan untuk perangkat seluler, dan juga memungkinkan Anda mengekspor data dalam format .csv dan .json.

Lingkungan pengujian kami akan terdiri dari server CentOS 7 pusat (alamat IP 192.168.0.29) tempat kami akan menginstal Ganglia, dan Mesin Ubuntu 14.04 (192.168.0.32), kotak yang ingin kami pantau melalui antarmuka web Ganglia.

Sepanjang panduan ini kita akan mengacu pada sistem CentOS 7 sebagai node utama, dan kotak Ubuntu sebagai mesin yang dipantau.

Menginstal dan Mengonfigurasi Ganglia

Untuk menginstal utilitas pemantauan di node master, ikuti langkah-langkah berikut:

1. Aktifkan repositori EPEL lalu instal Ganglia dan utilitas terkait dari sana:

yum update && yum install epel-release
yum install ganglia rrdtool ganglia-gmetad ganglia-gmond ganglia-web 

Paket-paket yang diinstal pada langkah di atas bersama dengan ganglia, aplikasi itu sendiri, menjalankan fungsi-fungsi berikut:

  1. rrdtool, Round-Robin Database, adalah alat yang digunakan untuk menyimpan dan menampilkan variasi data dari waktu ke waktu menggunakan grafik.
  2. ganglia-gmetad adalah daemon yang mengumpulkan data pemantauan dari host yang ingin Anda pantau. Di host tersebut dan di node master juga perlu menginstal ganglia-gmond (daemon pemantauan itu sendiri):
  3. ganglia-web menyediakan antarmuka web tempat kita akan melihat grafik historis dan data tentang sistem yang dipantau.

2. Siapkan autentikasi untuk antarmuka web Gaglia (/usr/share/ganglia). Kami akan menggunakan otentikasi dasar seperti yang disediakan oleh Apache.

Jika Anda ingin menjelajahi mekanisme keamanan lebih lanjut, lihat bagian Otorisasi dan Otentikasi di dokumen Apache.

Untuk mencapai tujuan ini, buat nama pengguna dan tetapkan kata sandi untuk mengakses sumber daya yang dilindungi oleh Apache. Dalam contoh ini, kita akan membuat nama pengguna bernama adminganglia dan menetapkan kata sandi pilihan kita, yang akan disimpan di /etc/httpd/auth.basic (jangan ragu untuk pilih direktori dan/atau nama file lain – selama Apache memiliki izin membaca pada sumber daya tersebut, Anda akan baik-baik saja):

htpasswd -c /etc/httpd/auth.basic adminganglia

Masukkan kata sandi untuk adminganglia dua kali sebelum melanjutkan.

3. Ubah /etc/httpd/conf.d/ganglia.conf sebagai berikut:

Alias /ganglia /usr/share/ganglia
<Location /ganglia>
    AuthType basic
    AuthName "Ganglia web UI"
    AuthBasicProvider file
    AuthUserFile "/etc/httpd/auth.basic"
    Require user adminganglia
</Location>

4. Edit /etc/ganglia/gmetad.conf:

Pertama, gunakan direktif gridname diikuti dengan nama deskriptif untuk grid yang Anda siapkan:

gridname "Home office"

Kemudian, gunakan data_source diikuti dengan nama deskriptif untuk cluster (grup server), interval polling dalam hitungan detik, dan alamat IP node master dan yang dipantau:

data_source "Labs" 60 192.168.0.29:8649 # Master node
data_source "Labs" 60 192.168.0.32 # Monitored node

5. Edit /etc/ganglia/gmond.conf.

a) Pastikan blok cluster terlihat seperti berikut:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

b) Di blok udp_send_chanel, beri komentar pada perintah mcast_join:

udp_send_channel   {
  #mcast_join = 239.2.11.71
  host = localhost
  port = 8649
  ttl = 1
}

c) Terakhir, beri komentar pada perintah mcast_join dan ikat di blok udp_recv_channel:

udp_recv_channel {
  #mcast_join = 239.2.11.71 ## comment out
  port = 8649
  #bind = 239.2.11.71 ## comment out
}

Simpan perubahan dan keluar.

6. Buka port 8649/udp dan izinkan skrip PHP (dijalankan melalui Apache) untuk terhubung ke jaringan menggunakan boolean SELinux yang diperlukan:

firewall-cmd --add-port=8649/udp
firewall-cmd --add-port=8649/udp --permanent
setsebool -P httpd_can_network_connect 1

7. Mulai ulang Apache, gmetad, dan gmond. Selain itu, pastikan keduanya diaktifkan untuk memulai saat boot:

systemctl restart httpd gmetad gmond
systemctl enable httpd gmetad httpd

Pada titik ini, Anda seharusnya dapat membuka antarmuka web Ganglia di http://192.168.0.29/ganglia dan masuk dengan kredensial dari #Langkah 2.

8. Di host Ubuntu, kami hanya akan menginstal ganglia-monitor, yang setara dengan ganglia-gmond di CentOS:

sudo aptitude update && aptitude install ganglia-monitor

9. Edit file /etc/ganglia/gmond.conf di kotak yang dipantau. Ini harus sama dengan file yang sama di node master kecuali baris yang dikomentari di cluster, udp_send_channel, dan udp_recv_channel harus diaktifkan:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

udp_send_channel   {
  mcast_join = 239.2.11.71
  host = localhost
  port = 8649
  ttl = 1
}

udp_recv_channel {
  mcast_join = 239.2.11.71 ## comment out
  port = 8649
  bind = 239.2.11.71 ## comment out
}

Kemudian, mulai ulang layanan:

sudo service ganglia-monitor restart

10. Segarkan antarmuka web dan Anda akan dapat melihat statistik dan grafik untuk kedua host di dalam jaringan Kantor Pusat/klaster Lab ( gunakan menu tarik-turun di samping Jaringan kantor rumah untuk memilih cluster, Lab dalam kasus kami):

Dengan menggunakan tab menu (disorot di atas), Anda dapat mengakses banyak informasi menarik tentang masing-masing server secara individu dan kelompok. Anda bahkan dapat membandingkan statistik semua server dalam sebuah cluster secara berdampingan menggunakan tab Bandingkan Host.

Cukup pilih sekelompok server menggunakan ekspresi reguler dan Anda akan dapat melihat perbandingan cepat tentang kinerjanya:

Salah satu fitur yang menurut saya paling menarik adalah ringkasan ramah seluler, yang dapat Anda akses menggunakan tab Seluler. Pilih klaster yang Anda minati, lalu host individualnya:

Ringkasan

Dalam artikel ini kami telah memperkenalkan Ganglia, solusi pemantauan yang kuat dan skalabel untuk grid dan cluster server. Jangan ragu untuk menginstal, menjelajahi, dan bermain-main dengan Ganglia sebanyak yang Anda suka (omong-omong, Anda bahkan dapat mencoba Ganglia dalam demo yang disediakan di situs resmi proyek.

Saat Anda melakukannya, Anda juga akan menemukan bahwa beberapa perusahaan terkenal baik di dunia IT atau tidak menggunakan Ganglia. Ada banyak alasan bagus untuk itu selain yang telah kami bagikan di artikel ini, dengan kemudahan penggunaan dan grafik serta statistik (menyenangkan untuk mengetahui namanya, bukan?) mungkin berada di atas.

Tapi jangan hanya percaya begitu saja, cobalah sendiri dan jangan ragu untuk menghubungi kami menggunakan formulir komentar di bawah jika Anda memiliki pertanyaan.