Surveiller l’état de votre Raspberry-Pi avec eZ Server Monitor !

ez-server-monitor

Pour donner une alternative à Raspcontrol, Nagios ou encore Zabbix. Voici un autre logiciel de monitoring pour les machines sous Linux. J’ai nommé eZ Server Monitor. Ce système de monitoring est très léger. De plus, il est très simple à installer et à utiliser.

Ez server monitor est en faite un petit script développé pour deux versions : bash ou web (php) permettant de monitorer à l’aide d’un Tableau de bord (dashboard), les points importants de votre machine linux.

Avec ce petit logiciel vous pourrez notamment vérifier les éléments suivants :

  • System : nom de la machine, OS, version du kernel, uptime, date du dernier démarrage, nb d’utilisateur(s) connecté(s), date de la machine
  • Load average : graphiques indiquant la charge CPU avec le pourcentage (1 minute, 5 minutes et 15 minutes)
  • Network usage : affichage de l’adresse IP de chaque interface réseau avec les données transmises et reçues
  • CPU : modèle, fréquence, nombre de coeurs, cache L2, bogomips
  • Disk usage : tableau représentant chaque point de montage avec l’espace disponible, utilisé et total
  • Memory : tableau contenant la quantité disponible, utilisée et totale de la mémoire vive
  • Swap : tableau contenant la quantité disponible, utilisée et totale du Swap
  • Last login : affichage des 5 dernières connexions utilisateur
  • Ping : effectue un ping sur les sites définis dans le fichier de configuration
  • Services : affiche l’état (disponible ou non) des services définis dans le fichier de configuration

Préparation

Pour commencer, on installe « unzip » qui sera utile pour installer la solution.

apt-get install unzip

Installation : Version SHELL

La version « Bash » affiche quant à elle des informations en mode ligne de commandes. Visualisation simpliste, mais efficace.

Voici un exemple d’affichage :

Passons alors au télécharger de l’archive et au dé-zippage.

sudo wget --content-disposition http://ezservermonitor.com/esm-sh/downloads/version/2.1

sudo unzip ezservermonitor-sh_v2.1.zip

La dernière version lors de la réalisation de ce tutoriel était la 2.3. N’hésité pas à jeter un coup sur le site officiel pour installer la dernière version en date. ez-monitoring download.

Tapez maintenant la commande suivante pour rendre le script exécutable.

sudo chmod 755 eZServerMonitor.sh

Voilà, vous pouvez maintenant lancer le script avec la commande suivante :

./eZServerMonitor.sh

Vous devriez alors avoir quelque chose comme ceci à l’écran :

ez-monitor-bash

Version Shell – eZ Monitor

Pour en avoir plus que la version Shell , voici la page de configuration officielle.

Installation : Version WEB

La version « Web » d’eZ Monitoring permet d’afficher sur un écran l’ensemble des informations choisi dans des encadrés.

Voici un exemple d’affichage :

Après avoir installé un serveur web ainsi que PHP sur Raspbian. Nous allons pouvoir passer à l’installation d’eZ Monitoring.

Puis on l’installe :

sudo wget --content-disposition  http://www.ezservermonitor.com/esm-web/downloads/version/2.4
sudo unzip ezservermonitor-web_v2.4.zip

Il vous suffit maintenant de déplacer le contenu dans le répertoire de votre serveur Web (cd /var/www/).

Lancez maintenant votre navigateur et connectez-vous au tableau de bord (dashbord) en spécifiant l’IP de votre Raspberry-Pi et le nom du fichier transféré.

Vous devriez alors avoir quelque chose comme ci-dessous à l’écran.

eZ-servermonitor-web

Tableau de bord – Version Web

Configuration

Une fois le logiciel installé, il va falloir paramétrer les éléments à surveiller. Il faut pour ce faire, modifier le fichier « esm.config.json » qui se trouve dans le dossier dézippé.

Par exemple :

Etat du disque :

{ ... "disk": { "show_tmpfs": false }, ... }

PING :

Serveurs

Spécifier ici les adresses IP des serveurs à vérifier.

{ ... "ping": { "hosts": [ "free.fr", "orange.fr", "google.com" ] }, ... }

Dernière connexion :

Connexion max visible

Vous pouvez ici définir le nombre de connexions maximum visible.

