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. asumido el control de la línea de comando de monitoreo de vmstat en una bonita página web con gráficos (SmoothieCharts) y diagramas a través de flujos 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. A wget for retrieving files using HTTP, HTTPS and FTP protocols.
  2. Nano or VI CLI Text Editor.
  3. Unzip 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 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=8080: A port used to connect on HTTP protocol – you can use any port number you want.
  2. –staticdir=/opt/web_vmstats/: The path where all Web-Vmstat web files are hosted.
  3. /usr/bin/vmstat -n 1: A Linux Vmstat command which updates its status every second.

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

Agrega 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 Firewall está activo, edite el archivo de firewall /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 se muestra en las capturas de pantalla a continuación.