mercredi 17 juillet 2013

Comment établir un réseau télécom pour Pager (beeper) privé, en 15 minutes, afin de recevoir les alertes de monitoring serveur ?

S’il y a un homme d’affaire dont j’aime la façon de penser et de travailler, c’est bien Richard Branson. Régulièrement, dans des interviews, on le voit « travailler » sur une plage, dans un hamac, etc.

Sa philosophie est simple : pour connecter avec les bonnes idées, il faut savoir déconnecter.

Il est vrai qu’avoir une maison de vacances ne sert à « rien », si l’on est accroché à son mobile/PC en permanence.  Puisque l’été est là, je me suis intéressé à ce concept ; me déconnecter.

Dans l’absolu, je suis 100% pour mais… pour  pouvoir déconnecter mon esprit, il faut qu’il soit en paix et pour qu’il soit en paix, il faut que je sois certain que mes servers fonctionnent. Donc la quadrature du cercle est la suivante : comment déconnecter tout en restant connecté à l’ensemble des systèmes de monitoring de mes servers ?

La réponse est en fait très simple : il suffit d’uniquement recevoir les e-mails d’alertes en cas de soucis. Un téléphone mobile serait une solution mais entre les appels, les SMS, les e-mails divers pro/perso, Skype, Viber, WhatsApp, Instagram, Twitter et Facebook… Pas possible de déconnecter…

De plus, la batterie se vide en une journée et il est hors de question de revenir de la plage ou d’écourter une balade en montagne pour cause de batterie morte ! 

De plus, trop d’info tue l’info. A force d’être noyé par les appels, les SMS, les e-mails divers pro/perso, Skype, Viber, WhatsApp, Instagram, Twitter et Facebook, au final je ne lis plus les messages… Bref, le risque de passer à côté des vrais alertes est présent, même en dehors des vacances.

La réponse à mon problème serait donc un appareil spartiate qui ne fait rien d’autre que de m’informer en cas de vrai problème et qui a une durée de vie des batteries bien supérieur à celle des mobiles. La réponse à mon problème est donc un pager ou beeper pour les plus francophones d’entre nous.




Un émetteur radio pour pager peut avoir une portée allant jusqu’à un kilomètre. Il est également possible de poser des relais. Donc, pour la maison de campagne à la montagne, c’est parfait ; un relais en haut de la colline me permettant de largement couvrir la vallée. Quant à l’appart au bord de mer, la distance d’un kilomètre est parfaite aussi. Il ne restait plus qu’à mettre cela en place ;-)

D’abord le matériel. Pour cela direction la Chine.

Coup de bol : je connais le commercial de cette boite ! J’ai le tout pour 120 € !

Ensuite, il faut mettre en place la solution logicielle :
  1. Un EEPC Azus sous Windows XP (j’en ai un de stock)
  2. Le service du pager qui tourne (logiciel fourni avec l’émetteur)
  3. Consulter les e-mails de monitoring server (à « créer »)
  4. S’il y a un e-mail, transmettre cette information au service du pager (à coder)

Un système de communication avec un pager fonctionne comme les anciens systèmes de gestion des fax sur ordinateur : un service scanne un dossier en permanence. Dès qu’il trouve un document (qui dans ce cas-ci est un document texte), il le transmet à l’émetteur qui lit les instructions présentes dans ce document, et l’envoie au pager.

Pour ce faire, nous allons donc utiliser un client e-mail léger, qui va stocker les e-mails dans un fichier de type texte (mais en format *.dat). Au moyen d’un script en DOS, on va scanner ce fichier e-mails afin d’être informé de l’arrivée d’un nouvel e-mail. Lorsqu’un e-mail arrive, on va placer un message d’alerte dans le dossier qui est surveillé par le service natif de contrôle du pager.

Première étape, trouver le client e-mail léger.

Pour ce faire, je vous invite à utiliser nPOP, logiciel gratuit disponible sur : http://npopuk.org.uk/3.02/ (attention de bien télécharger la version qui supporte SSL).

Les e-mails sont stockés dans un fichier nommé : MailBox0.dat

On va donc travailler sur ce fichier avec un script DOS qui tournera en boucle.

Pour faciliter le travail, j’ai placé ce « bricolage » sur le disque D:\, dans un dossier nommé « BIPPER », qui contient les éléments suivants :



  • Email : contient le software de lecture des e-mails nPOP
  • Msg_pager : le dossier où l’on va placer les messages à destination du pager
  • Soft_pager_HM.bat : le petit programme en DOS
  • Tmp_wait.txt : un fichier temporaire

Le code de soft_pager_HM.bat :

:::  On initialise la mise en page
echo off
color 0a
@echo ----------------------
@echo Appel client e-mail
@echo %date% %time%
@echo ----------------------
:::  On lance le client e-mail
start D:\bipper\email\nPOPuk.exe
@echo %date% %time%
@echo Client e-mail OK
@echo ----------------------
@echo ----------------------
@echo ----------------------
@echo ----------------------
@echo ----------------------

:::  On initialise la synchro en créant un fichier de comparaison de référence
:setup_synchro
more "D:\bipper\email\MailBox0.dat" > "D:\bipper\email\mail_compare.dat"

::: Début de la boucle logiciel
:boucle
@echo ----------------------
@echo %date% %time%
@echo ----------------------

:::  Script de vérification d'arrivée d'e-mail
:compar_file
@fc /l /n "D:\bipper\email\MailBox0.dat" "D:\bipper\email\mail_compare.dat"
:::  On vérifie si de nouveaux emails ont été stockés
if %errorlevel == 1 (
goto alert_pager
) ELSE (
goto wait_min
)

:::  Attente
:wait_min
ping -n 22 127.0.0.1 > tmp_wait.txt
goto boucle

:::  Envoyer un message au pager
:alert_pager
@echo Transmission msg au pager
:::  On a créé le message que l'on place dans le dossier d'envoi
echo USERNO enter > D:\bipper\msg_pager\call01.txt
echo 0000001  enter >> D:\bipper\msg_pager\call01.txt
echo message ALERT srv info e-mail %date% %time% H-Bucarest >> D:\bipper\msg_pager\call01.txt
:::  On met à jour le fichier de comparaison
more "D:\bipper\email\MailBox0.dat" > "D:\bipper\email\mail_compare.dat"
:::  On va ensuite boucler

goto wait_min2

:::  On attend plus lontemps pour laisser le temps au service d'envoyer le msg au pager
:wait_min2
ping -n 44 127.0.0.1 > tmp_wait.txt
goto boucle

Et voilà; vous êtes l'heureux gestionnaire de votre propre réseau de pager :-)

Le fichier est nommé call01.txt. On peut en créer jusqu'à 99, soit jusque call99.txt. Cela permet donc de préciser le transfert de message précis à des pagers précis. Dans l'entreprise, je pourrais donc mettre en place des filtres d'alerte en transmettant les alertes niveau 1 à certains membres de l'équipe de support et les alertes plus importantes aux ingénieux réseaux/systèmes.

Bien entendu, il s'agit d'un bricolage effectué en 15 minutes. On pourrait faire mieux et plus propre... mais ce sont les vacances et ce système est totalement fonctionnel (^_^)

Si vous voulez pousser les expérimentations plus avant, voici une vidéo d'un controleur de pager sous Raspberry:


Bon bricolage et bonnes vacances à tous et toutes.

Aucun commentaire:

Publier un commentaire