Vyhledávání na webu

Web VMStat: Nástroj pro monitorování systémových statistik v reálném čase (paměť, CPU, procesy atd.) pro Linux


Web-Vmstat je malá aplikace napsaná v jazyce Java a HTML, která zobrazuje živé statistiky systému Linux, jako je Paměť, CPU, I /O, Procesy atd. převzaté z příkazového řádku monitorování vmstat v pěkné webové stránce s grafy (SmoothieCharts) a diagramy prostřednictvím proudů WebSocket pomocí programu websocketd.

Nahrál jsem rychlou video recenzi toho, co aplikace umí na systému Gentoo.

Požadavky

V systému Linux musí být nainstalovány následující nástroje.

  1. wget pro načítání souborů pomocí protokolů HTTP, HTTPS a FTP.
  2. Textový editor Nano nebo VI CLI.
  3. Rozbalte extraktor archivu.

Tento tutoriál vás provede instalací aplikace Web-Vmstat na CentOS 6.5, ale postup platí pro všechny distribuce Linuxu, liší se pouze initscripts (volitelné), které vám pomohou celý proces snadněji spravovat.

Čtěte také: Monitorujte výkon Linuxu pomocí příkazů Vmstat

Krok 1: Nainstalujte Web-Vmstat

1. Než budete pokračovat v instalaci Web-Vmstat, ujistěte se, že máte ve svém systému nainstalované všechny výše uvedené požadované příkazy. K instalaci můžete použít správce balíčků, jako je yum, apt-get atd. Například v systémech CentOS používáme k instalaci příkaz yum.

yum install wget nano unzip

2. Nyní přejděte na oficiální webovou stránku Veb-Vmstat na adrese a stáhněte si nejnovější verzi pomocí tlačítka Stáhnout ZIP nebo pomocí wget stáhněte z příkazového řádku.

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

3. Rozbalte stažený archiv master.zip pomocí nástroje unzip a přejděte do extrahované složky.

unzip master.zip
cd web-vmstats-master

4. Webový adresář obsahuje soubory HTML a Java potřebné pro běh aplikace ve webovém prostředí. Vytvořte adresář ve vašem systému, kde chcete hostovat webové soubory, a přesuňte veškerý webový obsah do tohoto adresáře.

Tento tutoriál používá /opt/web_vmstats/ k hostování všech webových souborů aplikace, ale můžete si ve svém systému vytvořit libovolnou cestu, která se vám líbí, jen se ujistěte, že zachováte absolutní webovou cestu.

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

5. Dalším krokem je stažení a instalace streamovacího programu websocketd. Přejděte na oficiální stránku WebSocket a stáhněte si balíček tak, aby odpovídal architektuře vašeho systému (Linux 64-bit, 32-bit nebo ARM).

Na 32bitovém systému
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
Na 64bitovém systému
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Rozbalte archiv WebSocket pomocí příkazu unzip a zkopírujte binární soubor websocketd do cesty ke spustitelnému systému, aby byl dostupný v celém systému.

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

7. Nyní to můžete otestovat spuštěním příkazu websocketd pomocí následující syntaxe příkazu.

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

Popis každého parametru vysvětlený níže.

  1. –port=8080: Port používaný pro připojení pomocí protokolu HTTP – můžete použít libovolné číslo portu.
  2. –staticdir=/opt/web_vmstats/: Cesta, kde jsou hostovány všechny webové soubory Web-Vmstat.
  3. /usr/bin/vmstat -n 1: Příkaz Linux Vmstat, který aktualizuje svůj stav každou sekundu.

Krok 2: Vytvořte inicializační soubor

8. Tento krok je volitelný a funguje pouze se systémy s podporou skriptu init. Chcete-li spravovat proces WebSocket jako systémového démona, vytvořte soubor služby init na cestě /etc/init.d/ s následujícím obsahem.

nano /etc/init.d/web-vmstats

Přidejte následující obsah.

#!/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. Po vytvoření souboru přidejte oprávnění ke spuštění a spravujte proces pomocí přepínačů start nebo stop.

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

10. Pokud je váš Firewall aktivní, upravte soubor /etc/sysconfig/iptables firewallu a otevřete port používaný procesem websocketd, abyste jej zpřístupnili pro vnější připojení.

nano /etc/sysconfig/iptables

Pokud používáte port 8080 jako v tomto tutoriálu, přidejte následující řádek do souboru iptables za pravidlo, které otevírá port 22.

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

11. Chcete-li dokončit celý proces, restartujte službu iptables, aby se nové pravidlo uplatnilo.

service iptables restart
service web-vmstats start

Otevřete prohlížeč a pomocí následující adresy URL zobrazte systémové statistiky Vmstats.

http://system_IP:8080

12. Zobrazení názvu, verze a dalších podrobností o vašem aktuálním počítači a operačním systému, který na něm běží. Přejděte na cestu k souborům Web-Vmstat a spusťte následující příkazy.

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

13. Poté otevřete soubor index.html a před řádek

přidejte následující kód javascript.

nano index.html

Použijte následující kód 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. Chcete-li zobrazit konečný výsledek, obnovte webovou stránku http://system_IP:8080 a měli byste vidět informace a živé statistiky o vašem aktuálním počítači jako na snímcích níže.