Jouons un peu : Watchdog

De GCE Electronics
Aller à la navigation Aller à la recherche


Cette page a servi de base à la création des pages par expérience.

La conclusion reste à reprendre.



Présentation

Le périphérique Watchdog de l'IPX800 V4 permet de « pinguer » un périphérique, un serveur ou tout autre élément connecté afin de vérifier que ce dernier est en ligne. Lorsque l'élément en question n'est plus joignable, l'état du Ping watchdog passera à 1 :

La page permet de configurer 32 presets de Ping. Sur chacun d'eux, il est possible de fixer le nombre d'échecs à rencontrer avant que le périphérique Watchdog passe à l'état ON.

La page permet également de régler l'intervalle de temps (en secondes) qui sépare 2 PING.

Nous allons étudier un peu le comportement du Watchdog. Pour cela, nous allons créer quelques scènes simples, et nous pourrons aller plus loin avec la programmation de widget en javascript.

Configurez votre Watchdog

Allez dans le menu Administrateur/Périphériques

Ping1

régler l'intervalle de temps entre deux pings

Tous les Ping activés s'effectuent toutes les « x » secondes les uns après les autres.

Aucun Ping n'est effectué tant que le temps entre deux Ping n'est pas défini et différent de 0.

Réglez le sur 1 seconde et sauvegardez avec le bouton en bas à droite.

Remarque : la valeur maximale est 256.

créer les presets

Cliquez sur la ligne du premier Preset :

Ping2

Renseignez l'adresse IP locale de votre Smartphone en wifi (192.168.0.205 dans notre exemple)

Pour connaître l'adresse IP de votre téléphone sur votre réseau Wifi, vous pouvez soit y installer une application ou un widget qui vous donnera l'information, soit vous rendre sur l'interface de gestion de votre Box ADSL.

Renseignez 1 pour le nombre d'échecs à atteindre avant que le périphérique Watchdog passe à l'état ON.

Remarque : la valeur maximale est 4.

De la même manière, créez un second Preset, cette fois avec l'adresse IP de la box ADSL (192.168.0.254 dans notre exemple)

Ping2


A ce stade, l'IPX800 a déjà commencé à émettre les pings vers le téléphone et la box Adsl, nous allons voir comment intercepter les résultats.

Expérience 1 : Observer le changement d'état

L'indicateur Ping Watchdog

Sur notre tableau de bord, nous voulons voir la joignabilité de nos matériels connectés (Box et Smartphone). Nous allons donc devoir ajouter un Widget sur le dashboard.

Vous constaterez qu'il existe un widget nommé "Indicateur Ping Watchdog" .

Ajoutons ce widget à notre tableau de bord.

Ping5a

Nous obtenons cela

Ping5c

Le Watchdog étant ON lorsque le Ping est en échec, nous avons choisi la couleur rouge.

Rapidement, nous pouvons voir que

  • le smartphone est injoignable sur le réseau (la pastille 1 est rouge).
  • La box Adsl est joignable. La pastille 2 est éteinte.

Les sorties virtuelles

Pour aller plus loin avec le périphérique Watchdog, nous allons voir comment interagir avec lui.

Pour notre expérience, lions l'état du Watchdog à des sorties virtuelles.

Pour cela, il faut écrire un scénario :

Ping5

Nous obtenons alors une visualisation de l'état de la sortie virtuelle, qui reflète l'état de notre Watchdog (Ping 1 vers smartphone)

Remarque : afin que l'état des sorties virtuelles ne puisse pas être modifié accidentellemnt, nous avons désactivé le pilotage manuel de ces sorties à la création du widget (Contrôle : NON)


La sortie Virtuelle est ON (verte) lorsque le ping échoue (matériel injoignable), la sortie est OFF lorsque le ping réussi (matériel joignable).

Ping6 Ping7


Exercice 1 : Nous voulons visualiser l'état du Ping vers la box ADSL

Ajoutez un scénario ou un widget si nécessaire.


Voir la solution

Bien sûr, il est nécessaire de créer un scénario qui va lier l'état du périphérique Watchdog en fonction du Ping 2. L'état sera visible grâce à la sortie virtuelle n°2.

Ping8

Pour la visualisation de la sortie virtuelle, nul besoin d'ajouter un widget. Celui que nous avons ajouté précédemment, affiche les sorties virtuelles de 1 à 32.


nécessaire et un wPour visualiser l'état du Ping vers la box ADSL, il suffit d'ajouter un scénario qui active la sortie Virtuelle n°2 en fonction de l'état du Ping 2.

Vous devriez donc obtenir la visualisation des 2 sorties virtuelles sur le même widget

Ping9

Pilotage Sorties Virtuelles

Pour visualiser l'état de la sortie virtuelle n°1, nous pouvons ajouter un widget de type "Pilotage Relais/Entrées virtuelles/ sorties virtuelles"

Ping10

Nous obtenons alors un bouton dont l'état reflète celui de notre Watchdog (Ping 1 vers smartphone).

Remarque : afin que la sortie virtuelle ne puisse pas être pilotée accidentellement, nous avons désactivé le contrôle.

La sortie Virtuelle est ON (verte) lorsque le ping échoue (smartphone injoignable), la sortie est OFF lorsque le ping réussi (smartphone joignable).

Ping11 Ping12


Exercice 2 : Nous voulons visualiser l'état du Ping vers la box ADSL

Ajoutez un scénario ou un widget de Pilotage de sortie virtuelle si nécessaire.


Voir la solution

Si vous ne l'avez déjà fait dans l'exercice prédécent, il est nécessaire de créer un scénario qui va lier l'état du périphérique Watchdog en fonction du Ping 2 à la sortie virtuelle n°2. L'état du Ping sera visible grâce à la sortie virtuelle n°2.

Ping8

Pour la visualisation de la sortie virtuelle, il faut ajouter un widget.

Ping13

Vous devriez obtenir ce widget

Ping14 Ping15


Exercice 3 : Nous voulons inverser l'état des sorties virtuelles

Nous avons constaté que nos widgets de pilotage des sorties virtuelles étaient ON (vert) lorsque le Ping Watchdog échouait (matériel injoignable).

Comment feriez vous pour avoir des widgets de pilotage allumés vert lorsque les matériels sont joignables, et éteints lorsqu'ils sont injoignables ?


Voir la solution

Le widget n'est pas personalisable. Il est donc impossible de modifier les couleurs. De manière immuable, il est vert lorsque la sortie virtuelle correspondante est ON, éteint lorsque la sortie virtuelle est OFF. Il va donc falloir intervenir dans le scénario. Un état ON du Watchdog (Ping en échec) doit pouvoir éteindre la sortie virtuelle, tandis qu'un Ping réussi doit pouvoir l'allumer. Pour cela, nous allons modifier l'évènement de nos scénarii qui lient le Watchdog à chaque entrée. Pour inverser la logique de fonctionnement, nous aurons donc recours au Bloc NON.

Ping16

En ce qui concerne les widget indicateurs d'état des sorties virtuelles : l'état de la sortie virtuelle est inversé par rapport à celui du périphérique Watchdog. l'indicateur éteint signifie donc que le matériel est injoignable l'indicateur allumé signifie que le matériel est joignable.

Pour chaque widget de "Pilotage Relais/Entrées virtuelles/Sorties virtuelles", il faut adapter le libellé du bouton, en inversant le Texte ON et le texte OFF.

Ping17 Ping18

QUIZZ

  • Q1 : Vrai ou faux : la sortie virtuelle est active lorsque le téléphone est joignable sur le réseau ?
Réponse

Faux. La sortie virtuelle est active lorsque le périphérique Watchdog est activé. Cela signifie que toutes les tentatives de ping ont échoué.

  • Q2 : Vrai ou faux : La sortie virtuelle sera ON lorsque le réseau internet coupera ?
Réponse

