Maison  >  Article  >  développement back-end  >  PHP implémente l'outil open source de surveillance du système Ganglia

PHP implémente l'outil open source de surveillance du système Ganglia

王林
王林original
2023-06-18 13:07:401686parcourir

Avec le développement rapide du cloud computing et de la technologie du big data, les entreprises accordent de plus en plus d'attention à la surveillance et à la gestion des serveurs. Ganglia est un outil de surveillance du système open source qui peut aider les entreprises à surveiller les serveurs en temps réel et à améliorer la stabilité et la fiabilité des serveurs. Le langage PHP peut implémenter rapidement et facilement le déploiement et l'utilisation de Ganglia. Cet article présentera comment PHP implémente l'outil open source de surveillance du système Ganglia.

Introduction à Ganglia

Ganglia est un outil de surveillance de système distribué qui peut effectuer une surveillance en temps réel et une analyse des données des serveurs. Il utilise un diagramme topologique arborescent pour décrire la relation entre le système et le réseau et prend en charge une variété d'indicateurs de mesure différents. Ganglia peut être déployé dans un grand environnement de cluster pour surveiller divers changements d'état du serveur, tels que l'utilisation du processeur, l'utilisation de la mémoire, le trafic réseau, etc.

Installation et configuration de Ganglia

L'installation et la configuration de Ganglia sont relativement simples et nécessitent l'installation des packages logiciels suivants :

  1. ganglia-core : les composants principaux de Ganglia, notamment gmond, gmetad, etc.
  2. ganglia-webfrontend : L'interface de gestion web de Ganglia.
  3. gmetric : l'outil métrique de Ganglia.

Après avoir installé ces logiciels, vous pouvez configurer Ganglia. Tout d'abord, configurez le service gmetad sur le nœud maître de Ganglia et configurez-le dans le fichier /etc/ganglia/gmetad.conf. Il comprend principalement :

data_source "Ganglia Cluster" localhost

La data_source représente ici la source des données de surveillance, qui peut être Le nom d'un cluster ou l'adresse IP d'une carte réseau localhost représente le nœud principal de Ganglia. Configurez ensuite le service gmond dans le fichier /etc/ganglia/gmond.conf, qui comprend principalement :

cluster {
name = "Ganglia Cluster"
owner = "localhost"
latlong = "unspecified"
url = "unspecified"
}
udp_send_channel {
hôte = 127.0.0.1
port = 8649
ttl = 1
}
udp_recv_channel {
port = 8649
}
tcp_accept_channel {
port = 8649
}

cluster représente ici le nom du cluster. udp_send_channel représente le canal d'envoi de données, udp_recv_channel représente le canal de réception de données et tcp_accept_channel représente le canal de connexion TCP. Enfin, démarrez le service gmond sur le nœud enfant de Ganglia.

PHP implémente la surveillance de Ganglia

Nous pouvons désormais voir les données de surveillance de Ganglia, mais si nous voulons afficher ces données aux utilisateurs, nous avons besoin d'une interface Web frontale. Ganglia est livré avec une interface de gestion Web, mais elle nécessite une configuration et un déploiement manuels, ce qui est assez fastidieux.

Pour faciliter le déploiement, nous pouvons utiliser le langage PHP pour implémenter l'interface web front-end de Ganglia. PHP est un langage de script léger côté serveur qui facilite la création d'applications Web dynamiques. Nous présenterons ensuite comment utiliser PHP pour implémenter l'interface de surveillance de Ganglia.

Tout d’abord, nous devons installer le serveur PHP et Apache. Une fois l'installation terminée, copiez l'interface de gestion Web de Ganglia dans le répertoire du serveur Web d'Apache, tel que /var/www/html/ganglia. Ensuite, configurez le support PHP sur le serveur Apache et ajoutez la configuration suivante à /etc/httpd/conf/httpd.conf :

AddType application/x-httpd-php .php
AddHandler php7-script .php

AddType ici et La configuration d'AddHandler signifie changer le type MIME du fichier .php en application/x-httpd-php et définir le gestionnaire du fichier .php sur PHP.

Ensuite, nous devons écrire du code PHP pour implémenter l'interface de surveillance de Ganglia. Dans l'interface de gestion Web de Ganglia, l'affichage des données est implémenté par RRDtool, et la structure des données de RRDtool est relativement spéciale et nécessite des fonctions spécifiques pour être lues et analysées. Pour plus de détails, veuillez vous référer à la documentation officielle de RRDtool.

Seul le cadre du code PHP est fourni ici, le code réel doit être modifié si nécessaire :

$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";
?>

Le code ci-dessus génère des réponses correspondantes en fonction du graphique de surveillance du nom du nœud et du nom de la métrique.

Résumé

L'outil open source de surveillance du système Ganglia est implémenté via PHP, ce qui peut permettre aux entreprises d'effectuer une surveillance en temps réel et une analyse des données des serveurs. Cette solution est simple à déployer, facile à entretenir et à développer, et peut aider les entreprises à mieux gérer les serveurs et à améliorer la fiabilité et la stabilité du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn