Web VMStat: una herramienta de monitoreo de estadísticas del sistema en tiempo real (memoria, CPU, procesos, etc.) para Linux


Web-Vmstat es una pequeña aplicación escrita en Java y HTML que muestra estadísticas del sistema Linux en vivo, como Memoria , CPU , I/O , Procesos , etc., controlados por la línea de comando de monitoreo de vmstat en una bonita página web con gráficos (flujos de WebSocket usando el programa websocketd.

Grabé una revisión rápida en video de lo que la aplicación puede hacer en un sistema Gentoo.

En un sistema Linux, se deben instalar las siguientes utilidades.

  1. Un wget para recuperar archivos usando los protocolos HTTP, HTTPS y FTP.
  2. Editor de texto CLI Nano o VI.
  3. Descomprima Archive Extractor.

Este tutorial lo guiará a través de la instalación de la aplicación Web-Vmstat en CentOS 6.5 , pero el procedimiento es válido para todas las distribuciones de Linux, las únicas cosas que difieren son solo los scripts de inicio (opcional), que lo ayudan a administrar más fácil todo el proceso.

Lea también : supervise el rendimiento de Linux mediante los comandos de Vmstat

Paso 1: Instale Web-Vmstat

1. Antes de continuar con la instalación de Web-Vmstat , asegúrese de tener todos los comandos requeridos arriba instalados en su sistema. Puede usar el administrador de paquetes como el comando yum, apt-get, etc. para instalarlo. Por ejemplo, en los sistemas CentOS, usamos el comando yum para instalarlo.

# yum install wget nano unzip

2. Ahora vaya a la página web oficial de Veb-Vmstat en y descargue la última versión usando el botón Descargar ZIP o use wget para descargar desde la línea de comandos.

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

3. Extraiga el archivo master.zip descargado utilizando la utilidad descomprimir y acceda a la carpeta extraída.

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

4. El directorio web contiene los archivos HTML y Java necesarios para que la aplicación se ejecute en un entorno web. Cree un directorio en su sistema donde desee alojar los archivos web y mueva todo el contenido web a ese directorio.

Este tutorial utiliza /opt/web_vmstats/ para alojar todos los archivos web de la aplicación, pero puede crear cualquier ruta arbitraria en su sistema que le guste, solo asegúrese de conservar la ruta web absoluta.

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

5. El siguiente paso es descargar e instalar el programa de transmisión websocketd . Vaya a la página oficial de WebSocket y descargue el paquete para que coincida con la arquitectura de su 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. Extraiga el archivo WebSocket con el comando descomprimir y copie el binario websocketd en una ruta ejecutable del sistema para que esté disponible en todo el sistema.

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

7. Ahora puede probarlo ejecutando el comando websocketd usando la siguiente sintaxis de comando.

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

Descripción de cada parámetro explicado a continuación.

  1. –port u003d 8080 : un puerto que se usa para conectarse en el protocolo HTTP; puede usar cualquier número de puerto que desee.
  2. –staticdir u003d/opt/web_vmstats/: la ruta donde se alojan todos los archivos web de Web-Vmstat.
  3. /usr/bin/vmstat -n 1 : un comando Vmstat de Linux que actualiza su estado cada segundo.

Paso 2: crear archivo de inicialización

8. Este paso es opcional y solo funciona con sistemas compatibles con el script init . Para administrar el proceso de WebSocket como un demonio del sistema, cree un archivo de servicio de inicio en la ruta /etc/init.d/ con el siguiente contenido.

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

Agregue el siguiente contenido.

#!/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. Una vez creado el archivo, agregue los permisos de ejecución y administre el proceso mediante los interruptores iniciar o detener .

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

10. Si su cortafuegos está activo, edite el archivo de cortafuegos /etc/sysconfig/iptables y abra el puerto utilizado por el proceso websocketd para que esté disponible para conexiones externas.

# nano /etc/sysconfig/iptables

Si usa el puerto 8080 como en este tutorial, agregue la siguiente línea al archivo iptables después de la regla que abre el puerto 22.

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

11. Para finalizar todo el proceso, reinicie el servicio iptables para aplicar la nueva regla.

# service iptables restart
# service web-vmstats start

Abra un navegador y use la siguiente URL para mostrar las estadísticas del sistema Vmstats.

http://system_IP:8080

12. Para mostrar el nombre, la versión y otros detalles sobre su máquina actual y el sistema operativo que se ejecuta en ella. Vaya a la ruta de los archivos Web-Vmstat y ejecute los siguientes comandos.

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

13. Luego, abra el archivo index.html y agregue el siguiente código javascript antes de la línea

.

# nano index.html

Utilice el siguiente código JavaScript.

<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. Para ver el resultado final, actualice la página web http:// system_IP: 8080 y debería ver información y estadísticas en vivo sobre su máquina actual como en las capturas de pantalla a continuación.