Linux Sunucularının Izgaraları ve Kümeleri için 'Ganglia' ile Gerçek Zamanlı İzlemeyi Ayarlama


Sistem yöneticileri sunucuların ve makine gruplarının yönetiminden sorumlu olduklarından beri, uygulamaları izleme gibi araçlar onların en iyi arkadaşları olmuştur. Muhtemelen Nagios, Zabbix, Icinga ve Centreon gibi araçlara aşina olacaksınız. Bunlar izlemenin ağır sikletleri olsa da, bunları kurmak ve özelliklerinden tam olarak yararlanmak yeni kullanıcılar için biraz zor olabilir.

Bu makalede size, kolayca ölçeklenebilen ve Linux sunucularının ve kümelerinin (artı grafikler) çok çeşitli sistem ölçümlerini gerçek zamanlı olarak görüntülemeye olanak tanıyan bir izleme sistemi olan Ganglia'yı tanıtacağız.

Ganglia, daha iyi bir organizasyon için ızgaralar (konumlar) ve kümeler (sunucu grupları) oluşturmanıza olanak tanır.

Böylece uzak ortamdaki tüm makinelerden oluşan bir ızgara oluşturabilir ve ardından bu makineleri diğer kriterlere göre daha küçük gruplar halinde gruplandırabilirsiniz.

Ayrıca Ganglia'nın web arayüzü mobil cihazlar için optimize edilmiştir ve ayrıca verileri .csv ve .json formatlarında dışa aktarmanıza olanak tanır.

Test ortamımız, Ganglia'yı kuracağımız merkezi bir CentOS 7 sunucusundan (IP adresi 192.168.0.29) ve 'den oluşacaktır. Ubuntu 14.04 makinesi (192.168.0.32), Ganglia'nın web arayüzü üzerinden izlemek istediğimiz kutu.

Bu kılavuz boyunca CentOS 7 sistemine ana düğüm, Ubuntu kutusuna ise izlenen makine olarak değineceğiz.

Ganglia'yı Kurmak ve Yapılandırmak

İzleme yardımcı programlarını ana düğüme yüklemek için şu adımları izleyin:

1. EPEL deposunu etkinleştirin ve ardından Ganglia'yı ve ilgili yardımcı programları buradan yükleyin:

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

Yukarıdaki adımda kurulan paketler, uygulamanın kendisi olan ganglionlarla birlikte aşağıdaki işlevleri yerine getirir:

  1. rrdtool, Round-Robin Veritabanı, grafikler kullanarak verilerin zaman içindeki değişimini depolamak ve görüntülemek için kullanılan bir araçtır.
  2. ganglia-gmetad, izlemek istediğiniz ana bilgisayarlardan izleme verilerini toplayan arka plan programıdır. Bu ana bilgisayarlarda ve ana düğümde ayrıca ganglia-gmond'un (izleme arka plan programının kendisi) kurulması da gereklidir:
  3. ganglia-web, izlenen sistemlere ilişkin geçmiş grafikleri ve verileri görüntüleyeceğimiz web ön ucunu sağlar.

2. Ganglia web arayüzü (/usr/share/ganglia) için kimlik doğrulamayı ayarlayın. Apache tarafından sağlanan temel kimlik doğrulamayı kullanacağız.

Daha gelişmiş güvenlik mekanizmalarını keşfetmek istiyorsanız Apache belgelerinin Yetkilendirme ve Kimlik Doğrulama bölümüne bakın.

Bu hedefi gerçekleştirmek için bir kullanıcı adı oluşturun ve Apache tarafından korunan bir kaynağa erişim için bir şifre atayın. Bu örnekte, adminganglia adında bir kullanıcı adı oluşturacağız ve /etc/httpd/auth.basic dosyasında saklanacak kendi seçeceğimiz bir şifre atayacağız (bundan çekinmeyin) başka bir dizin ve/veya dosya adı seçin; Apache'nin bu kaynaklar üzerinde okuma izinleri olduğu sürece sorun yaşamazsınız):

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

Devam etmeden önce adminganglia şifresini iki kez girin.

3. /etc/httpd/conf.d/ganglia.conf dosyasını aşağıdaki şekilde değiştirin:

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. /etc/ganglia/gmetad.conf'u düzenleyin:

