2010-08-04 4 views
1

i essayer de faire un script pour vérifier si mon serveur sont en ligne ou hors ligne:Check serverlist hors ligne/en ligne PHP

<? 

    $server = "12.34.56.78"; 

    $check = @fsockopen($server, 22); 

    if ($check) { 
     @fclose($check); 
     echo "online"; 
     exit; 
    }else{ 
     echo "offline"; 
    } 

?> 

donc fonctionne ce script, mais comment puis-je faire le script que je peux vérifier plus une adresse IP?

Salutations, matthias

Répondre

2
$servers = Array("server1", "server2"); 

foreach ($servers as $server) { 
    // same as before 
} 
2
function checkServerOnline($server, $port = 22) { 
    $check = @fsockopen($server, $port); 
    if ($check) { 
     @fclose($check); 
     return true; 
    } else { 
     return false; 
    } 

Ensuite, vous pouvez l'appeler avec différentes combinaisons de ports-serveur.

+0

grâce ceci est une bonne réponse aussi – Sebastian

1

Il y a open source tools pour cela facilement disponible.

Check out Nagios - The Industry Standard In Open Source Monitoring:

Nagios est un système de contrôle puissant qui permet aux entreprises d'identifier et de résoudre les problèmes d'infrastructure avant affectent les processus critiques de l'entreprise.

Nagios surveille l'ensemble de votre infrastructure informatique pour s'assurer que les systèmes, les applications, les services et les processus métier fonctionnent correctement. En cas d'échec, Nagios peut alerter le personnel technique du problème, lui permettant de commencer les processus de correction avant que les interruptions affectent les processus métier, les utilisateurs finaux ou les clients. Avec Nagios, vous ne serez jamais obligé d'expliquer pourquoi une panne d'infrastructure invisible nuit aux résultats de votre entreprise.

+0

merci, mais je pense que cela est un peu à Mutch :-) – Sebastian