Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
2033 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  App monitoring de serveur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

App monitoring de serveur

n°2298102
tuxxys
Posté le 22-03-2017 à 10:36:29  profilanswer
 

Bonjour,  
 
J'essaye de pinger un serveur (windows server r2) depuis un autre serveur Debian mais ça ne marche pas.
 
Pourtant le serveur debian arrive à pinger le serveur windows.
 
Et un ping "google.fr" ou "localhost" marche avec mon script.
 
Et mon timer pour vérifier le temps d'éxécution du ping affiche toujours 0
 

Code :
  1. //Connaître l'état des serveur
  2.               $ipServ = "192.168.200.33";
  3.               $ipServWeb = "localhost";
  4.               $compteur = 0;
  5.               $compteurWeb = 0;
  6.               function wowstatus($ip,&$compteur)
  7.               {
  8.                   error_reporting(0);
  9.                   $timestart=microtime(true);
  10.                   $sock = fsockopen($ipServ, 80, $errno, $errstr, 30);
  11.                   if (!$sock) {
  12.                       echo "<b style=\"color:red\">Hors Ligne</b>";
  13.                       //Fichier compteur
  14.                       $monfichier = fopen('compteur.txt', 'r+');
  15.                       $pages_vues = fgets($monfichier);
  16.                       $pages_vues += 1;
  17.                       fseek($monfichier, 0);
  18.                       fputs($monfichier, $pages_vues);
  19.                       fclose($monfichier);
  20.                   } else {
  21.                       echo "<b style=\"color:green\">En Ligne</b>";
  22.                       //Afficher le temps d'éxecution
  23.                       $page_load_time = number_format($time, 3);
  24.                       echo "<br /><br />Temps pour se connecter au serveur " . $page_load_time . " sec";
  25.                   }
  26.               }
  27.               function gmodstatus($ipServWeb,&$compteurWeb)
  28.               {
  29.                     error_reporting(0);
  30.                     $timestart=microtime(true);
  31.                     $sock = fsockopen($ipServWeb, 80, $errno, $errstr, 30);
  32.                     if (!$sock) {
  33.                         echo("<b style=\"color:red;\">Hors Ligne</b>" );
  34.                         //Fichier compteur
  35.                         $monfichier = fopen('compteurWeb.txt', 'r+');
  36.                         $pages_vues = fgets($monfichier);
  37.                         $pages_vues += 1;
  38.                         fseek($monfichier, 0);
  39.                         fputs($monfichier, $pages_vues);
  40.                         fclose($monfichier);
  41.                     }
  42.                     if ($sock) {
  43.                         echo("<b style=\"color:green;\">En Ligne</b><br />" );
  44.                         //Afficher le temps d'éxecution
  45.                         $page_load_time = number_format($time, 3);
  46.                         echo "<br>Temps pour se connecter au serveur " . $page_load_time . " sec";
  47.                         fclose($sock);
  48.                     }
  49.                }
  50.               $monfichier = fopen('compteur.txt', 'r+');
  51.               $monfichierWeb = fopen('compteurWeb.txt', 'r+');
  52.               $ligne = fgets($monfichier);
  53.               $ligneWeb = fgets($monfichierWeb);
  54.               echo 'Heure du dernier test : ',date('d/m/Y H:i:s'),'<br /><hr/><br />';
  55.               echo 'Status serveur : ',wowstatus($ipServ,$compteur), '<br  />';
  56.               echo 'Nombre de fois ou le serveur a été hors ligne : ' ,$ligne,  '<hr/><br />';
  57.               echo 'Status serveur WEB&nbsp; : ',gmodstatus($ipServWeb, $portgmod,$compteurWeb),'<br />';
  58.               echo 'Nombre de fois ou le serveur WEB a été hors ligne : ' ,$compteurWeb, '<hr/>';
  59.               fclose($monfichier);
  60.               $timeend=microtime(true);
  61.               $time=$timeend-$timestart;


 
http://img4.hostingpics.net/pics/448298serv.png


Message édité par tuxxys le 22-03-2017 à 14:44:15
mood
Publicité
Posté le 22-03-2017 à 10:36:29  profilanswer
 

n°2298125
rufo
Pas me confondre avec Lycos!
Posté le 22-03-2017 à 16:29:58  profilanswer
 

Pourquoi tu passes par les sockets et non par shell_exec() auquel tu passerais la même ligne de commande que celle que tu passes via la console ?
 
Edit : pour ton pb de temps à 0, c'est un peu normal : $timestart est déclaré comme variable locale à tes 2 fonctions  :sarcastic:


Message édité par rufo le 22-03-2017 à 16:31:07

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2298162
tuxxys
Posté le 23-03-2017 à 09:11:22  profilanswer
 

parfait ça marche !
Pour le timer je vois pas ou mettre le timestart :/


Message édité par tuxxys le 23-03-2017 à 10:36:49
n°2298165
rufo
Pas me confondre avec Lycos!
Posté le 23-03-2017 à 10:15:02  profilanswer
 

PHP est cross OS. Lis un peu la doc, tu verras que tu te trompes. Après, je ne dis pas que la ligne de commande à exécuter par l'OS sera identique. Tout ce que tu auras à faire, c'est détecter l'OS (ou le configurer dans une variable de conf) et en fonction de l'OS faire exécuter par shell_exec() la bonne ligne de commande.
 
Au passage, tu verras que le terme "shell" est beaucoup plus utilisé dans le monde Linux que Windows. Y'a qu'à voir le nb de shell différents qui existent sur cet OS (bash, ksh...). Sur Windows, on parle plus de cmd, console, DOS voire maintenant, plus moderne, Powershell pour rattraper le retard que Windows avait sur Linux.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  App monitoring de serveur

 

Sujets relatifs
Ecrire un fichier sur le serveur en JavascriptApache : Alias sur un serveur distant
PHP - Apache, best practices pour serveur multi sites[C][pthreads] Probleme deconecton serveur client avec socket
Serveur Web Local (*AMP) Partagé entre Windows et LinuxClient & Serveur
Executer un script PowerShell depuis un serveur distantR - Modifier du html & l'envoyer à un serveur via httr
Client/Serveur Python[python] conseil pour la création d'un serveur de jeux
Plus de sujets relatifs à : App monitoring de serveur



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR