Website-Suche

Einrichten einer Echtzeitüberwachung mit „Ganglia“ für Grids und Cluster von Linux-Servern


Seitdem Systemadministratoren für die Verwaltung von Servern und Maschinengruppen verantwortlich sind, sind Tools wie die Überwachung von Anwendungen ihre besten Freunde. Sie werden wahrscheinlich mit Tools wie Nagios, Zabbix, Icinga und Centreon vertraut sein. Obwohl dies die Schwergewichte der Überwachung sind, kann es für neue Benutzer etwas schwierig sein, sie einzurichten und ihre Funktionen vollständig zu nutzen.

In diesem Artikel stellen wir Ihnen Ganglia vor, ein Überwachungssystem, das leicht skalierbar ist und es ermöglicht, eine Vielzahl von Systemmetriken von Linux-Servern und -Clustern (plus Grafiken) in Echtzeit anzuzeigen.

Mit Ganglia können Sie zur besseren Organisation Gitter (Standorte) und Cluster (Gruppen von Servern) einrichten.

So können Sie ein Raster aus allen Maschinen in einer Remote-Umgebung erstellen und diese Maschinen dann anhand anderer Kriterien in kleinere Gruppen gruppieren.

Darüber hinaus ist die Weboberfläche von Ganglia für mobile Geräte optimiert und ermöglicht Ihnen auch den Export von Daten in den Formaten .csv und .json.

Unsere Testumgebung wird aus einem zentralen CentOS 7-Server (IP-Adresse 192.168.0.29), auf dem wir Ganglia installieren, und einem Ubuntu 14.04-Maschine (192.168.0.32), die Box, die wir über die Weboberfläche von Ganglia überwachen möchten.

In diesem Handbuch bezeichnen wir das CentOS 7-System als Masterknoten und die Ubuntu-Box als überwachte Maschine.

Ganglia installieren und konfigurieren

Um die Überwachungsdienstprogramme im Masterknoten zu installieren, führen Sie die folgenden Schritte aus:

1. Aktivieren Sie das EPEL-Repository und installieren Sie dann Ganglia und die zugehörigen Dienstprogramme von dort:

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

Die im obigen Schritt installierten Pakete führen zusammen mit Ganglia, der Anwendung selbst, die folgenden Funktionen aus:

  1. rrdtool, die Round-Robin-Datenbank, ist ein Tool, das zum Speichern und Anzeigen der Variation von Daten im Zeitverlauf mithilfe von Diagrammen verwendet wird.
  2. ganglia-gmetad ist der Daemon, der Überwachungsdaten von den Hosts sammelt, die Sie überwachen möchten. Auf diesen Hosts und im Master-Knoten muss außerdem ganglia-gmond (der Überwachungsdaemon selbst) installiert werden:
  3. ganglia-web stellt das Web-Frontend bereit, in dem wir die historischen Diagramme und Daten zu den überwachten Systemen anzeigen.

2. Richten Sie die Authentifizierung für die Ganglia-Weboberfläche ein (/usr/share/ganglia). Wir verwenden die von Apache bereitgestellte Basisauthentifizierung.

Wenn Sie erweiterte Sicherheitsmechanismen erkunden möchten, lesen Sie den Abschnitt „Autorisierung und Authentifizierung“ der Apache-Dokumente.

Um dieses Ziel zu erreichen, erstellen Sie einen Benutzernamen und weisen Sie ein Passwort zu, um auf eine durch Apache geschützte Ressource zuzugreifen. In diesem Beispiel erstellen wir einen Benutzernamen namens adminganglia und weisen ein Passwort unserer Wahl zu, das in /etc/httpd/auth.basic gespeichert wird (Sie können dies gerne tun). Wählen Sie ein anderes Verzeichnis und/oder einen anderen Dateinamen – solange Apache Leseberechtigungen für diese Ressourcen hat, ist alles in Ordnung):

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

Geben Sie das Passwort für adminganglia zweimal ein, bevor Sie fortfahren.

3. Ändern Sie /etc/httpd/conf.d/ganglia.conf wie folgt:

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. Bearbeiten Sie /etc/ganglia/gmetad.conf:

Verwenden Sie zunächst die Anweisung „gridname“, gefolgt von einem beschreibenden Namen für das Raster, das Sie einrichten:

