Benutzer:Robin.goerlach/Entwürfe/Ganglia

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Ganglia

Ganglia Logo
GangliaScreenshot
Ganglia Beispiel Screenshot auf MacOS X
Basisdaten

Entwickler Michael Kölling und John Rosenberg
Aktuelle Version 3.5.2
(16. Juli 2012[1])
Betriebssystem plattformunabhängig
Programmier­sprache C, Perl, PHP, Python
Kategorie Netzwerk-Monitoring
Lizenz BSD-Lizenz
www.ganglia.info

Ganglia ist ein skalierbares, verteiltes System-Monitor-Tool für High-Performance-Computing-Systeme wie Cluster und Grids. Es ermöglicht dem Benutzer per Fernzugriff Live- oder historische Statistiken (z. B. CPU Last Mittelwerte oder Netzauslastung) für alle Maschinen, die überwacht werden abzufragen[2].

entstand aus dem Millennium Project der University of California, Berkeley und basiert auf einem hierarchischen Design von Cluster Verbänden. Es stützt sich auf eine multicast -basiertes listen/announce Protokoll um die Status im Cluster zu überwachen. Es erzeugt einen Baum von Punkt-zu-Punkt-Verbindungen zwischen repräsentativen Cluster-Knoten und nutzt weit verbreitete Technologien wie XML für Datendarstellung, XDR für den kompakten, portablen Datentransport und RRDtool für die Datenspeicherung und Visualisierung. Es nutzt sorgfältig konstruiert Datenstrukturen und Algorithmen zu sehr niedrigen Pro-Knoten-Kosten um hohe Parallelität zu erreichen. Die Implementierung ist robust und wurde auf eine umfangreiche Liste von Betriebssystemen und Prozessor-Architekturen portiert. Derzeit ist Ganglia auf über 500 Clustern in aller Welt im Einsatz. Es wurde verwendet, um Cluster in Universitäten und der ganzen Welt zu verbinden und kann in Cluster mit 2000 Knoten betrieben werden.[3]

Das Ganglien-System besteht aus zwei einzigartigen Diensten, ein PHP-basiertes Web-Front-End, und ein paar andere kleine Hilfsprogramme.

Ganglia Monitoring Daemon (gmond)

[Bearbeiten | Quelltext bearbeiten]

Gmond ist ein Multi-Threaded Daemon, der auf jedem zu überwachenden Cluster-Knoten läuft. Eine Installation ist nicht erforderlich, ein gemeinsames NFS-Dateisystemist völlig ausreichend.

Gmond hat vier Hauptaufgaben:

  1. Überwachen von Änderungen in Cluster Verbund.
  2. Kündigen Sie relevanten Veränderungen.
  3. Lauschen dem Status aller anderen Knoten über einen Ganglien Unicast oder Multicast-Kanal.
  4. Beantworten Sie Anfragen für eine XML-Beschreibung der Cluster-Zustand.

Jeder gmond überträgt Information in zwei verschiedene Arten:

  • der Knotenstatus wird in Unicast oder Multicast Verfahren im XDR Format unter Nutzung von UDP-Nachrichten versendet.
  • Versenden von XML Daten geschiet über eine TCP -Verbindung.

Ganglia Meta Daemon (gmetad)

[Bearbeiten | Quelltext bearbeiten]

Die Föderation in Ganglia erfolgt über einen Baum von Punkt-zu-Punkt-Verbindungen zwischen repräsentativen Cluster-Knoten der aggregieren Knoten mehrere Cluster. An jedem Knoten im Baum, arbeitet ein Ganglia Meta Daemon (gmetad), periodisch erfragt dieser eine Auflistung von untergeordneten Datenquellen, analysiert die gesammelten Daten und exportiert diese als aggregierte XML über einen TCP-Socket an den Client. Datenquellen können entweder gmond Dämonen, die ein bestimmtes Cluster oder andere gmetad Dämonen, welche Sätze von Clustern, representiern sein. Die Datenquellen nutzen Source IP-Adressen für die Zutrittskontrolle und können unter Verwendung mehrerer IP-Adressen für Failover verwendet werden. Die letztere Möglichkeit ist die Aggregation der Daten von Clustern, da jeder gmond Daemon den gesamten Zustand der Cluster enthält.

Ganglia PHP-Web-Front-End

[Bearbeiten | Quelltext bearbeiten]

Das Ganglia Web-Frontend bietet einen Blick auf die gesammelten Daten über dynamische Web-Seiten in Echtzeit. Das Web-Frontend zeigt die Ganglia Daten in einer sinnvollen Art und Weise für Systemadministratoren und Computer-Nutzer an. Das Web-Frontend von Ganglia begann als eine einfache HTML Ansicht der XML-Struktur und hat sich zu einem bunten System das alle gesammelten Daten enhält entwickelt.

Das Ganglia Web-Frontend richtet sich an System-Administratoren und Anwender. Es visualisiert zum Beispiel die CPU Auslastung während der letzten Stunden, Tage, Wochen, Monat oder Jahr. Das Web-Frontend zeigt ähnliche Kurven für die Speichernutzung, Festplattennutzung Netzwerk-Statistiken, die Anzahl der laufenden Prozesse, und alle anderen Ganglia Metriken.

Das Web-Frontend ist abhängig von der Existenz des gmetad, es bietet Daten aus mehreren Ganglia Quellen. Das Web-Frontend öffnen den lokalen Port 8651 (Standard) und erwartet dort einen Ganglia XML-Struktur zu erhalten. Dieses Verhalten führt zu einer sehr ansprechende Website, erfordert aber, dass die volle XML-Struktur auf jeder Seite geparst wird. Daher sollte die Ganglia Web-Frontend auf einem ziemlich starken, dedizierten Maschine laufen, wenn es eine große Datenmenge präsentiert.

Die Ganglia Web-Frontend ist in der PHP Skriptsprache entwickelt worden und nutzt Grafen die gmetad generierte um den Verlauf anzuzeigen. Es wurde auf vielen Systemen getestet Unix (hauptsächlich Linux ) mit dem Apache Webserver und PHP 4.1.

  1. ^ Ganglia Monitoring System
  2. ^ Ganglia:: Wikimedia Wikimedia Cloud Report
  3. ^ Ganglia Monitoring System
  1. http://www.ganglia.info/index.html
  2. Ganglia:: Wikimedia Wikimedia Cloud Report
  3. Ganglia Monitoring System