Faux. L'adresse IP du téléphone étant l'adresse locale (192.168.xx.xx), l'état du réseau internet est alors inconnu.

  • Q3 : Vrai ou faux : Dans le scénario de l'exercice 3, l'évènement NON WATCHDOG permet d'éxécuter la scène lorsque le Ping a réussi ?
Réponse

Vrai. Le périphérique Watchdog se met à l'état ON lorsque les tentatives de ping ont échoué. Un scénario exécute l'action si et seulement si toute la condition de la clause Evènement est vraie. Donc lorsque le ping réussit, le Watchdog passe OFF (faux). Le bloc NON vient donc inverser cette logique et rend la condition vraie.

Conclusion : le scénario exécute bien l'action lorsque le ping réussit (le watchdog est OFF).

  • Q4 : Si je règle un intervalle de 30 secondes entre chaque ping, et si je règle 4 tentatives pour le ping vers ma box ADSL en adresse 192.168.1.1, combien de temps mettra le watchdog pour s'activer après coupure de mon réseau internet par le FAI ?
Réponse

la réponse est jamais. Le ping se fait sur l'adresse locale, pas l'adresse publique. Pour connaître l'état du réseau internet, il faudrait que le ping soit dirigé vers une adresse publique d'un serveur situé à l'extérieur.

  • Q4 : Si je règle un intervalle de 120 entre chaque ping, et si je règle 4 tentatives pour le ping vers ma box ADSL en adresse 192.168.1.1, combien de temps mettra le watchdog pour s'activer après extinction de la box Adsl ?
  1. moins de 4 minutes ?
  2. entre 4 et 6 minutes ?
  3. entre 6 et 8 minutes ?
  4. entre 8 et 10 minutes ?
  5. plus de 10 minutes ?
Réponse

Avant extinction de la box, le périphérique Watchdog est OFF, le matériel est joignable. 120 secondes maximum après la coupure, le ping suivant compte 1 échec. Puis toutes les 120 secondes, un ping suivant compte un échec supplémentaire. Lorsque le décompte arrive à 4 échecs, le watchdog passe ON, je sais que ma box est injoignable. Voyons cela sur un graphique :

Ping19

La bonne réponse est donc la réponse 3, entre 6 et 8 minutes.

Expérience 2 : Comptage, chronométrage et reboot de la box Adsl

Prérequis : vous devez avoir configuré votre Watchdog, fixé l'intervalle entre deux pings et créé vos Presets (voir plus haut).

Nous voulons observer le nombre de fois que les pings échouent, ainsi que la durée d'un cycle.

Selon la documentation, nous connaissons 2 principes de base

  • le périphérique Watchdog passe à l'état ON lorsque le nombre de tentatives a été atteint et qu'elles se sont toutes soldées par un échec.
  • un intervalle de temps s'applique entre chaque tentative de ping.

Le temps nécessaire pour que le Watchdog passe à l'état ON avec nos réglages est de 1 seconde

Avec nos réglages, 1 ping est émis chaque seconde, nous nous contentons d'1 réponse pour déterminer l'accessibilité du dispositif connecté.
Le périphérique Watchdog est donc susceptible de changer d'état toutes les 1x1 seconde.
Si nous avions réglé un intervalle de 3 secondes et 2 tentatives, notre Watchdog aurait un cycle de 6 secondes.

Si le réseau local est coupé pendant quelques minutes, le périphérique passera ON dès que le périphérique ne sera plus joignable, pour ne repasser OFF qu'au rétablissement du réseau.

Sur cette constatation, il nous est impossible de connaître le nombre total de tentatives réalisées, ni la durée de l'indisponibilité du réseau. Si nous voulons mettre en place un système automatique de surveillance et de dépannage de la disponibilité du réseau, nous aurons besoin de ces informations.


Le Chronomètre

Il nous faut un chronomètre pour déterminer la durée de l'indisponibilité du réseau.

