Ricerca nel sito web

Web VMStat: uno strumento di monitoraggio delle statistiche di sistema in tempo reale (memoria, CPU, processi, ecc.) per Linux


Web-Vmstat è una piccola applicazione scritta in Java e HTML che visualizza statistiche in tempo reale del sistema Linux, come Memoria, CPU, I /O, Processi, ecc. ripresi dalla riga di comando del monitoraggio di vmstat in una graziosa pagina Web con grafici (SmoothieCharts) e diagrammi tramite flussi WebSocket utilizzando il programma websocketd.

Ho registrato una breve rassegna video di ciò che l'applicazione può fare su un sistema Gentoo.

Requisiti

Su un sistema Linux devono essere installate le seguenti utilità.

  1. Un wget per recuperare file utilizzando i protocolli HTTP, HTTPS e FTP.
  2. Editor di testo Nano o VI CLI.
  3. Decomprimere l'estrattore di archivi.

Questo tutorial ti guiderà nell'installazione dell'applicazione Web-Vmstat su CentOS 6.5, ma la procedura è valida per tutte le distribuzioni Linux, le uniche cose che differiscono sono solo init (opzionale), che ti aiuta a gestire più facilmente l'intero processo.

Leggi anche: Monitora le prestazioni di Linux utilizzando i comandi Vmstat

Passaggio 1: installa Web-Vmstat

1. Prima di procedere con l'installazione di Web-Vmstat, assicurati di avere tutti i comandi richiesti sopra installati sul tuo sistema. Puoi utilizzare il gestore pacchetti come yum, apt-get, ecc. per installarlo. Ad esempio, nei sistemi CentOS, utilizziamo il comando yum per installarlo.

yum install wget nano unzip

2. Ora vai alla pagina web ufficiale di Veb-Vmstat all'indirizzo e scarica l'ultima versione utilizzando il pulsante Scarica ZIP o utilizza wget per scaricare dalla riga di comando.

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

3. Estrai l'archivio master.zip scaricato utilizzando l'utilità unzip e accedi alla cartella estratta.

unzip master.zip
cd web-vmstats-master

4. La directory Web contiene i file HTML e Java necessari per l'esecuzione dell'applicazione in un ambiente Web. Crea una directory nel tuo sistema in cui desideri ospitare i file Web e sposta tutto il contenuto Web in quella directory.

Questo tutorial utilizza /opt/web_vmstats/ per ospitare tutti i file web dell'applicazione, ma puoi creare qualsiasi percorso arbitrario sul tuo sistema che preferisci, assicurati solo di mantenere il percorso web assoluto.

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

5. Il passo successivo è scaricare e installare il programma di streaming websocketd. Vai alla pagina WebSocket ufficiale e scarica il pacchetto adatto all'architettura del tuo sistema (Linux a 64 bit, 32 bit o ARM).

Su sistema a 32 bit
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
Su sistema a 64 bit
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Estrai l'archivio WebSocket con il comando unzip e copia il binario websocketd in un percorso eseguibile di sistema per renderlo disponibile a livello di sistema.

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

7. Ora puoi testarlo eseguendo il comando websocketd utilizzando la seguente sintassi del comando.

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

Descrizione di ciascun parametro spiegato di seguito.

  1. –port=8080: una porta utilizzata per connettersi al protocollo HTTP: puoi utilizzare qualsiasi numero di porta desideri.
  2. –staticdir=/opt/web_vmstats/: il percorso in cui sono ospitati tutti i file Web Web-Vmstat.
  3. /usr/bin/vmstat -n 1: un comando Linux Vmstat che aggiorna il suo stato ogni secondo.

Passaggio 2: crea il file iniziale

8. Questo passaggio è facoltativo e funziona solo con i sistemi supportati dagli script init. Per gestire il processo WebSocket come demone di sistema, creare un file di servizio init sul percorso /etc/init.d/ con il seguente contenuto.

nano /etc/init.d/web-vmstats

Aggiungi il seguente contenuto.

#!/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. Dopo che il file è stato creato, aggiungi i permessi di esecuzione e gestisci il processo utilizzando gli interruttori start o stop.

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

10. Se il tuo firewall è attivo, modifica il file firewall /etc/sysconfig/iptables e apri la porta utilizzata dal processo websocketd per renderlo disponibile per le connessioni esterne.

nano /etc/sysconfig/iptables

Se usi la porta 8080 come in questo tutorial aggiungi la seguente riga al file iptables dopo la regola che apre la porta 22.

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

11. Per finalizzare l'intero processo riavviare il servizio iptables per applicare la nuova regola.

service iptables restart
service web-vmstats start

Aprire un browser e utilizzare il seguente URL per visualizzare le statistiche del sistema Vmstats.

http://system_IP:8080

12. Per visualizzare nome, versione e altri dettagli sul tuo computer attuale e sul sistema operativo in esecuzione su di esso. Vai al percorso dei file Web-Vmstat ed esegui i seguenti comandi.

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

13. Quindi apri il file index.html e aggiungi il seguente codice javascript prima della riga

.

nano index.html

Utilizza il seguente codice 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. Per visualizzare il risultato finale, aggiorna la pagina web http://system_IP:8080 e dovresti vedere informazioni e statistiche in tempo reale sulla tua macchina attuale, come negli screenshot seguenti.