Bonjour à tous,

 

Aujourd’hui nous allons voir comment installer et configurer PHP Server Monitor, mais tout d’abord, on va voir ce que c’est !

 

 

A quoi ça sert ?

PHP Server Monitor est comme vous l’aurez surement compris un outil de monitoring simple, léger et puissant qui vous permettra de surveiller n’importe quel site web ou n’importe quel service accessible depuis le réseau par un port défini.

 

L’intérêt que j’ai trouver à cette solution, c’est qu’elle est très légère, et parfaitement suffisante aux besoins d’un particulier, d’une petite entreprise ou d’un webmaster.

Depuis un seul endroit vous pourrez surveiller que votre site web, vos bases de données et vos serveurs mails fonctionnent bien par exemple.

 

Exemple concret

Dans une entreprise, on a un réseau local avec un serveur qui va gérer toutes les tâches de type partage de fichier avec du SMB (Windows) ou Samba (Linux), du FTP et le réseau avec des services DNS et DHCP.

Ensuite, en externe, nous avons le serveur web de l’entreprise qui intègre aussi un service de bases de données pour le site web de l’entreprise.

Nous allons aussi surveiller les serveurs mails de notre fournisseur externe type OVH ou Orange par exemple.

En schéma, ça donne ça :

test

 

Pré-requis :

Dans la liste des pré-requis, il va d’abord nous falloir le serveur qui va héberger PHP Server Monitor.

Le plus important, c’est de ne pas mettre PHP Server Monitor sur un serveur que l’on souhaite surveiller, car si le serveur tombe en panne, l’outil ne vous servira à rien !

 

Ma préférence, comme d’habitude, se porte sur un Debian, suivez cet article précédent pour avoir un serveur qui aura tous les pré-requis pour installer PHP Server Monitor.

Téléchargez PHP Server Monitor depuis le site officiel.

Une fois que vous avez correctement configuré votre serveur, créez un utilisateur de base de donnée, une base de donnée, et installer PHP Server Monitor, rien de transcendant.

 

Chose importante, il va falloir répertorier les ports que l’on veut surveiller, notez que sur la liste que je vais faire, je vais mettre une double surveillance du site web, et par HTTP, et par écoute sur le port 80.

 

Les services Internes :

  • FTP : Port 21
  • SMB : Port 445
  • DNS : Port 53
  • DHCP : Port 67

Les services Externes :

  • Site Web : http://www.votre-site.com
  • Service Web : Port 80
  • Base de donnée : Port 3306 (Configuration Mysql)
  • Serveur Mail : Port 110 pour le serveur entrant / Port 587 pour le serveur sortant (Configuration OVH)

 

Configuration dans PHP Server Monitor :

 

Création des checks

Connectez vous et cliquez sur Serveurs en haut à gauche, ensuite, cliquez sur + Nouveau.

 

phpservmonit2

 

 

On va commencer par configurer un site web pour l’exemple, remplissez les champs comme demandé, et choisissez bien « Site Web » dans le champ « Type ». Aucun besoin de renseigner le port, si votre site est sur le port 80.

phpservmonit3

 

Lorsque vous cliquez sur enregistrer, vous êtes renvoyer à l’accueil, et là, votre site devrait apparaître en vert :

phpservmonit4

 

Maintenant, on refait la procédure pour ajouter un service cette fois ci, par exemple pour du ftp :

phpservmonit5

 

Et pareil que pour le web, en arrivant sur la page principale, ça devrait être vert :

phpservmonit6

 

 

Configuration des notifications

Maintenant nous allons régler les notifications.

Pour cela, cliquez sur « configuration » dans la barre du haut :

phpservmonit8

 

Ensuite, j’ai choisi d’être notifier a chaque changement d’état , et par e-mail :

phpservmonit9

 

phpservmonit10

 

 

Création de la tâche cron

Ensuite, le plus important, la création de la tâche cron.

Tout d’abord, vous devez savoir le chemin pour arriver au fichier status.cron.php de situé dans le dossier cron de votre installation de PHP Server Monitor.

Connectez vous en ssh sur votre serveur, et tapez la commande suivante :

crontab -e

 

Ensuite, créez votre commande pour éxecuter le fichier status.cron.php. Par exemple, chaque minute :

*/1 * * * * php /var/www/cron/status.cron.php

 

Et voilà, votre plateforme de monitoring simple et efficace est fin prête !

 

Cas réel :

Je me sert personnellement de cet outil pour surveiller mon VPS de production où The Abyss Project est hébergé.

 

Plan du réseau :

phpservmonit12

 

Résultat final :

phpservmonit11

 

Le fait que les 2 vps soient dans le même datacenter OVH explique la latence pour ceux que ça titillerait 🙂

phpservmonit13