Monitorer son LAN avec Php Server Monitor
Pour être sûr que toute sa domotique est toujours présente sur le réseau local, il est important de pouvoir la superviser. J’ai choisi Php Server Monitor.
Situation de départ
En rajoutant de la domotique un peu partout dans sa maison, il devient important de pouvoir s’assurer que tous ces serveurs et capteurs répondent sur le réseau. Sinon cela veut dire information erronée et potentiels problèmes à la clé.
Imaginez un script de gestion de température qui prendre sa consigne sur un capteur IOT en wifi et qu’il ne répondait plus, il pourrait faire froid au lever le matin … C’est du vécu !
Du coup, il devient primordial d’avoir un oeil sur ses équipements pour pouvoir agir au plus vite. Connaissant les applications professionnelles (centreon, zabbix, PRTG, nagios, ..), on se rend vite compte que mettre une solution comme celle-ci à la maison relève de l’utopie. On n’a pas besoin de connaitre l’état CPU/RAM/Disque de chaque équipement depuis 6 mois mais plutôt de savoir si il répond bien sur le réseau. Il faut qu’il sache donc au moins envoyer un mail en cas d’alerte.
Et le seul que j’ai trouvé qui fasse cela est Php Server Monitor.
Installation
Pour cette installation, je pars du principe que vous disposez déjà d’un serveur web et d’un serveur mysql installé. J’ai installé ce monitoring sur un Rapsberry, avec un serveur Nginx et Mysql Server.
Pour l’installation, connectez vous en SSH sur votre serveur et mettez vous dans /tmp
cd /tmp
Puis télécharger la dernière version de PhpServerMonitor ici, renommer là, dezipper là et copier la dans le serveur web.
sudo wget https://sourceforge.net/projects/phpservermon/files/phpservermon/phpservermon-3.2.0.zip/download
sudo mv download phpservermon-3.2.0.zip
sudo unzip phpservermon-3.2.0.zip
sudo mv phpservermon-3.2.0 /var/www/phpservermon
Il faut ensuite créer une base mysql
sudo mysql -u root -p
Une fois connecté au serveur, créer la base
create database phpservermonitor;
exit
Il faut ensuite se rendre sur la page web de votre serveur dans http://xxx.xxx.xxx.xxx/phpservermon et faire les réglages initiaux.
Monitorer son LAN
Maintenant que l’application est lancée, on va pouvoir monitorer son LAN en ajoutant ses hosts. Avec PhpServerMonitor, on peut monitorer de 3 façons :
- ping
- check de port (service)
- mot clé dans une page web
J’ai choisi de monitorer via un check de port car tous les éléments que je veux monitorer tournent avec des services dessus (web entre autre), mais on pourrait monitorer aussi bien le port SSH des Raspberry par exemple.
Dans l’onglet Server, on va retrouver en liste nos services monitorés. On va pouvoir en ajouter des nouveaux.
Pour l’ajout d’un serveur, c’est très simple
Dans l’onglet config, on retrouve notamment le paramétrage SMTP pour l’envoi de mail.
Dans log, on voit les évènements qui se sont produits (ici mauvais paramétrage de port au départ)
Dernière chose, la plus importante : il faut planifier un cron pour faire tourner la tache de check à intervalle régulier. J’ai choisi un intervalle de 5 min. Pour le rajouter, il faut éditer la crontab.
sudo crontab -e
Puis Ajouter la ligne (i pour passer en édition sous vi puis :wq pour sortir)
*/5 * * * * php /var/www/phpservermon/cron/status.cron.php
Enregistrer et fermer la crontab.
En explorant un peu les serveurs, vous verrez apparaitre au fur et à mesure des graphiques sur l’état de vos devices.
Alors, pas si dur hein ?