Web VMStat: una eina de monitorització d'estadístiques del sistema en temps real (memòria, CPU, processos, etc.) per a Linux


Web-Vmstat és una petita aplicació escrita en Java i HTML que mostra estadístiques en directe del sistema Linux, com ara Memòria, CPU, I /O, Processos, etc. agafats de la línia d'ordres de monitorització de vmstat en una bonica pàgina web amb gràfics (WebSocket streams utilitzant el programa websocketd.

He gravat una revisió ràpida en vídeo del que pot fer l'aplicació en un sistema Gentoo.

En un sistema Linux s'han d'instal·lar les utilitats següents.

  1. Un wget per recuperar fitxers mitjançant protocols HTTP, HTTPS i FTP.
  2. Editor de text CLI Nano o VI.
  3. Descomprimiu l'extractor d'arxius.

Aquest tutorial us guiarà a través de la instal·lació de l'aplicació Web-Vmstat a CentOS 6.5, però el procediment és vàlid per a totes les distribucions de Linux, les úniques coses que difereixen són només els scripts d'inici (opcional), que us ajudaran a gestionar més fàcil tot el procés.

Llegiu també: superviseu el rendiment de Linux mitjançant les ordres de Vmstat

Pas 1: instal·leu Web-Vmstat

1. Abans de continuar amb la instal·lació de Web-Vmstat, assegureu-vos que teniu totes les ordres necessàries anteriors instal·lades al vostre sistema. Podeu utilitzar el gestor de paquets com ara l'ordre yum, apt-get, etc per instal·lar-lo. Per exemple, amb els sistemes CentOS, utilitzem l'ordre yum per instal·lar-lo.

# yum install wget nano unzip

2. Ara aneu a la pàgina web oficial de Veb-Vmstat a i descarregueu l'última versió mitjançant el botó Descarregar ZIP o utilitzeu wget per baixar des de la línia d'ordres.

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

3. Extraieu l'arxiu master.zip descarregat mitjançant la utilitat descomprimir i entreu a la carpeta extreta.

# unzip master.zip
# cd web-vmstats-master

4. El directori web conté els fitxers HTML i Java necessaris perquè l'aplicació s'executi en un entorn web. Creeu un directori al vostre sistema on voleu allotjar els fitxers web i moveu tot el contingut web a aquest directori.

Aquest tutorial utilitza /opt/web_vmstats/ per allotjar tots els fitxers web d'aplicacions, però podeu crear qualsevol camí arbitrari al vostre sistema que us agradi, només assegureu-vos que conserveu el camí web absolut.

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

5. El següent pas és baixar i instal·lar el programa de transmissió websocketd. Aneu a la pàgina oficial de WebSocket i descarregueu el paquet que coincideixi amb l'arquitectura del vostre sistema (Linux de 64 bits, 32 bits o ARM).

# wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
# wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Extraieu l'arxiu WebSocket amb l'ordre descomprimir i copieu el binari websocketd a una ruta d'execució del sistema perquè estigui disponible a tot el sistema.

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

7. Ara podeu provar-ho executant l'ordre websocketd utilitzant la sintaxi de l'ordre següent.

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

Descripció de cada paràmetre explicada a continuació.

  1. –port=8080: un port que s'utilitza per connectar-se amb el protocol HTTP: podeu utilitzar qualsevol número de port que vulgueu.
  2. –staticdir=/opt/web_vmstats/: el camí on s'allotgen tots els fitxers web de Web-Vmstat.
  3. /usr/bin/vmstat -n 1: una ordre de Linux Vmstat que actualitza el seu estat cada segon.

Pas 2: creeu el fitxer d'inici

8. Aquest pas és opcional i només funciona amb sistemes compatibles amb scripts init. Per gestionar el procés de WebSocket com a dimoni del sistema, creeu un fitxer de servei d'inici a la ruta /etc/init.d/ amb el contingut següent.

# nano /etc/init.d/web-vmstats

Afegeix el següent contingut.

#!/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. Un cop creat el fitxer, afegiu els permisos d'execució i gestioneu el procés mitjançant els interruptors inici o aturar.

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

10. Si el vostre tallafoc està actiu, editeu el fitxer del tallafoc /etc/sysconfig/iptables i obriu el port utilitzat pel procés websocketd perquè estigui disponible per a connexions externes.

# nano /etc/sysconfig/iptables

Si utilitzeu el port 8080 com en aquest tutorial, afegiu la línia següent al fitxer iptables després de la regla que obre el port 22.

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

11. Per finalitzar tot el procés, reinicieu el servei iptables per aplicar la nova regla.

# service iptables restart
# service web-vmstats start

Obriu un navegador i utilitzeu l'URL següent per mostrar les estadístiques del sistema Vmstats.

http://system_IP:8080

12. Per mostrar el nom, la versió i altres detalls sobre la vostra màquina actual i el sistema operatiu que s'hi executa. Aneu a la ruta dels fitxers Web-Vmstat i executeu les ordres següents.

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

13. A continuació, obriu el fitxer index.html i afegiu el codi javascript següent abans de la línia

.

# nano index.html

Utilitzeu el codi JavaScript següent.

<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. Per veure el resultat final, actualitzeu la pàgina web http://system_IP:8080 i hauríeu de veure informació i estadístiques en directe sobre la vostra màquina actual com a les captures de pantalla següents.