Web VMStat: Alat za praćenje statistike sustava u stvarnom vremenu (memorija, CPU, proces itd.) za Linux


Web-Vmstat je mala aplikacija napisana u Javi i HTML-u koja prikazuje statistiku Linux sustava uživo, kao što su Memorija, CPU, I /O, Procesi, itd. preuzeti preko naredbenog retka za nadgledanje vmstata na lijepoj web-stranici s grafikonima (SmoothieCharts) i dijagramima kroz WebSocket tokove pomoću programa websocketd.

Snimio sam kratki video pregled onoga što aplikacija može učiniti na Gentoo sustavu.

Zahtjevi

Na Linux sustavu moraju biti instalirani sljedeći uslužni programi.

  1. Wget za dohvaćanje datoteka pomoću HTTP, HTTPS i FTP protokola.
  2. Nano ili VI CLI uređivač teksta.
  3. Raspakirajte alat za izvlačenje arhive.

Ovaj vodič će vas voditi kroz instalaciju aplikacije Web-Vmstat na CentOS 6.5, ali postupak vrijedi za sve distribucije Linuxa, jedine stvari koje se razlikuju su samo initskripte (opcionalno), koje vam pomažu da lakše upravljate cijelim procesom.

Pročitajte također: Pratite performanse Linuxa pomoću Vmstat naredbi

Korak 1: Instalirajte Web-Vmstat

1. Prije nego nastavite s instaliranjem Web-Vmstat, provjerite imate li sve gore navedene potrebne naredbe instalirane na vašem sustavu. Za instalaciju možete koristiti naredbu upravitelja paketa kao što je yum, apt-get itd. Na primjer, pod CentOS sustavima, koristimo naredbu yum da ga instaliramo.

yum install wget nano unzip

2. Sada idite na službenu web stranicu Veb-Vmstat na i preuzmite najnoviju verziju pomoću gumba Download ZIP ili koristite wget za preuzimanje iz naredbenog retka.

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

3. Raspakirajte preuzetu arhivu master.zip pomoću uslužnog programa unzip i uđite u izdvojenu mapu.

unzip master.zip
cd web-vmstats-master

4. Web imenik sadrži HTML i Java datoteke potrebne za rad aplikacije u web okruženju. Napravite direktorij pod svojim sustavom u kojem želite smjestiti web datoteke i premjestite sav web sadržaj u taj direktorij.

Ovaj vodič koristi /opt/web_vmstats/ za ugošćavanje svih web datoteka aplikacije, ali možete kreirati proizvoljnu stazu na vašem sustavu koju želite, samo se pobrinite da zadržite apsolutnu web stazu.

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

5. Sljedeći korak je preuzimanje i instaliranje programa za strujanje websocketd. Idite na službenu stranicu WebSocket i preuzmite paket koji odgovara arhitekturi vašeg sustava (Linux 64-bitni, 32-bitni ili ARM).

Na 32-bitnom sustavu
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
Na 64-bitnom sustavu
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Ekstrahirajte arhivu WebSocket pomoću naredbe unzip i kopirajte binarnu datoteku websocketd u izvršni put sustava kako biste je učinili dostupnom na razini cijelog sustava.

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

7. Sada ga možete testirati pokretanjem naredbe websocketd koristeći sljedeću sintaksu naredbe.

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

Opis svakog parametra objašnjen u nastavku.

  1. –port=8080: Port koji se koristi za povezivanje na HTTP protokol – možete koristiti bilo koji broj porta koji želite.
  2. –staticdir=/opt/web_vmstats/: Staza na kojoj se nalaze sve web-datoteke Web-Vmstat.
  3. /usr/bin/vmstat -n 1: Linux Vmstat naredba koja ažurira svoj status svake sekunde.

Korak 2: Stvorite početnu datoteku

8. Ovaj korak nije obavezan i radi samo sa sustavima koji podržavaju init skriptu. Za upravljanje WebSocket procesom kao demonom sustava kreirajte servisnu datoteku init na stazi /etc/init.d/ sa sljedećim sadržajem.

nano /etc/init.d/web-vmstats

Dodajte sljedeći sadržaj.

#!/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. Nakon što je datoteka stvorena, dodajte dozvole za izvršenje i upravljajte procesom pomoću prekidača start ili stop.

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

10. Ako je vaš Vatrozid aktivan, uredite /etc/sysconfig/iptables datoteku vatrozida i otvorite port koji koristi websocketd proces kako biste ga učinili dostupnim za vanjske veze.

nano /etc/sysconfig/iptables

Ako koristite priključak 8080 kao u ovom vodiču, dodajte sljedeći redak u datoteku iptables nakon pravila koje otvara priključak 22.

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

11. Za dovršetak cijelog procesa ponovno pokrenite uslugu iptables kako biste primijenili novo pravilo.

service iptables restart
service web-vmstats start

Otvorite preglednik i upotrijebite sljedeći URL za prikaz statistike sustava Vmstats.

http://system_IP:8080

12. Za prikaz imena, verzije i drugih pojedinosti o vašem trenutnom računalu i operativnom sustavu koji radi na njemu. Idite na stazu datoteke Web-Vmstat i pokrenite sljedeće naredbe.

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

13. Zatim otvorite datoteku index.html i dodajte sljedeći javascript kod ispred

reda.

nano index.html

Koristite sljedeći 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. Za pregled konačnog rezultata osvježite web stranicu http://system_IP:8080 i trebali biste vidjeti informacije i statistiku uživo o vašem trenutnom računalu kao na snimkama zaslona u nastavku.