Web VMStat: Reaaliaikainen järjestelmätilastojen (muisti, prosessori, prosessi jne.) seurantatyökalu Linuxille


Web-Vmstat on pieni Java- ja HTML-kielellä kirjoitettu sovellus, joka näyttää reaaliaikaiset Linux-järjestelmätilastot, kuten Muisti, CPU, I /O, Prosessit jne. valtasivat vmstat-valvonnan komentorivin kauniilla Web-sivulla, jossa on kaavioita (SmoothieCharts) ja kaavioita WebSocket-virtojen kautta websocketd-ohjelman avulla.

Olen tallentanut nopean videokatsauksen siitä, mitä sovellus voi tehdä Gentoo-järjestelmässä.

Vaatimukset

Linux-järjestelmään seuraavat apuohjelmat on asennettava.

  1. Wget tiedostojen hakemiseen HTTP-, HTTPS- ja FTP-protokollien avulla.
  2. Nano tai VI CLI tekstieditori.
  3. Pura arkiston purkuohjelma.

Tämä opetusohjelma opastaa sinua asentamaan Web-Vmstat -sovelluksen CentOS 6.5 -käyttöjärjestelmään, mutta menettely on voimassa kaikissa Linux-jakeluissa. Ainoat asiat, jotka eroavat toisistaan, ovat vain init-komentosarjat (valinnainen), joiden avulla voit hallita koko prosessia helpommin.

Lue myös: Tarkkaile Linuxin suorituskykyä Vmstat-komentojen avulla

Vaihe 1: Asenna Web-Vmstat

1. Ennen kuin jatkat Web-Vmstatin asentamista, varmista, että olet asentanut kaikki yllä mainitut vaaditut komennot järjestelmääsi. Voit asentaa sen paketinhallinnan avulla, kuten yum, apt-get jne. Esimerkiksi CentOS-järjestelmissä käytämme yum-komentoa sen asentamiseen.

yum install wget nano unzip

2. Siirry nyt Veb-Vmstatin viralliselle verkkosivulle osoitteessa ja lataa uusin versio Lataa ZIP -painikkeella tai lataa komentoriviltä käyttämällä wget-ohjelmaa.

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

3. Pura ladattu master.zip-arkisto unzip-apuohjelmalla ja siirry purettuun kansioon.

unzip master.zip
cd web-vmstats-master

4. Verkkohakemisto sisältää HTML- ja Java-tiedostot, joita sovellus tarvitsee toimiakseen verkkoympäristössä. Luo järjestelmäsi alle hakemisto, johon haluat isännöidä Web-tiedostoja, ja siirrä kaikki verkkosisältö tähän hakemistoon.

Tämä opetusohjelma käyttää tiedostoa /opt/web_vmstats/ kaikkien sovellusten verkkotiedostojen isännöimiseen, mutta voit luoda järjestelmääsi minkä tahansa polun, josta pidät. Varmista vain, että säilytät ehdottoman verkkopolun.

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

5. Seuraava vaihe on ladata ja asentaa websocketd -suoratoistoohjelma. Siirry viralliselle WebSocket-sivulle ja lataa paketti, joka vastaa järjestelmäsi arkkitehtuuria (64-bittinen, 32-bittinen Linux tai ARM).

32-bittisessä järjestelmässä
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
64-bittisessä järjestelmässä
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Pura WebSocket-arkisto unzip-komennolla ja kopioi websocketd-binaari järjestelmän suorituspolkuun, jotta se on käytettävissä. järjestelmän laajuinen.

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

7. Nyt voit testata sen suorittamalla websocketd-komennon käyttämällä seuraavaa komentosyntaksia.

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

Alla selitetty kunkin parametrin kuvaus.

  1. –port=8080: Portti, jota käytetään yhteyden muodostamiseen HTTP-protokollalla – voit käyttää mitä tahansa porttinumeroa.
  2. –staticdir=/opt/web_vmstats/: Polku, johon kaikki Web-Vmstat-verkkotiedostot isännöidään.
  3. /usr/bin/vmstat -n 1: Linuxin Vmstat-komento, joka päivittää tilansa sekunnin välein.

Vaihe 2: Luo aloitustiedosto

8. Tämä vaihe on valinnainen ja toimii vain init-skriptin tuetuissa järjestelmissä. Jos haluat hallita WebSocket-prosessia järjestelmädaemonina, luo init-palvelutiedosto polulle /etc/init.d/, jossa on seuraava sisältö.

nano /etc/init.d/web-vmstats

Lisää seuraava sisältö.

#!/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. Kun tiedosto on luotu, liitä suoritusoikeudet ja hallitse prosessia käynnistys- tai pysäytys-kytkimillä.

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

10. Jos palomuurisi on aktiivinen, muokkaa palomuuritiedostoa /etc/sysconfig/iptables ja avaa websocketd-prosessin käyttämä portti, jotta se on käytettävissä ulkopuolisille yhteyksille.

nano /etc/sysconfig/iptables

Jos käytät porttia 8080 kuten tässä opetusohjelmassa, lisää seuraava rivi iptables-tiedostoon portin 22 avaavan säännön jälkeen.

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

11. Viimeistele koko prosessi käynnistämällä iptables -palvelu uudelleen uuden säännön soveltamiseksi.

service iptables restart
service web-vmstats start

Avaa selain ja näytä Vmstats-järjestelmätilastot käyttämällä seuraavaa URL-osoitetta.

http://system_IP:8080

12. Näyttää nimen, version ja muita tietoja nykyisestä koneesta ja siinä käytettävästä käyttöjärjestelmästä. Siirry Web-Vmstat tiedostopolkuun ja suorita seuraavat komennot.

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

13. Avaa sitten index.html-tiedosto ja lisää seuraava JavaScript-koodi ennen riviä

.

nano index.html

Käytä seuraavaa JavaScript-koodia.

<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. Nähdäksesi lopullisen tuloksen, päivitä http://system_IP:8080-verkkosivu ja sinun pitäisi nähdä tiedot ja reaaliaikaiset tilastot nykyisestä koneestasi kuten alla olevissa kuvakaappauksissa.