eZ Server Monitor : un tableau de bord simple et léger en deux versions

Posté par . Édité par Xavier Teyssier, Benoît Sibaud, Nÿco et Nils Ratusznik. Modéré par Pierre Jarillon. Licence CC by-sa
Tags : aucun
20
13
juin
2014
Supervision

eZ Server Monitor (eSM) permet d’afficher plusieurs informations de votre machine Unix afin de la superviser. Il se décline en deux versions : Web (eSM`Web) et Bash (eSM`sh) (tous deux sous licence GPL).

eSM`Web

Dans sa version Web, eSM est un script PHP qui regroupe sur une seule page diverses informations séparées en blocs :

eZ Server Monitor`Web

  • system : nom de la machine, OS, version du noyau, uptime, date du dernier démarrage, nombre 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.

Chaque bloc peut être actualisé manuellement.

Vous pouvez télécharger la dernière version en cliquant ici. Les pré-requis sont simples : une machine fonctionnant sur un environnement Unix, un serveur Web (Apache, Nginx…) et PHP.

eSM`sh

Quant à la version Bash (eSM`sh), elle vous permet également de retrouver ces informations sur votre terminal Unix.

eZ Server Monitor`sh

Chaque bloc peut être affiché de manière indépendante grâce aux différentes options proposées :

  • -h, -u, --help or --usage : affiche l’aide ;
  • -v or --version : affiche la version du script ;
  • -C or --clear : efface le terminal (doit être inséré avant tout autre argument) ;
  • -a or --all : affiche tous les blocs ;
  • -s or --system : informations du système (OS et distribution, kernel, nom de la machine, uptime, nombre d’utilisateurs connectés, date du dernier démarrage, date de la machine) ;
  • -e or --services : vérifie la disponibilité d’un service (peut être configuré) ;
  • -n or --network : informations réseau (IP LAN ; IP WAN) ;
  • -p or --ping : ping sur quelques sites (peut être configuré) ;
  • -c or --cpu : informations du CPU (modèle, fréquence, cache L2, bogomips) ;
  • -m or --memory : informations mémoire vive (disponible et totale) ;
  • -l or --load : charge du CPU et nombre de processus ;
  • -t or --temperatures : affiche la température du CPU, système et des disques durs (facultatif et nécessite hddtemp et/ou lm-sensors d’installés ; peut être configuré) ;
  • -d or --disk : espace disque (top 5).

Ainsi, pour afficher l’ensemble des blocs, il suffit de lancer la commande suivante :

./eZServerMonitor.sh -Ca

La documentation détaille l’ensemble des possibilités du script.

  • # Load average en pourcentage?

    Posté par (page perso) . Évalué à 7.

    Juste une remarque sur le load average, ça n'a pas vraiment de sens à le mettre en pourcentage. Le comparer au nombres de CPUs (ici j'imagine qu'il y en a un seul?) est un résumé vraiment approximatif pas représentatif sur de vrais serveurs. Ca aurait beaucoup plus de sens de prendre la somme des CPU en %user+%sys par exemple :)

    Dans le même genre d'outil il y a glances qui est très avancé également et là aussi présent en deux versions :)

    • [^] # Re: Load average en pourcentage?

      Posté par . Évalué à 3.

      J'allais dire la même chose. Pour tester sur mon petit serveur à la maison j'ai modifié le /libs/load_average.php :
      < $v = (int)($value * 100);
      > $v = (int)($value * 50);
      car j'ai 2 cores. Enfin c'est crade comme solution.

  • # Licence

    Posté par . Évalué à 5.

    Sur cette page il est écrit:

    eSM`Web only works on Linux configuration. It is released under GNU GPL licence.

    et sur cette page il est écrit:

    eSM`sh only works on Linux configuration. It is released under GNU GPL licence.

    Bref c'est une licence GPL.

  • # En français

    Posté par (page perso) . Évalué à 7.

    eZ Server Monitor : un dashboard simple et léger en deux versions

    eZ Server Monitor : un tableau de bord simple et léger en deux versions

    eZ Server Monitor (eSM) permet d’afficher plusieurs informations de votre machine Unix afin de la monitorer.

    eZ Server Monitor (eSM) permet d’afficher plusieurs informations de votre machine Unix afin de la surveiller.

    system : nom de la machine, OS, version du kernel, uptime, date du dernier démarrage, nombre d’utilisateur(s) connecté(s), date de la machine ;

    system : nom de la machine, OS, version du noyau, uptime, date du dernier démarrage, nombre d’utilisateur(s) connecté(s), date de la machine ;

  • # web-vmstats

    Posté par . Évalué à 2.

    Dans le même esprit j'ai tendance à préférer web-vmstats.

    1) c'est du web socket donc moins de bande passante consommée par l'overhead http
    2) Pas d'actualisation de page nécessaire ( c'est du web socket, on vient de le dire :-D )
    3) Pas de nécessité d'installer/sécuriser un serveur web ou d'utiliser celui de php5.

    Certes les informations sont plus basiques, mais je trouve que les pour sont supérieurs aux contre. En particulier le point 3…

    • [^] # Re: web-vmstats

      Posté par . Évalué à 1.

      Ca a l'air sympa, mais je n'ai pas encore réussi à le faire tourner derriere un nginx :/

      • [^] # Re: web-vmstats

        Posté par . Évalué à 2.

        Les websockets n'aiment pas vraiment les reverse proxys / proxys. Ca se règle par configuration. Il y a plein de doc sur le net.

  • # Nouvelles versions

    Posté par (page perso) . Évalué à 3.

    Bonjour à tou(te)s,

    Je suis le créateur de eZ Server Monitor. Suite à la remontée de quelques bugs et d'améliorations, je vous propose une nouvelle version pour eSM`Web et également pour eSM`sh. Voici les modifications apportées pour la version Web :

    • System : correction pour récupérer le nom de la distribution
    • Services : correction sur les noms des services ayant un accent
    • Services : possibilité de spécifier un host pour chaque service
    • Network usage : correction pour récupérer le nom des interfaces réseau
    • Memory : la mémoire en cache (cached + buffers) est prise en compte dans le calcul de la mémoire libre
    • Load Average : prise en compte du nombre de cœurs du processeur
    • Disk usage : nouvelle option pour cacher ou non les points de montage virtuels (tmpfs)
    • General : suppression des PHP short tags

    Voici les modifications pour la version Bash :

    • System : correction pour récupérer le nom de la distribution
    • Services : correction sur la dispo d'un service (suppression de la commande nc non disponible sur certaines distribution)
    • Services : possibilité de spécifier un host pour chaque service
    • Network usage : correction pour récupérer le nom des interfaces réseau
    • Memory : la mémoire en cache (cached + buffers) est prise en compte dans le calcul de la mémoire libre
    • Disk usage : nouvelle option pour cacher ou non les points de montage virtuels (tmpfs)
    • Load Average : prise en compte du nombre de cœurs du processeur

    Merci aux personnes ayant pris la peine de regarder ce projet ;)
    Pour info, un dépôt GitHub sera prochainement créé.

    Bonne soirée.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.