Nagios est un outil de surveillance de réseau open source utilisé pour surveiller l'état de fonctionnement des réseaux, des serveurs et des applications. Il peut détecter et signaler les anomalies, les pannes et les problèmes de performances du réseau pour aider les administrateurs système à prendre des mesures en temps opportun pour éviter les pannes du système.
Dans cet article, nous présenterons comment utiliser le langage PHP pour implémenter l'outil open source de surveillance de réseau Nagios, et discuterons de la manière de l'appliquer dans un environnement pratique.
1. Installez PHP et Nagios
Avant de commencer, vous devez installer PHP et Nagios. PHP est un langage de programmation Web populaire qui peut être utilisé avec Nagios pour écrire des plug-ins, des vues et d'autres interfaces Web. Vous pouvez télécharger le programme d'installation depuis le site officiel de PHP (https://www.php.net/) et l'installer selon les instructions. Nagios est également un outil de surveillance de réseau populaire. Vous pouvez télécharger le programme d'installation sur le site officiel de Nagios (https://www.nagios.org/) et l'installer selon les instructions.
2. Écriture de plug-ins Nagios
Les plug-ins Nagios sont des programmes utilisés pour détecter les périphériques et applications réseau. Vous pouvez écrire des plugins en PHP et les enregistrer dans le répertoire des plugins Nagios. Voici un exemple simple de plugin PHP pour détecter les serveurs HTTP :
#!/usr/bin/php <?php $host = $argv[1]; $port = $argv[2]; $timeout = 5; $fp = fsockopen($host, $port, $errno, $errstr, $timeout); if (!$fp) { echo "CRITICAL - Cannot connect to $host:$port "; exit(2); } $request = "GET / HTTP/1.0 "; fwrite($fp, $request); $response = fgets($fp, 4096); fclose($fp); if (strpos($response, "200 OK") === false) { echo "CRITICAL - HTTP server did not respond with 200 OK status "; exit(2); } echo "OK - HTTP server is responding "; exit(0); ?>
Le plugin ci-dessus détecte l'état du serveur HTTP, essaie d'abord de se connecter à l'hôte et au numéro de port, si la connexion échoue, le plugin renvoie l'état "CRITIQUE" . Si la connexion réussit, une requête HTTP est envoyée au serveur. Si le code d'état de réponse du serveur est « 200 OK », le plug-in renvoie l'état « OK ». Sinon, le plugin renvoie le statut "CRITICAL".
3. Configurer Nagios
Après avoir installé et configuré PHP et Nagios, vous devez configurer le plug-in dans la surveillance Nagios. Vous pouvez ajouter le plugin PHP en ajoutant la ligne suivante à votre fichier de configuration Nagios :
define command{ command_name check_http_php command_line /usr/local/bin/php /usr/local/nagios/libexec/check_http_php.php $ARG1$ $ARG2$ }
Ce qui précède définit une commande nommée "check_http_php", qui utilise le plugin "check_http_php.php" et les deux paramètres "$ARG1$" et " $ARG2" $".
Pour utiliser cette commande avec la surveillance Nagios, vous devez associer un service à cette commande. Vous pouvez ajouter la ligne suivante en utilisant le fichier de configuration Nagios suivant :
define service{ use generic-service host_name localhost service_description HTTP check_command check_http_php!localhost!80 }
Ce qui précède définit un service nommé "HTTP", qui surveille le port HTTP sur l'hôte local et le détecte à l'aide de la commande "check_http_php".
4. Test
Après avoir terminé la configuration ci-dessus, nous pouvons tester si l'outil de surveillance du réseau Nagios implémenté en PHP peut fonctionner normalement. Vous pouvez vérifier l'état du serveur HTTP en exécutant la commande suivante sur la ligne de commande :
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_http_php!localhost!80
Si tout est OK, un message décrivant l'état HTTP doit être renvoyé.
5. Résumé
Maintenant, vous avez appris à utiliser le langage PHP pour implémenter l'outil open source de surveillance du réseau Nagios. En écrivant des plug-ins et des fichiers de configuration, vous pouvez surveiller l'état des périphériques et des applications réseau et prendre des mesures rapides pour résoudre tout problème. Dans les applications réelles, vous pouvez le personnaliser et l'étendre en fonction de vos propres besoins et scénarios.
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!