Recherche de site Web

Web VMStat : un outil de surveillance des statistiques du système en temps réel (mémoire, processeur, processus, etc.) pour Linux


Web-Vmstat est une petite application écrite en Java et HTML qui affiche en direct les statistiques du système Linux, telles que la Mémoire, le CPU, I /O, Processus, etc. repris la ligne de commande de surveillance vmstat dans une jolie page Web avec des graphiques (SmoothieCharts) et des diagrammes via des flux WebSocket à l'aide du programme websocketd.

J'ai enregistré une brève revue vidéo de ce que l'application peut faire sur un système Gentoo.

Exigences

Sur un système Linux, les utilitaires suivants doivent être installés.

  1. Un wget pour récupérer des fichiers à l'aide des protocoles HTTP, HTTPS et FTP.
  2. Éditeur de texte Nano ou VI CLI.
  3. Décompressez l'extracteur d'archives.

Ce tutoriel vous guidera dans l'installation de l'application Web-Vmstat sur CentOS 6.5, mais la procédure est valable pour toutes les distributions Linux, les seules choses qui diffèrent sont simplement le des scripts d'initialisation (facultatifs), qui vous aident à gérer plus facilement l'ensemble du processus.

Lire aussi : Surveiller les performances de Linux à l'aide des commandes Vmstat

Étape 1 : Installer Web-Vmstat

1. Avant de procéder à l'installation de Web-Vmstat, assurez-vous que toutes les commandes requises ci-dessus sont installées sur votre système. Vous pouvez utiliser un gestionnaire de packages tel que la commande yum, apt-get, etc. pour l'installer. Par exemple, sous les systèmes CentOS, nous utilisons la commande yum pour l'installer.

yum install wget nano unzip

2. Allez maintenant sur la page Web officielle de Veb-Vmstat et téléchargez la dernière version en utilisant le bouton Télécharger ZIP ou utilisez wget pour télécharger à partir de la ligne de commande.

wget https://github.com/joewalnes/web-vmstats/archive/master.zip

3. Extrayez l'archive master.zip téléchargée à l'aide de l'utilitaire unzip et accédez au dossier extrait.

unzip master.zip
cd web-vmstats-master

4. Le répertoire Web contient les fichiers HTML et Java nécessaires à l'exécution de l'application dans un environnement Web. Créez un répertoire sous votre système dans lequel vous souhaitez héberger les fichiers Web et déplacez tout le contenu Web vers ce répertoire.

Ce didacticiel utilise /opt/web_vmstats/ pour héberger tous les fichiers Web de l'application, mais vous pouvez créer n'importe quel chemin arbitraire sur votre système, assurez-vous simplement de conserver le chemin Web absolu.

mkdir /opt/web_vmstats
cp -r web/* /opt/web_vmstats/

5. L'étape suivante consiste à télécharger et installer le programme de streaming websocketd. Accédez à la page officielle WebSocket et téléchargez le package correspondant à l'architecture de votre système (Linux 64 bits, 32 bits ou ARM).

Sur le système 32 bits
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
Sur le système 64 bits
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Extrayez l'archive WebSocket avec la commande unzip et copiez le binaire websocketd dans un chemin d'exécutable système pour le rendre disponible à l’échelle du système.

unzip websocketd-0.2.9-linux_amd64.zip
cp websocketd /usr/local/bin/

7. Vous pouvez maintenant le tester en exécutant la commande websocketd en utilisant la syntaxe de commande suivante.

websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1

Description de chaque paramètre expliqué ci-dessous.

  1. –port=8080 : un port utilisé pour se connecter sur le protocole HTTP – vous pouvez utiliser n'importe quel numéro de port de votre choix.
  2. –staticdir=/opt/web_vmstats/ : chemin où tous les fichiers Web Web-Vmstat sont hébergés.
  3. /usr/bin/vmstat -n 1 : Une commande Linux Vmstat qui met à jour son statut toutes les secondes.

Étape 2 : Créer un fichier d'initialisation

8. Cette étape est facultative et ne fonctionne qu'avec les systèmes pris en charge par les scripts init. Pour gérer le processus WebSocket en tant que démon système, créez un fichier de service init sur le chemin /etc/init.d/ avec le contenu suivant.

nano /etc/init.d/web-vmstats

Ajoutez le contenu suivant.

#!/bin/sh
source function library
. /etc/rc.d/init.d/functions
start() {
                echo "Starting webvmstats process..."

/usr/local/bin/websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1 &
}

stop() {
                echo "Stopping webvmstats process..."
                killall websocketd
}

case "$1" in
    start)
       start
        ;;
    stop)
       stop
        ;;
    *)
        echo "Usage: stop start"
        ;;
esac

9. Une fois le fichier créé, ajoutez les autorisations d'exécution et gérez le processus à l'aide des commutateurs start ou stop.

chmod +x /etc/init.d/web-vmstats
/etc/init.d/web-vmstats start

10. Si votre pare-feu est actif, modifiez le fichier de pare-feu /etc/sysconfig/iptables et ouvrez le port utilisé par le processus websocketd pour le rendre disponible pour les connexions externes.

nano /etc/sysconfig/iptables

Si vous utilisez le port 8080 comme dans ce tutoriel, ajoutez la ligne suivante au fichier iptables après la règle qui ouvre le port 22.

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

11. Pour finaliser l'ensemble du processus, redémarrez le service iptables pour appliquer la nouvelle règle.

service iptables restart
service web-vmstats start

Ouvrez un navigateur et utilisez l'URL suivante pour afficher les statistiques du système Vmstats.

http://system_IP:8080

12. Pour afficher le nom, la version et d'autres détails sur votre ordinateur actuel et le système d'exploitation qui y est exécuté. Accédez au chemin des fichiers Web-Vmstat et exécutez les commandes suivantes.

cd /opt/web_vmstats
cat /etc/issue.net | head -1 > version.txt
cat /proc/version >> version.txt

13. Ensuite, ouvrez le fichier index.html et ajoutez le code javascript suivant avant la ligne

.

nano index.html

Utilisez le code JavaScript suivant.

<div align='center'><h3><pre id="contents"></pre></h3></div>
<script>
function populatePre(url) {
    var xhr = new XMLHttpRequest();
    xhr.onload = function () {
        document.getElementById('contents').textContent = this.responseText;
    };
    xhr.open('GET', url);
    xhr.send();
}
populatePre('version.txt');
                </script>

14. Pour afficher le résultat final, actualisez la page Web http://system_IP:8080 et vous devriez voir des informations et des statistiques en direct sur votre machine actuelle, comme dans les captures d'écran ci-dessous.