Zoeken op website

Web VMStat: een realtime systeemstatistieken (geheugen, CPU, processen, enz.) Monitoringtool voor Linux


Web-Vmstat het is een kleine applicatie geschreven in Java en HTML die live Linux-systeemstatistieken weergeeft, zoals Geheugen, CPU, I /O, Processen, enz. overgenomen van de vmstat-monitoringopdrachtregel op een mooie webpagina met grafieken (SmoothieCharts) en diagrammen via WebSocket-streams met behulp van het websocketd-programma.

Ik heb een korte videoreview opgenomen van wat de applicatie kan doen op een Gentoo systeem.

Vereisten

Op een Linux-systeem moeten de volgende hulpprogramma's worden geïnstalleerd.

  1. Een wget voor het ophalen van bestanden met behulp van HTTP-, HTTPS- en FTP-protocollen.
  2. Nano- of VI CLI-teksteditor.
  3. Pak archiefextractor uit.

Deze tutorial begeleidt u bij het installeren van de Web-Vmstat-applicatie op CentOS 6.5, maar de procedure is geldig voor alle Linux-distributies. Het enige dat verschilt zijn alleen de init-scripts (optioneel), waarmee u het hele proces eenvoudiger kunt beheren.

Lees ook: Bewaak de Linux-prestaties met behulp van Vmstat-opdrachten

Stap 1: Installeer Web-Vmstat

1. Voordat u doorgaat met het installeren van Web-Vmstat, moet u ervoor zorgen dat alle hierboven vereiste opdrachten op uw systeem zijn geïnstalleerd. U kunt pakketbeheer zoals yum, apt-get, enz. gebruiken om het te installeren. Onder CentOS-systemen gebruiken we bijvoorbeeld de opdracht yum om het te installeren.

yum install wget nano unzip

2. Ga nu naar de officiële webpagina van Veb-Vmstat op en download de nieuwste versie met de knop Download ZIP of gebruik wget om te downloaden vanaf de opdrachtregel.

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

3. Pak het gedownloade master.zip-archief uit met het unzip-hulpprogramma en ga naar de uitgepakte map.

unzip master.zip
cd web-vmstats-master

4. De webmap bevat de HTML- en Java-bestanden die nodig zijn om de applicatie in een webomgeving te laten draaien. Maak een map onder uw systeem waar u de webbestanden wilt hosten en verplaats alle webinhoud naar die map.

Deze tutorial gebruikt /opt/web_vmstats/ om alle applicatiewebbestanden te hosten, maar u kunt elk willekeurig pad op uw systeem maken dat u bevalt, zorg er wel voor dat u het absolute webpad behoudt.

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

5. De volgende stap is het downloaden en installeren van het streamingprogramma websocketd. Ga naar de officiële WebSocket-pagina en download het pakket dat past bij uw systeemarchitectuur (Linux 64-bit, 32-bit of ARM).

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

6. Pak het WebSocket-archief uit met de opdracht unzip en kopieer het binaire bestand websocketd naar een uitvoerbaar systeempad om het beschikbaar te maken systeembreed.

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

7. Nu kunt u het testen door de opdracht websocketd uit te voeren met de volgende opdrachtsyntaxis.

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

Beschrijving van elke parameter die hieronder wordt uitgelegd.

  1. –poort=8080: een poort die wordt gebruikt om verbinding te maken via het HTTP-protocol. U kunt elk gewenst poortnummer gebruiken.
  2. –staticdir=/opt/web_vmstats/: het pad waar alle Web-Vmstat-webbestanden worden gehost.
  3. /usr/bin/vmstat -n 1: een Linux Vmstat-opdracht die de status elke seconde bijwerkt.

Stap 2: Maak een initbestand

8. Deze stap is optioneel en werkt alleen met systemen die het init-script ondersteunen. Om het WebSocket-proces als een systeemdaemon te beheren, maakt u een init-servicebestand op het pad /etc/init.d/ met de volgende inhoud.

nano /etc/init.d/web-vmstats

Voeg de volgende inhoud toe.

#!/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. Nadat het bestand is gemaakt, voegt u uitvoeringsrechten toe en beheert u het proces met start of stop schakelaars.

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

10. Als uw firewall actief is, bewerkt u het /etc/sysconfig/iptables firewallbestand en opent u de poort die door het websocketd-proces wordt gebruikt om deze beschikbaar te maken voor externe verbindingen.

nano /etc/sysconfig/iptables

Als je poort 8080 gebruikt zoals in deze tutorial, voeg dan de volgende regel toe aan het iptables-bestand na de regel die poort 22 opent.

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

11. Om het hele proces te voltooien, start u de iptables-service opnieuw op om de nieuwe regel toe te passen.

service iptables restart
service web-vmstats start

Open een browser en gebruik de volgende URL om Vmstats-systeemstatistieken weer te geven.

http://system_IP:8080

12. Om de naam, versie en andere details weer te geven over uw huidige machine en het besturingssysteem dat erop draait. Ga naar het bestandspad Web-Vmstat en voer de volgende opdrachten uit.

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

13. Open vervolgens het bestand index.html en voeg de volgende JavaScript-code toe vóór de

regel.

nano index.html

Gebruik de volgende 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. Om het eindresultaat te bekijken, vernieuwt u de webpagina http://system_IP:8080. U ziet dan informatie en live statistieken over uw huidige machine, zoals in de onderstaande schermafbeeldingen.