Öncelikle, kurduğunuz ızgara için ızgara adı yönergesini ve ardından açıklayıcı bir adı kullanın:

gridname "Home office"

Ardından, data_source'u ve ardından küme (sunucu grubu) için açıklayıcı bir ad, saniye cinsinden bir yoklama aralığı ve ana ve izlenen düğümlerin IP adresini kullanın:

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

5. /etc/ganglia/gmond.conf dosyasını düzenleyin.

a) Küme bloğunun aşağıdaki gibi göründüğünden emin olun:

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

b) udp_send_chanel bloğunda mcast_join yönergesine yorum yapın:

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

c) Son olarak, mcast_join'i yorumlayın ve udp_recv_channel bloğundaki bağlama yönergelerini kullanın:

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

Değişiklikleri kaydedin ve çıkın.

6. 8649/udp bağlantı noktasını açın ve PHP komut dosyalarının (Apache aracılığıyla çalıştırılır) gerekli SELinux boolean'ını kullanarak ağa bağlanmasına izin verin:

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

7. Apache'yi, gmetad'ı ve gmond'u yeniden başlatın. Ayrıca, önyükleme sırasında başlamalarının etkinleştirildiğinden emin olun:

systemctl restart httpd gmetad gmond
systemctl enable httpd gmetad httpd

Bu noktada, http://192.168.0.29/ganglia adresinde Ganglia web arayüzünü açabilmeniz ve #Step 2'deki kimlik bilgileriyle giriş yapabilmeniz gerekir.

8. Ubuntu ana bilgisayarında yalnızca 'nin eşdeğeri olan ganglia-monitor'ü yükleyeceğiz. CentOS'ta ganglia-gmond:

sudo aptitude update && aptitude install ganglia-monitor

9. İzlenen kutudaki /etc/ganglia/gmond.conf dosyasını düzenleyin. Bu, küme, udp_send_channel ve udp_recv_channel'deki yorum eklenmiş satırlar dışında ana düğümdeki aynı dosyayla aynı olmalıdır. etkinleştirilmelidir:

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
}

Ardından hizmeti yeniden başlatın:

sudo service ganglia-monitor restart

10. Web arayüzünü yenilediğinizde, Ev ofisi ızgarası/Laboratuvarlar kümesi ( bir küme seçmek için Ev ofisi tablosu'nun yanındaki açılır menüyü kullanın (bizim durumumuzda Laboratuvarlar):

Menü sekmelerini (yukarıda vurgulanan) kullanarak, her sunucu hakkında bireysel olarak ve gruplar halinde birçok ilginç bilgiye erişebilirsiniz. Hatta Ana Bilgisayarları Karşılaştır sekmesini kullanarak bir kümedeki tüm sunucuların istatistiklerini yan yana karşılaştırabilirsiniz.

Normal bir ifade kullanarak bir grup sunucu seçmeniz yeterlidir; nasıl performans gösterdiklerini hızlı bir şekilde görebileceksiniz:

Kişisel olarak en çekici bulduğum özelliklerden biri, Mobil sekmesini kullanarak erişebileceğiniz mobil uyumlu özettir. İlgilendiğiniz kümeyi ve ardından bireysel ana bilgisayarı seçin:

Özet

Bu makalede, ızgaralar ve sunucu kümeleri için güçlü ve ölçeklenebilir bir izleme çözümü olan Ganglia'yı tanıttık. Ganglia'yı istediğiniz kadar kurmaktan, keşfetmekten ve onunla oynamaktan çekinmeyin (bu arada, projenin resmi web sitesinde sağlanan bir demoda Ganglia'yı bile deneyebilirsiniz.

Bunu yaparken, hem BT dünyasındaki hem de tanınmış birçok şirketin Ganglia'yı kullanmadığını da keşfedeceksiniz. Bunun için bu yazıda paylaştıklarımızın yanı sıra kullanım kolaylığı, grafikler ve istatistikler (ismin başına bir yüz koymak güzel değil mi?) gibi pek çok iyi nedeni var; muhtemelen zirvede yer alıyor.

Ancak sadece bizim sözümüze güvenmeyin, kendiniz deneyin ve herhangi bir sorunuz varsa aşağıdaki yorum formunu kullanarak bize yazmaktan çekinmeyin.