Website-Suche

Web VMStat: Ein Echtzeit-Systemstatistik-Überwachungstool (Speicher, CPU, Prozesse usw.) für Linux


Web-Vmstat ist eine kleine, in Java und HTML geschriebene Anwendung, die Live-Linux-Systemstatistiken anzeigt, wie z. B. Speicher, CPU, I /O, Prozesse usw. werden über die vmstat-Überwachungsbefehlszeile in eine hübsche Webseite mit Diagrammen (SmoothieCharts) und Diagrammen über WebSocket-Streams mithilfe des Programms websocketd übernommen.

Ich habe einen kurzen Videoüberblick darüber aufgezeichnet, was die Anwendung auf einem Gentoo-System leisten kann.

Anforderungen

Auf einem Linux-System müssen die folgenden Dienstprogramme installiert werden.

  1. Ein Wget zum Abrufen von Dateien mithilfe der Protokolle HTTP, HTTPS und FTP.
  2. Nano- oder VI-CLI-Texteditor.
  3. Entpacken Sie den Archive Extractor.

Dieses Tutorial führt Sie durch die Installation der Web-Vmstat-Anwendung unter CentOS 6.5, aber das Verfahren gilt für alle Linux-Distributionen, die einzigen Unterschiede sind nur die Init-Skripte (optional), die Ihnen helfen, den gesamten Prozess einfacher zu verwalten.

Lesen Sie auch: Überwachen Sie die Linux-Leistung mit Vmstat-Befehlen

Schritt 1: Web-Vmstat installieren

1. Bevor Sie mit der Installation von Web-Vmstat fortfahren, stellen Sie sicher, dass alle oben genannten erforderlichen Befehle auf Ihrem System installiert sind. Sie können Paketmanager wie den Befehl yum, apt-get usw. verwenden, um es zu installieren. Unter CentOS-Systemen verwenden wir beispielsweise den Befehl yum, um es zu installieren.

yum install wget nano unzip

2. Gehen Sie nun zur offiziellen Veb-Vmstat-Webseite unter und laden Sie die neueste Version über die Schaltfläche „ZIP herunterladen“ herunter oder verwenden Sie wget zum Herunterladen über die Befehlszeile.

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

3. Extrahieren Sie das heruntergeladene master.zip-Archiv mit dem Dienstprogramm unzip und geben Sie es in den extrahierten Ordner ein.

unzip master.zip
cd web-vmstats-master

4. Das Webverzeichnis enthält die HTML- und Java-Dateien, die für die Ausführung der Anwendung in einer Webumgebung erforderlich sind. Erstellen Sie ein Verzeichnis unter Ihrem System, in dem Sie die Webdateien hosten möchten, und verschieben Sie alle Webinhalte in dieses Verzeichnis.

In diesem Tutorial wird /opt/web_vmstats/ zum Hosten aller Webdateien der Anwendung verwendet. Sie können jedoch jeden beliebigen Pfad auf Ihrem System erstellen. Stellen Sie jedoch sicher, dass Sie den absoluten Webpfad beibehalten.

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

5. Der nächste Schritt besteht darin, das Streaming-Programm websocketd herunterzuladen und zu installieren. Gehen Sie zur offiziellen WebSocket-Seite und laden Sie das Paket herunter, das zu Ihrer Systemarchitektur passt (Linux 64-Bit, 32-Bit oder ARM).

Auf 32-Bit-System
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
Auf 64-Bit-System
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Extrahieren Sie das WebSocket-Archiv mit dem Befehl unzip und kopieren Sie die Binärdatei websocketd in einen ausführbaren Systempfad, um sie verfügbar zu machen systemweit.

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

7. Jetzt können Sie es testen, indem Sie den Befehl websocketd mit der folgenden Befehlssyntax ausführen.

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

Beschreibung der einzelnen Parameter, die unten erläutert werden.

  1. –port=8080: Ein Port, der für die Verbindung über das HTTP-Protokoll verwendet wird – Sie können jede gewünschte Portnummer verwenden.
  2. –staticdir=/opt/web_vmstats/: Der Pfad, in dem alle Web-Vmstat-Webdateien gehostet werden.
  3. /usr/bin/vmstat -n 1: Ein Linux-Vmstat-Befehl, der seinen Status jede Sekunde aktualisiert.

Schritt 2: Init-Datei erstellen

8. Dieser Schritt ist optional und funktioniert nur mit Systemen, die init-Skripts unterstützen. Um den WebSocket-Prozess als Systemdämon zu verwalten, erstellen Sie eine init-Dienstdatei im Pfad /etc/init.d/ mit dem folgenden Inhalt.

nano /etc/init.d/web-vmstats

Fügen Sie den folgenden Inhalt hinzu.

#!/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. Nachdem die Datei erstellt wurde, fügen Sie Ausführungsberechtigungen hinzu und verwalten Sie den Prozess mit den Schaltern Start oder Stopp.

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

10. Wenn Ihre Firewall aktiv ist, bearbeiten Sie die Firewall-Datei /etc/sysconfig/iptables und öffnen Sie den vom websocketd-Prozess verwendeten Port, um ihn für externe Verbindungen verfügbar zu machen.

nano /etc/sysconfig/iptables

Wenn Sie Port 8080 wie in diesem Tutorial verwenden, fügen Sie nach der Regel, die Port 22 öffnet, die folgende Zeile zur iptables-Datei hinzu.

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

11. Um den gesamten Vorgang abzuschließen, starten Sie den iptables-Dienst neu, um die neue Regel anzuwenden.

service iptables restart
service web-vmstats start

Öffnen Sie einen Browser und verwenden Sie die folgende URL, um die Vmstats-Systemstatistiken anzuzeigen.

http://system_IP:8080

12. Zum Anzeigen von Name, Version und anderen Details zu Ihrem aktuellen Computer und dem darauf ausgeführten Betriebssystem. Gehen Sie zum Dateipfad Web-Vmstat und führen Sie die folgenden Befehle aus.

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

13. Öffnen Sie dann die Datei index.html und fügen Sie den folgenden Javascript-Code vor der Zeile

ein.

nano index.html

Verwenden Sie den folgenden 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. Um das Endergebnis anzuzeigen, aktualisieren Sie die Webseite http://system_IP:8080 und Sie sollten Informationen und Live-Statistiken zu Ihrem aktuellen Computer sehen, wie in den Screenshots unten.