gridname "Home office"

Verwenden Sie dann data_source, gefolgt von einem beschreibenden Namen für den Cluster (Gruppe von Servern), einem Abfrageintervall in Sekunden und der IP-Adresse des Masters und der überwachten Knoten:

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

5. Bearbeiten Sie /etc/ganglia/gmond.conf.

a) Stellen Sie sicher, dass der Clusterblock wie folgt aussieht:

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

b) Kommentieren Sie im udp_send_chanel-Block die mcast_join-Direktive aus:

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

c) Kommentieren Sie abschließend die Anweisungen mcast_join und bind im Block udp_recv_channel aus:

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

Speichern Sie die Änderungen und beenden Sie den Vorgang.

6. Öffnen Sie den Port 8649/udp und erlauben Sie PHP-Skripten (die über Apache ausgeführt werden), mithilfe des erforderlichen booleschen SELinux-Werts eine Verbindung zum Netzwerk herzustellen:

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

7. Starten Sie Apache, gmetad und gmond neu. Stellen Sie außerdem sicher, dass sie für den Start beim Booten aktiviert sind:

systemctl restart httpd gmetad gmond
systemctl enable httpd gmetad httpd

Zu diesem Zeitpunkt sollten Sie in der Lage sein, die Ganglia-Weboberfläche unter http://192.168.0.29/ganglia zu öffnen und sich mit den Anmeldeinformationen aus #Schritt 2 anzumelden.

8. Auf dem Ubuntu-Host installieren wir nur ganglia-monitor, das Äquivalent von ganglia-gmond in CentOS:

sudo aptitude update && aptitude install ganglia-monitor

9. Bearbeiten Sie die Datei /etc/ganglia/gmond.conf im überwachten Feld. Dies sollte mit derselben Datei im Master-Knoten identisch sein, mit Ausnahme der auskommentierten Zeilen im Cluster, udp_send_channel und udp_recv_channel sollte aktiviert sein:

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
}

Starten Sie dann den Dienst neu:

sudo service ganglia-monitor restart

10. Aktualisieren Sie die Weboberfläche und Sie sollten in der Lage sein, die Statistiken und Grafiken für beide Hosts im Home-Office-Raster/Labs-Cluster anzuzeigen ( Verwenden Sie das Dropdown-Menü neben Home-Office-Raster, um einen Cluster auszuwählen, in unserem Fall Labs):

Über die Menüregisterkarten (oben hervorgehoben) können Sie auf viele interessante Informationen zu jedem Server einzeln und in Gruppen zugreifen. Mithilfe der Registerkarte „Hosts vergleichen“ können Sie sogar die Statistiken aller Server in einem Cluster nebeneinander vergleichen.

Wählen Sie einfach eine Gruppe von Servern mithilfe eines regulären Ausdrucks aus und Sie erhalten einen schnellen Vergleich ihrer Leistung:

Eine der Funktionen, die ich persönlich am meisten ansprechend finde, ist die für Mobilgeräte optimierte Zusammenfassung, auf die Sie über die Registerkarte Mobil zugreifen können. Wählen Sie den Cluster aus, an dem Sie interessiert sind, und dann den einzelnen Host:

Zusammenfassung

In diesem Artikel haben wir Ganglia vorgestellt, eine leistungsstarke und skalierbare Überwachungslösung für Grids und Servercluster. Fühlen Sie sich frei, Ganglia zu installieren, zu erkunden und so oft damit herumzuspielen, wie Sie möchten (übrigens können Sie Ganglia sogar in einer Demo ausprobieren, die auf der offiziellen Website des Projekts bereitgestellt wird.

Wenn Sie schon dabei sind, werden Sie auch feststellen, dass mehrere namhafte Unternehmen aus der IT-Welt Ganglia verwenden oder nicht. Dafür gibt es neben denen, die wir in diesem Artikel genannt haben, noch viele gute Gründe, wobei die Benutzerfreundlichkeit und die Grafiken zusammen mit den Statistiken (es ist schön, dem Namen ein Gesicht zu geben, nicht wahr?) wahrscheinlich ganz oben stehen.

Aber vertrauen Sie uns nicht nur beim Wort, probieren Sie es selbst aus und zögern Sie nicht, uns über das Kommentarformular unten zu kontaktieren, wenn Sie Fragen haben.