Búsqueda de sitios web

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 en vivo del sistema Linux, como Memoria, CPU, I. /O, Procesos, etc. asumieron 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 transmisiones WebSocket usando el programa websocketd.

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

Requisitos

En un sistema Linux se deben instalar las siguientes utilidades.

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

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, lo único que difiere es solo el scripts de inicio (opcionales), que te ayudan a gestionar más fácilmente todo el proceso.

Leer también: Supervisar el rendimiento de Linux mediante comandos 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 anteriormente instalados en su sistema. Puede utilizar 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 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 usando la utilidad unzip e ingrese 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 desee, 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 que coincida con la arquitectura de su sistema (Linux de 64 bits, 32 bits o ARM).

En sistema de 32 bits
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
En sistema de 64 bits
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 unzip 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 puedes probarlo ejecutando el comando websocketd usando la siguiente sintaxis de comando.

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

La descripción de cada parámetro se explica a continuación.

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

Paso 2: crear un archivo de inicio

8. Este paso es opcional y solo funciona con sistemas compatibles con el script init. Para administrar el proceso WebSocket como un demonio del sistema, cree un archivo de servicio init 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. Después de crear el archivo, agregue permisos de ejecución y administre el proceso usando los interruptores start o stop.

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 utilice 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.