Ce script permets de superviser les services lancés sur un serveur avec la fonction @fsockopen. Les informations (adresses ip et ports) sont stockés dans une base de donnée.
En cas de ports libre tout va bien sinon création d'un fichier log avec heure, date, adresse ip et ports du serveur en question.
Script commenté (c'est mon premier alors j'attends vos remarques). C'est une adaptation du script
http://www.phpcs.com/codes/STATUS-SERVEUR-PHP_39503.aspx
Source / Exemple :
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("supervision"); // Sélection de la base
$reponse = mysql_query("SELECT * FROM serveur"); // Requête SQL de la table serveur
while ($donnees = mysql_fetch_array($reponse) )
{ // Début boucle while
$ip = $donnees['ip_serveur']; // adresse ip du serveur
$ports = $donnees['ports_serveur']; // ports du serveur
$connect = TRUE; // Autoriser ou non la connexion
// Mise en place du texte du nom de serveur
echo "Le serveur $ip port $ports";
// Verification du statut
if (! $sock = @fsockopen($ip, $ports, $num, $error, 5))
{
// Si il est hors ligne
echo ' est : <font color="#CC0000">DECONNECTE</font> !';
// Si problème création du fichier log
echo "<br />";
echo "Création du fichier log";
$fp=fopen("/var/www/test/log.txt","a"); // Ouverture du fichier avec le mode écriture
fputs($fp, "\n"); // on va a la ligne
$date = date("d-m-Y"); // On recupere la date de l'incident
$heure = date("H:i"); // On recupere l'heure de l'incident
fputs($fp, "$date $heure $ip $ports"); // On écrit la date, l'heure, l'ip et le port concerné
fclose($fp); // Fermeture du fichier
}
else{
// Si il est en ligne
echo ' est : <font color="#00CC00">CONNECTE</font> !';
fclose($sock);
}
echo "<br />";
} // Fin boucle while
mysql_close(); // Déconnexion de MySQL
?>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.