Heim > Artikel > Backend-Entwicklung > PHP implementiert das Open-Source-Systemüberwachungstool Ganglia
Mit der rasanten Entwicklung von Cloud Computing und Big-Data-Technologie widmen Unternehmen der Serverüberwachung und -verwaltung immer mehr Aufmerksamkeit. Ganglia ist ein Open-Source-Systemüberwachungstool, das Unternehmen dabei helfen kann, Server in Echtzeit zu überwachen und die Serverstabilität und -zuverlässigkeit zu verbessern. Die PHP-Sprache kann die Bereitstellung und Verwendung von Ganglia schnell und einfach implementieren. In diesem Artikel wird vorgestellt, wie PHP das Open-Source-Systemüberwachungstool Ganglia implementiert.
Einführung in Ganglia
Ganglia ist ein verteiltes Systemüberwachungstool, das eine Echtzeitüberwachung und Datenanalyse von Servern durchführen kann. Es verwendet ein baumstrukturiertes Topologiediagramm, um die Beziehung zwischen dem System und dem Netzwerk zu beschreiben, und unterstützt eine Vielzahl unterschiedlicher Messindikatoren. Ganglia kann in einer großen Clusterumgebung eingesetzt werden, um verschiedene Statusänderungen des Servers zu überwachen, wie z. B. CPU-Auslastung, Speichernutzung, Netzwerkverkehr usw.
Ganglia-Installation und -Konfiguration
Ganglia-Installation und -Konfiguration ist relativ einfach und erfordert die Installation der folgenden Softwarepakete:
Nach der Installation dieser Softwarepakete können Sie Ganglia konfigurieren. Konfigurieren Sie zunächst den gmetad-Dienst auf dem Hauptknoten von Ganglia und konfigurieren Sie ihn in der Datei /etc/ganglia/gmetad.conf. Er umfasst hauptsächlich:
data_source „Ganglia Cluster“ localhost
Die data_source stellt hier die Quelle der Überwachung dar Daten, die der Name eines Clusters oder die IP-Adresse einer Netzwerkkarte sein können, stellen den Hauptknoten von Ganglia dar. Konfigurieren Sie dann den Gmond-Dienst in der Datei /etc/ganglia/gmond.conf, die hauptsächlich Folgendes enthält:
cluster {
name = „Ganglia Cluster“
owner = „localhost“
latlong = „unspecified“
url = „unspecified“
}
udp_send_channel {
host = 127.0.0.1
port = 8649
ttl = 1
}
udp_recv_channel {
port = 8649
}
tcp_accept_channel {
port = 8649
}
cluster steht hier für den Namen des Clusters. udp_send_channel repräsentiert den Datensendekanal, udp_recv_channel repräsentiert den Datenempfangskanal und tcp_accept_channel repräsentiert den TCP-Verbindungskanal. Starten Sie abschließend den Gmond-Dienst auf dem untergeordneten Ganglia-Knoten.
PHP implementiert die Ganglia-Überwachung
Jetzt können wir die Überwachungsdaten von Ganglia sehen, aber wenn wir diese Daten den Benutzern anzeigen möchten, benötigen wir eine Web-Front-End-Schnittstelle. Ganglia verfügt über eine Webverwaltungsoberfläche, erfordert jedoch eine manuelle Konfiguration und Bereitstellung, was recht umständlich ist.
Um die Bereitstellung zu erleichtern, können wir die PHP-Sprache verwenden, um die Web-Front-End-Schnittstelle von Ganglia zu implementieren. PHP ist eine leichte serverseitige Skriptsprache, die die Erstellung dynamischer Webanwendungen erleichtert. Als Nächstes stellen wir vor, wie Sie mit PHP die Überwachungsschnittstelle von Ganglia implementieren.
Zuerst müssen wir den PHP- und Apache-Server installieren. Kopieren Sie nach Abschluss der Installation die Webverwaltungsoberfläche von Ganglia in das Webserververzeichnis von Apache, z. B. /var/www/html/ganglia. Als nächstes konfigurieren Sie die PHP-Unterstützung im Apache-Server und fügen die folgende Konfiguration zu /etc/httpd/conf/httpd.conf hinzu:
AddType application/x-httpd-php .php
AddHandler php7-script .php
AddType hier und Bei der AddHandler-Konfiguration wird der MIME-Typ der .php-Datei in application/x-httpd-php geändert und der Handler der .php-Datei auf PHP gesetzt.
Dann müssen wir PHP-Code schreiben, um die Überwachungsschnittstelle von Ganglia zu implementieren. In der Webverwaltungsoberfläche von Ganglia wird die Datenanzeige durch RRDtool implementiert. Die Datenstruktur von RRDtool ist relativ speziell und erfordert das Lesen und Analysieren bestimmter Funktionen. Einzelheiten finden Sie in der offiziellen Dokumentation von RRDtool.
Hier wird nur das Framework des PHP-Codes bereitgestellt, der eigentliche Code muss nach Bedarf geändert werden:
$hostname = $_GET['h'];
$metricname = $_GET['m' ];
$ starttime = strtotime('-24 Hour');
$endtime = time();
$width = 800;
$height = 200;
$img_url = "http://localhost/ganglia/graph. php?c= Test_Cluster&h=$hostname&r=hour&z=medium&m=$metricname&s=$starttime&e=$endtime&x=$width&y=$height";
?>
Der obige Code generiert entsprechende Antworten basierend auf Überwachungsdiagramm für Knotennamen und Metriknamen.
Zusammenfassung
Das Open-Source-Systemüberwachungstool Ganglia wird über PHP implementiert, was Unternehmen die Durchführung einer Echtzeitüberwachung und Datenanalyse von Servern erleichtern kann. Diese Lösung ist einfach bereitzustellen, zu warten und zu erweitern und kann Unternehmen dabei helfen, Server besser zu verwalten und die Systemzuverlässigkeit und -stabilität zu verbessern.
Das obige ist der detaillierte Inhalt vonPHP implementiert das Open-Source-Systemüberwachungstool Ganglia. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!