Nous connaissons l'intervalle de temps entre chaque ping, ce même chrono nous servira également à "découper" le cycle du Watchdog en tentatives de Ping afin de les compter. Nous allons utiliser une sortie viruelle, que nous ferons "clignoter" toutes les secondes (Ta=0, Tb=1s). Ce sera notre métronome.

Dans le menu Périphériques, allons paramétrer notre sortie virttuelle :

Ping 20

Pensez à sauvegarder (bouton en bas de l'écran).

Il faut un scénario pour faire "clignoter" la sortie virtuelle. Pour des raisons que nous verrons plus tard, créons ce scénario en scène 5 ou supérieure.

Ping 21

Si la sortie virtuelle 1 n'est pas active, nous l'activons. Grâce au paramètre Tb=1 seconde, la sortie virtuelle repasse automatiquement à l'état OFF au bout de 1 seconde.

C'est cet évènement que nous utiliserons comme déclencheur dans nos scénarii à venir.

Le scénario ci-dessus réactive sans cesse la sortie virtuelle. Nous avons notre métronome.

Notre chronomètre sera créé à l'aide d'un compteur qui sera incrémenté au rythme du métronome.

Les compteurs

Nous allons mettre 3 compteurs en place :

  • le 1er pour chronomètre
  • le second pour compter les Pings en échec.
  • le troisième pour compter les Pings aboutis

Dans le menu Périphériques, initialisons nos compteurs :

ping 22


Pings en échec

Nous savons que le périphérique Watchdog passe à l'état ON pour un Preset lorsque toutes les tentatives de pings ont été vouées à l'échec. Nos réglages nous permettent de savoir qu'une tentative a lieu chaque seconde. Il suffit donc de compter les secondes pour connaitre le nombre de tentatives.


Ecrivons le scénario : Nous allons utiliser notre métronome. Chacun de ses passages à l'état OFF incrémentera le compteur de Pings en échec. Nous n'oublierons pas d'incrémenter notre chronomètre.


ping 23c

Vous pouvez constater que nous utilisons l'état OFF de notre métronome. Ce scénario devra donc obligatoirement être placé avant la scène qui réactive la sortie virtuelle n°1, sinon, il ne sera jamais exécuté.

Nous le placerons en scène 1.

Pings aboutis

Nous savons que le périphérique Watchdog passe à l'état OFF pour un Preset lorsque toutes les tentatives de pings ont abouti. Comme ci-dessus, nous allons compter les secondes pendant l'état OFF du périphérique Watchdog pour incrémenter le nombre de pings, mais n'incrémenterons pas le chronomètre. Il faudra utiliser le bloc "NON" afin d'inverser la logique de l'évènement basé sur l'état du périphérique Watchdog. Ce scénario devra également être placé avant la scène de réactivation de la sortie virtuelle n°1.

Nous le placerons en scène 2.


Ecrivons le scénario : Chaque passage à OFF du métronome incrémentera le compteur de Pings aboutis. Nous n'oublierons pas d'incrémenter notre chronomètre.

ping 24

Lorsque le périphérique Watchdog change d'état, il faut penser à remettre le chronomètre et les compteurs de pings à zéro.

Ecrivons la scène 3 :

ping 25

L'affichage

Nous avons 3 compteurs à afficher. Nous allons créer un widget pour chacun d'eux.

Sur le tableau de bord, ajoutez un Widget du type "Compteur" et sélectionnons le compteur n°2 (Pings OK)

Ping 26

Faisons de même pour le compteur 3 (Pings KO) et le compteur 1 (Chrono)

Nous obtenons cet ensemble :

Ping 27

Sur la capture d'écran vous constatez que le comptage des pings vers mon smartphone a commencé automatiquement, et s'incrémente à chaque seconde.

Comme nous l'avons vu plus haut, le périphérique Watchdog fonctionne dès que l'intervalle est réglé avec une valeur différente de zéro.

Les Presets étant créés, l'IPX800 a lancé les pings automatiquement.

Si je coupe le wifi sur mon smartphone, voici ce que j'obtiens :

Ping 28

Le compteur de pings en échec s'incrémente à chaque seconde, de même pour le chronomètre.

Exercice

Coupez et rétablissez le wifi sur votre smartphone, observez l'évolution des compteurs.

Reboot de la box Adsl

Maintenant que nous savons dire depuis combien de temps un dispositif est injoignable sur le réseau. Nous pourrions mettre cela en application pour surveiller une box Adsl, et la redémarrer si nécessaire au bout d'un certain temps. Pour cela, nous imaginerons avoir connecté une prise sur le relais n°1 de l'IPX800, la box Adsl serait alimentée à partir de cette prise commandée. Afin de ne pas laisser le relais de l'IPX800 sous tension en permanence, la connexion sera faite sur les bornes NF du relais 1 (bornes 1 et 2). Pour rebooter la box ADSL, il suffira d'activer temporairement le relais, puis de le remettre au repos. Cela provoquera une coupure de courant temporaire sur l'alimentatin de la box et donc un redémarrage.

Le relais

Sur la sortie Relais N°1, nous allons utiliser le paramètre Tb qui permettra une désactivation automatique du relais après un délai arbitrairement établi à 1 seconde. L'alimentation de la box sera donc rétablie automatiquement après 1 seconde de coupure.

Dans le menu Administrateur/Périphérique, réglons notre sortie Relais n° 1


ping 29

Les scènes

Précédemment, nous avons écrit nos scènes avec le Preset "Ping 1" qui émet les commandes vers le smartphone. Pour ce qui suit, nous devrions modifier tous les blocs Watchdog afin d'utiliser le Preset 2 (Ping vers la box Adsl). Mais nous ne le ferons pas, et continuerons à utiliser notre smartphone afin de facilier les simulations de coupures du réseau. Au lieu d'éteindre la box ou de débrancher son câble réseau, il suffira de couper le wifi du smartphone.

Nous voulons donc piloter le relais n°1 en fonction d'un nombre de pings en échecs, ou d'un chronomètre.


Il va donc falloir créer un scénario pour cela

Ecrivez la scène 6 :

ping 30

Remarque : la sortie relais n°1 ayant été réglée pour retourner automatiquement au repos au bout de 1 seconde, dans notre scène, nous ne gèrerons que la commande ON

L'affichage

Pour visualiser l'état du relais, créez ce widget de type "Pilotage

ping 31

Nous obtenons ce widget

ping 32 ping 33

Remarque : Nous avons laissé le paramètre "Contrôle" à OUI, cela permettra de redémarrer manuellement la box à partir du widget.


Conclusion

Nous avons pu superviser le bon fonctionnement d'un réseau, la disponibilité d'un dispositif (smartphone, box adsl). Cela peut nous permettre la mise en place d'une supervisionactive, avec prise de décision (redémarrage du matériel) lorsque nécessaire.

Pour surveiller une connexion ADSL, il faudra "pinguer" plusieurs serveurs de fournisseurs différents. Cela permettra de ne pas redémarrer la box Adsl si la panne est chez le fournisseur.

Pour surveiller un réseau local, il faudra surveiller 2 dispositifs au minimum afin d'adapter les actions à mener :

Exemple, surveillons une IPX800 V3 et un PC

cas 1 : l'IPX800 V3 répond aux pings, pas le PC => redémarrer le PC devrait résoudre le problème. Il convient de notifier l'administrateur afin qu'il mène à bien ce redémarrage.

Cas 2 : l'IPX800 V3 ne répond pas aux pings, contrairement au PC => redémarrer l'IPX800 devrait résoudre le problème. Cela pourrait être automatisé sur un relais comme vu précédemment.

Cas 3 : L'ipx800 V3 répond, le PC également. => c'est certainement cet IPX800 V4 qui rencontre un problème de réseau, il faut la redémarrer. Il est inutile de redémarrer les autres matériels.

Vous avez de quoi continuer à jouer seuls, n'hésitez pas à expérimenter.