-
Notifications
You must be signed in to change notification settings - Fork 0
Démon Ping
Cette fonctionnalité permet à Winlog de démarrer un démon qui va pinguer en boucle toutes les machines connues et remonter les résultats en base de données.
Il est nécessaire au préalable d'installer l'utilitaire fping sur le serveur Winlog.
Debian / Ubuntu
sudo apt install fping
Red Hat / Centos
sudo yum install fping
Avant d'aller plus loin, il nécessaire de s'assurer que le serveur Winlog peut pinguer les machines qu'il surveille.
fping adresse_ip_d_une_machine_du_parc
Si aucune réponse n'est obtenue, il faut s'assurer par exemple :
- que le protocole ICMP est bien autorisé sur le réseau du serveur Winlog vers les machines du parc,
- que l'antivirus ou le pare-feu de la machine interrogée ne bloque pas le ping,
sans quoi le démon ping fonctionnera quand même mais ne remontera aucune donnée à Winlog.
Il convient ensuite d'ajuster les droits sur certains fichiers dans le répertoire admin/ping/
:
- les fichiers
winlog_ping.conf
,liste_ip.txt
,liste_ping.txt
etping_error.log
doivent être accessibles en lecture/écriture à l'utilisateur apache/php (www-data sur les systèmes Ubuntu par exemple). - les fichiers
winlog_ping.sh
,winlog_start_ping.sh
etwinlog_stop_ping.sh
doivent être exécutables par cet utilisateur.
Enfin, il suffit d'éditer le fichier winlog_admin_conf.php
pour paramétrer le ping.
Il est probable qu'il n'y ait rien à faire si les réglages par défaut conviennent (voir en bas de page, l'intégralité du fichier).
Les valeurs à vérifier ou à modifier sont essentiellement celles-ci :
Pour activer/désactiver le mode ping :
// Le démon de ping doit-il être activé. Mettre à false pour désactiver.
$mode_ping = true;
Le timeout est le temps maximal d'attente d'une réponse d'une machine au ping :
// timeout si pas de réponse au ping en milliseconde
$ping_timeout = 100;
La localisation du binaire php sur le système est impérative :
// chemin vers php : où se trouve le moteur php sur le système
$php_path = "/usr/bin/php5";
Au bout de quel délai la couleur des machines n'ayant pas encore répondu à au moins un ping change-t-elle dans la console d'administration de Winlog :
// seuil de temps en secondes avant changement de couleur du statut "pinguée" d'une machine
$seuil_couleur_ping = 120;
À chaque clic sur le menu Ajout/mise à jour de machines ou de salles
de la section Gestion du menu principal de la console d'administration, l'ensemble des adresses IP déjà collectées par Winlog sont transmises au démon ping et celui-ci est relancé.
À partir de ce moment, les machines des plans de salles qui ont répondu au ping depuis un délai inférieur à $seuil_couleur_ping
prennent une couleur verte si aucune connexion Windows n'est en cours.
Par ailleurs, dans la liste générale des connexions Windows en cours, si une machine devait n'avoir plus répondu au ping depuis un moment alors que Winlog continue de voir une connexion active, le nom de la machine est alors grisé.
Enfin, chaque fois que le pointeur de la souris passe sur un nom de machine, un pop-up indique à la seconde, minute, heure ou jour près , le temps écouté depuis la dernière réponse au ping.
À partir du menu général, en cliquant sur le lien Arrêt ping
de la section Gestion, le démon est explicitement arrêté s'il tournait.
Note : si le démon est en cours d'exécution, le fait de changer $mode_ping
de true
à false
dans le fichier de configuration winlog_admin_conf.php
ne l'arrête pas. Il faut le stopper explicitement par le lien Arrêt ping
.
// Ping : s'appuie sur la commande système fping
// NOTE : tous les chemins doivent être absolus ! l'utilisateur apache www-data ne connait pas forcément l'environnement.
// Le démon de ping doit-il être activé. Mettre à false pour désactiver.
$mode_ping = true;
// fichier de configuration bash du démon de ping
$winlog_ping_conf = "/var/www/html/admin/ping/winlog_ping.conf";
// fichier de la liste d'adresses IP à pinger (fichierIN), doit être accessible en lecture/écriture
$fichier_liste_ip = "/var/www/html/admin/ping/liste_ip.txt";
// ficher de la liste des adresses ayant répondu au ping (fichierOUT), doit être accessible en lecture/écriture
$fichier_liste_ping = "/var/www/html/admin/ping/liste_ping.txt";
// timeout si pas de réponse au ping en milliseconde
$ping_timeout = 100;
// fichier bash de lancement du démon, doit être éxecutable (ne pas modifier)
$winlog_start_ping = "/var/www/html/admin/ping/winlog_start_ping.sh";
// fichier bash d'arrêt du démon, doit être éxecutable (ne pas modifier)
$winlog_stop_ping = "/var/www/html/admin/ping/winlog_stop_ping.sh";
// fichier bash du démon pinger, doit être éxecutable (ne pas modifier)
$winlog_ping = "/var/www/html/admin/ping/winlog_ping.sh";
// fichier de log
$winlog_ping_error = "/var/www/html/admin/ping/ping_error.log";
// mode debug : mettre à true pour voir les erreurs dans ŵinlog_ping_error.log
$winlog_ping_debug = false;
// chemin vers php : où se trouve le moteur php sur le système
$php_path = "/usr/bin/php5";
// chemin vers le script winlog de collecte des résultats du ping
$winlog_get_ping = "/var/www/html/admin/get_ping.php";
// seuil de temps en secondes avant changement de couleur du statut "pinguée" d'une machine
$seuil_couleur_ping = 120;