Web VMStat: Realaus laiko sistemos statistikos (atminties, procesoriaus, procesų ir kt.) stebėjimo įrankis, skirtas Linux


Web-Vmstat tai nedidelė programa, parašyta Java ir HTML kalbomis, rodanti tiesioginę Linux sistemos statistiką, pvz., Atmintis, CPU, I /O, Procesai ir kt. perėmė vmstat stebėjimo komandų eilutę gražiame tinklalapyje su diagramomis (SmoothieCharts) ir diagramomis per WebSocket srautus naudojant websocketd programą.

Įrašiau trumpą vaizdo įrašo apžvalgą apie tai, ką programa gali padaryti Gentoo sistemoje.

Reikalavimai

„Linux“ sistemoje turi būti įdiegtos šios paslaugos.

  1. Wget failams gauti naudojant HTTP, HTTPS ir FTP protokolus.
  2. Nano arba VI CLI teksto rengyklė.
  3. Išpakuokite archyvo ištraukiklį.

Ši mokymo programa padės jums įdiegti Web-Vmstat programą CentOS 6.5, tačiau procedūra galioja visiems Linux platinimams, skiriasi tik init scenarijus (pasirinktinai), kurie padeda lengviau valdyti visą procesą.

Taip pat skaitykite: stebėkite „Linux“ našumą naudodami „Vmstat“ komandas

1 veiksmas: įdiekite „Web-Vmstat“.

1. Prieš pradėdami diegti Web-Vmstat, įsitikinkite, kad jūsų sistemoje įdiegtos visos anksčiau nurodytos reikalingos komandos. Norėdami ją įdiegti, galite naudoti paketų tvarkyklę, pvz., komandą yum, apt-get ir kt. Pavyzdžiui, „CentOS“ sistemose jai įdiegti naudojame komandą „yum“.

yum install wget nano unzip

2. Dabar eikite į oficialų „Veb-Vmstat“ tinklalapį ir atsisiųskite naujausią versiją naudodami mygtuką „Atsisiųsti ZIP“ arba naudokite wget, kad atsisiųstumėte iš komandinės eilutės.

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

3. Išskleiskite atsisiųstą master.zip archyvą naudodami išpakavimo priemonę ir įveskite išskleisti aplanką.

unzip master.zip
cd web-vmstats-master

4. Žiniatinklio kataloge yra HTML ir Java failai, reikalingi programai veikti žiniatinklio aplinkoje. Sukurkite savo sistemoje katalogą, kuriame norite talpinti žiniatinklio failus, ir perkelkite visą žiniatinklio turinį į tą katalogą.

Šioje mokymo programoje naudojama /opt/web_vmstats/, kad priglobtų visus programos žiniatinklio failus, tačiau savo sistemoje galite sukurti bet kokį jums patinkantį kelią, tik užtikrinkite, kad išlaikysite absoliutų žiniatinklio kelią.

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

5. Kitas veiksmas – atsisiųsti ir įdiegti srautinio perdavimo programą websocketd. Eikite į oficialų „WebSocket“ puslapį ir atsisiųskite paketą, kad jis atitiktų jūsų sistemos architektūrą („Linux 64-bit“, 32-bit arba ARM).

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

6. Išskleiskite WebSocket archyvą naudodami komandą unzip ir nukopijuokite websocketd dvejetainį failą į sistemos vykdomąjį kelią, kad jis būtų pasiekiamas visos sistemos.

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

7. Dabar galite tai išbandyti vykdydami komandą websocketd, naudodami šią komandos sintaksę.

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

Kiekvieno parametro aprašymas, paaiškintas toliau.

  1. –port=8080: prievadas, naudojamas prisijungti naudojant HTTP protokolą – galite naudoti bet kurį norimą prievado numerį.
  2. –staticdir=/opt/web_vmstats/: kelias, kuriame talpinami visi „Web-Vmstat“ žiniatinklio failai.
  3. /usr/bin/vmstat -n 1: Linux Vmstat komanda, kuri kas sekundę atnaujina savo būseną.

2 veiksmas: sukurkite pradinį failą

8. Šis veiksmas yra neprivalomas ir veikia tik su init scenarijaus palaikomomis sistemomis. Norėdami valdyti WebSocket procesą kaip sistemos demoną, sukurkite init paslaugos failą /etc/init.d/ kelyje su tokiu turiniu.

nano /etc/init.d/web-vmstats

Pridėkite toliau nurodytą turinį.

#!/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. Sukūrę failą, pridėkite vykdymo leidimus ir valdykite procesą naudodami pradžios arba stop jungiklius.

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

10. Jei jūsų ugniasienė aktyvi, redaguokite /etc/sysconfig/iptables ugniasienės failą ir atidarykite prievadą, kurį naudoja websocketd procesas, kad jis būtų pasiekiamas išoriniams ryšiams.

nano /etc/sysconfig/iptables

Jei naudojate 8080 prievadą, kaip nurodyta šioje pamokoje, po taisyklės, kuri atidaro 22 prievadą, prie iptables failo pridėkite šią eilutę.

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

11. Norėdami užbaigti visą procesą, iš naujo paleiskite iptables paslaugą, kad pritaikytumėte naują taisyklę.

service iptables restart
service web-vmstats start

Atidarykite naršyklę ir naudokite šį URL, kad būtų rodoma Vmstats sistemos statistika.

http://system_IP:8080

12. Norėdami rodyti pavadinimą, versiją ir kitą informaciją apie dabartinį įrenginį ir jame veikiančią operacinę sistemą. Eikite į Web-Vmstat failų kelią ir vykdykite šias komandas.

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

13. Tada atidarykite failą index.html ir prieš eilutę

pridėkite šį „Javascript“ kodą.

nano index.html

Naudokite šį JavaScript kodą.

<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. Norėdami peržiūrėti galutinį rezultatą, atnaujinkite http://system_IP:8080 tinklalapį ir turėtumėte pamatyti informaciją bei tiesioginę statistiką apie savo dabartinį įrenginį, kaip parodyta toliau pateiktose ekrano kopijose.