Web VMStat: Eng Echtzäit Systemstatistik (Memory, CPU, Processess, etc) Monitoring Tool fir Linux


Web-Vmstat et ass eng kleng Applikatioun geschriwwen an Java an HTML déi Live Linux Systemstatistike weist, wéi Memory, CPU, I /O, Prozesser, etc. iwwerholl vmstat Iwwerwachung Kommandozeil an enger schéiner Websäit mat Charts (WebSocket Streams mat Websocketd Programm.

Ech hunn eng séier Video Iwwerpréiwung opgeholl wat d'Applikatioun op engem Gentoo System maache kann.

Op engem Linux System mussen déi folgend Utilities installéiert ginn.

  1. E Wget fir Dateien zréckzezéien mat HTTP-, HTTPS- a FTP-Protokoller.
  2. Nano oder VI CLI Text Editor.
  3. Unzip Archiv Extractor.

Dësen Tutorial féiert Iech duerch d'Installatioun vun der Web-Vmstat Applikatioun op CentOS 6.5, awer d'Prozedur ass valabel fir all Linux Verdeelungen, déi eenzeg Saachen déi ënnerscheeden sinn just d'Init Scripten (optional), déi Iech hëllefen ze managen méi einfach de ganze Prozess.

Lies Och: Monitor Linux Performance mat Vmstat Kommandoen

Schrëtt 1: Web-Vmstat installéieren

1. Ier Dir mat der Installatioun vun Web-Vmstat weidergeet, gitt sécher datt Dir all déi uewe genannte Kommandoen op Ärem System installéiert hutt. Dir kënnt Package Manager benotzen wéi yum, apt-get, etc Kommando fir et z'installéieren. Zum Beispill, ënner CentOS Systemer benotze mir yum Kommando fir et z'installéieren.

# yum install wget nano unzip

2. Gitt elo op Veb-Vmstat offiziell Websäit op an luet déi lescht Versioun erof mat Download ZIP Knäppchen oder benotzt wget fir vun der Kommandozeil erofzelueden.

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

3. Extrait den erofgelueden master.zip Archiv mat der unzip Utility a gitt an den extrahéierten Dossier.

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

4. Web Verzeechnes hält HTML an Java Dateien déi néideg sinn fir d'Applikatioun an engem Web Ëmfeld ze lafen. Erstellt e Verzeechnes ënner Ärem System wou Dir d'Webdateien wëllt hosten an all Webinhalt an dee Verzeechnes réckelen.

Dësen Tutorial benotzt /opt/web_vmstats/ fir all Applikatiounswebdateien ze hosten, awer Dir kënnt all arbiträr Wee op Ärem System erstellen, deen Dir gär hutt, vergewëssert Iech datt Dir den absolute Webwee behält.

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

5. Nächste Schrëtt ass fir websocketd Streaming Programm erofzelueden an z'installéieren. Gitt op déi offiziell WebSocket Säit an luet de Package erof fir Är Systemarchitektur ze passen (Linux 64-Bit, 32-Bit oder 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. Extrait de WebSocket-Archiv mat unzip Kommando a kopéiert websocketd binär op e System ausführbare Wee fir et systemwäit verfügbar ze maachen.

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

7. Elo kënnt Dir et testen andeems Dir websocketd Kommando ausféiert mat der folgender Kommando Syntax.

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

Beschreiwung vun all Parameter hei ënnen erkläert.

  1. –port=8080: E Port deen benotzt gëtt fir mam HTTP Protokoll ze verbannen - Dir kënnt all Portnummer benotzen déi Dir wëllt.
  2. –staticdir=/opt/web_vmstats/: De Wee wou all Web-Vmstat Webdateien gehost ginn.
  3. /usr/bin/vmstat -n 1: E Linux Vmstat Kommando deen all Sekonn säi Status aktualiséiert.

Schrëtt 2: Erstellt Init Datei

8. Dëse Schrëtt ass fakultativ a funktionnéiert nëmme mat init script ënnerstëtzte Systemer. Fir de WebSocket Prozess als System Daemon ze verwalten, erstellt eng Init Service Datei op /etc/init.d/ Wee mat dem folgenden Inhalt.

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

Füügt de folgenden Inhalt.

#!/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. Nodeems d'Datei erstallt gouf, bäidréit d'Ausféierungsrechter a verwalten de Prozess mat Start oder Stop Schalter.

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

10. Wann Är Firewall aktiv ass änneren /etc/sysconfig/iptables Firewall Datei an öffnen den Hafen deen vum Websocketd Prozess benotzt gëtt fir et fir extern Verbindungen verfügbar ze maachen.

# nano /etc/sysconfig/iptables

Wann Dir den Hafen 8080 benotzt wéi an dësem Tutorial, füügt déi folgend Linn un d'iptables Datei no der Regel déi den Hafen 22 opmaacht.

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

11. Fir de ganze Prozess ze finaliséieren, nei starten iptables Service fir déi nei Regel z'applizéieren.

# service iptables restart
# service web-vmstats start

Öffnen e Browser a benotzt déi folgend URL fir Vmstats Systemstatistiken ze weisen.

http://system_IP:8080

12. Fir Numm ze weisen, Versioun an aner Detailer iwwert Är aktuell Maschinn an de Betribssystem op et Lafen. Gitt op Web-Vmstat Dateiwee a lafen déi folgend Kommandoen.

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

13. Da öffnen index.html Datei a füügt de folgenden Javascript Code virun der

Linn.

# nano index.html

Benotzt de folgende JavaScript Code.

<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. Fir d'Finale Resultat ze gesinn refresh http://system_IP:8080 Websäit an Dir sollt Informatiounen a Live Statistiken iwwer Är aktuell Maschinn gesinn wéi an de Screenshots hei ënnen.