Jump to content

Tester si un serveur est en ligne via une page web


Bab00n

Recommended Posts

boujour a tous !!

j'ai un pc sous linux avec un serveur FTP, et d'autre serveur (TeamSpeak et autre ...), je voudrais faire une page web qui puisse afficher l'état des serveur pour me dire si il sont en ligne, une page php par exemple.

Quelqu'un sais comment on peut faire sa ?

merci bcp d'avance :ouioui:

Link to comment
Share on other sites

Une des solution a mon avis les plus élégante est de crée un petit script (en php c'est aussi possible). Qui va te renvoyer le résultat de la commande /etc/init.d/proftpd status (remplace proftpd par ce que tu as comme serveur pour le FTP) et qui par la suite va ecrire ca soit dans un fichier texte. Soit dans une base de donnée (au choix selon que tu veux un résultat instantanné ou des trace de son status au cours du temps).

Biensur cette commande ne te donnera que l'état du demon ftp. Si tu veux pouvoir tester la bonne marche de la connection tu n'a qu'a essayer de lancer une connexion FTP au serveur et de regarder le code de renvoie (en mettant un time out relativement bas).

Tu fait donc un petit script comme ca que tu appelle via cron en root toutes les 1 à 5 minutes. Et apres tu te fait un page qui récuperer ce résultat et l'affichage.

Link to comment
Share on other sites

Cool merci beaucoup :ouioui:

Par contre, si je veut tester l'état de mon serveur teamSpeak je peut pas faire pareil ?, le mieu ce serai pas que j'obtienne la liste des demon qui tourne que je cherche ceux qui m'interesse et si ils n'y sont pas j'écrit que le serveur est hors ligne dans le fichier, et sinon je les met en ligne.

Pour ce qui est de la page qui recupere le resultat, elle sera sur un serveur chez free, il faut donc qu'elle lise le fichier texte sur mon serveur linux ... je sais pas encore faire sa mais je vais me renseigné un peu sur google.

Link to comment
Share on other sites

Ben l'important c'est de bien définir ce que tu veux faire exactement :chinois:

Lire un fichier texte distant n'a rien de compliqué :) un petit :

file('http://monserveur.com/lefichiergenerer');

Et ca roule :)

Pour ce qui est de lire l'etat de ton serveur teamspeak faut voir comment marche teamspeak. Ca doit aussi etre une demon lancé donc tu as surement une entrer dans /etc/init.d/ qui te permetra de voir son status.

Link to comment
Share on other sites

Une solution simple et qui ne nécessite pas d'installer quoi que ce soit sur le serveur à tester est de tenter d'ouvrir des sockets: http://no2.php.net/fsockopen

Pour tester plusieurs services, tu fais un script qui tente d'ouvrir des sockets sur chacun des ports concernés.

Si ça répond sur un port donné, c'est que normalement le service correspondant au port va bien.

Si la connection est refusée, c'est qu'aucun service n'écoute sur le port donné et que donc celui correspondant est down.

Après si t'as beaucoup de services à tester sur ta page, pour éviter qu'elle prenne trois plombes à charger en attendant les timeouts des services qui sont tombés, soit tu met les résultats en "cache" (avec une validité de genre 10mn, t'as probablement pas besoin d'avoir du "temps réel"), soit tu fais un peu d'AJAX pour dynamiquement interroger les services et afficher les résultats sur ta page.

Link to comment
Share on other sites

J'ai tester les socket, je comprend pas trop, sa fonctionne si je teste google sur le port 80 mais pas avec mon serveur TeamSpeak sur le port 8767.

voila mon code :

<?php

$port = 8767; 
$ip = "xxx.xxx.xxx.xxx"; 

$sock = @fsockopen($ip, $port, $num, $error, 5);
if (!$sock)
echo '<font color="#CC0000">Hors ligne</font>';
else{
echo '<font color="#00CC00">En ligne</font>';
fclose($sock);
}
?>

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...