{ ... "last_login": { "max": 5 }, ... }

Etat des services : 

Services

Vous pouvez également vérifier différent services comme ci-dessous.

{ ... "services": [ { "name": "Web Server (Apache)", "host": "localhost", "port": 80 }, { "name": "FTP Server (ProFTPd)", "host": "localhost", "port": 21 }, { "name": "Databases (MySQL)", "host": "localhost", "port": 3306 }, { "name": "SSH", "host": "localhost", "port": 22 } ] ... }

Pour en avoir plus que la version Web, voici la page de configuration officielle.


Sources : wikipedia, ezservermonitor

Partager l'article >Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

6 Comments

  • Mike

    Reply Reply 11 août 2015

    Merci pour le tuto mais malgré l’avoir suivi à la lettre (install de Nginx, de php5.5 et des divers dépendances) pas moyen de le faire marcher en mode web : la page se recharge plusieurs vois avant de planter lamentablement. Durant le chargement les tableaux apparaissent n »anmoins mais sans infos

    Pour info je tourne sous lubuntu pour Pi 2

    • Régis

      Régis

      Reply Reply 12 août 2015

      Bonjour Mike,

      A mon avis le problème dois peut-être venir de ton OS (lubuntu). Je t’avoue que je ne sais pas si la solution fonctionne pour ce système d’exploitation.

      Est-ce que tu as tenté une réinstallation dans le doute ? Auquel cas, je te conseille de faire le test avec Raspbian.

      Bon courage, et n’hésite pas à me tenir au courant !

      @+

  • Mike

    Reply Reply 12 août 2015

    je vais tenter sous raspbian en effet voir si le soucis provient de la distrib.

    • Régis

      Régis

      Reply Reply 19 août 2015

      N’hésite pas à faire part de ton retour ! 😉

  • ShevAbam

    Reply Reply 21 septembre 2015

    Je suis le créateur d’eZ Server Monitor. Tout d’abord, merci beaucoup pour l’article 😉

    La version 2.5 de eZ Server Monitor`Web est sortie et apporte beaucoup de nouveautés :

    – Général : nettoyage et optimisations CSS
    – Général : design responsive (= affichage compatible mobile et tablette)
    – Général : apparition des thèmes ! (voir la doc pour plus d’infos)
    – Général : les boutons de rechargements des blocs sont animés
    – Général : mise à jour du plugin jQuery Knob
    – Général : optimisation de la sécurité (le fichier de config esm.config.json est désormais dans le dossier conf/ avec un htaccess – voir la doc si vous tournez sur Nginx)
    – Général : ajout d’un paramètre pour modifier le titre de la page (esm:custom_title)
    – CPU : récupération de la fréquence pour le Raspberry Pi
    – CPU : ajout de la température (option pour activer/désactiver)
    – Système : diverses corrections sur la récupération de la distrib
    – Swap : correction si le swap est désactivé
    – Disques : ajout du filesystem + une option pour l’activer/désactiver (disk:show_filesystem)
    – Dernières connexions : ajout d’une option pour activer ou non le bloc (last_login:enable)
    – Services : possibilité de vérifier par TCP ou UDP
    – Services : option pour cacher le numéro du port (services:show_port)

    Comme vous pouvez le voir, le support des Raspberry Pi est amélioré 🙂
    Vous pouvez télécharger la v2.5 d’eSM`Web ici : http://ezservermonitor.com/esm-web/downloads

    La version Bash a également été mise à jour :

    – Général : amélioration des couleurs
    – Système : correction sur la récupération du nom de la distrib
    – CPU : correction sur la récupération des infos
    – CPU : le script récupère correctement la fréquence pour le Raspberry Pi
    – Disques : correction sur la récupération des points de montage si l’option DISK_SHOW_TMPFS est définie sur false
    – Températures : récupération de la températion pour le Raspberry Pi et améliorations diverses

    Vous pouvez récupérer la version 2.2 d’eSM`sh ici : http://ezservermonitor.com/esm-sh/downloads

    • Régis

      Régis

      Reply Reply 21 septembre 2015

      Mais de rien ! Un si bon travail mérite d’être mis en avant 🙂
      Merci pour l’actualisation des informations, à bientôt !

Leave A Response

* Denotes Required Field