Web VMStat: Et sanntidssystemstatistikk (minne, CPU, prosesser, etc) overvåkingsverktøy for Linux


Web-Vmstat det er en liten applikasjon skrevet i Java og HTML som viser live Linux-systemstatistikk, for eksempel Minne, CPU, I /O, Prosesser osv. overtatt vmstat-overvåkingskommandolinjen på en pen nettside med diagrammer (SmoothieCharts) og diagrammer gjennom WebSocket-strømmer ved hjelp av websocketd-programmet.

Jeg har tatt opp en rask videogjennomgang av hva applikasjonen kan gjøre på et Gentoo-system.

Krav

På et Linux-system må følgende verktøy installeres.

  1. En wget for å hente filer ved hjelp av HTTP-, HTTPS- og FTP-protokoller.
  2. Nano eller VI CLI tekstredigerer.
  3. Unzip Archive Extractor.

Denne veiledningen vil veilede deg gjennom å installere Web-Vmstat-applikasjonen på CentOS 6.5, men prosedyren er gyldig for alle Linux-distribusjoner, de eneste tingene som skiller seg er bare init-skript (valgfritt), som hjelper deg å administrere hele prosessen enklere.

Les også: Overvåk Linux-ytelse ved hjelp av Vmstat-kommandoer

Trinn 1: Installer Web-Vmstat

1. Før du fortsetter med å installere Web-Vmstat, sørg for at du har alle de nødvendige kommandoene ovenfor installert på systemet ditt. Du kan bruke pakkebehandling som kommandoen yum, apt-get osv. for å installere den. For eksempel, under CentOS-systemer, bruker vi yum-kommandoen for å installere den.

yum install wget nano unzip

2. Gå nå til Veb-Vmstat offisielle nettside på og last ned den nyeste versjonen ved å bruke Last ned ZIP-knappen eller bruk wget for å laste ned fra kommandolinjen.

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

3. Pakk ut det nedlastede master.zip-arkivet ved å bruke unzip-verktøyet og gå inn i den utpakkede mappen.

unzip master.zip
cd web-vmstats-master

4. Nettkatalogen inneholder HTML- og Java-filene som trengs for at programmet skal kjøre i et nettmiljø. Opprett en katalog under systemet ditt der du vil være vert for webfilene og flytt alt webinnhold til den katalogen.

Denne opplæringen bruker /opt/web_vmstats/ for å være vert for alle applikasjonsnettfiler, men du kan lage hvilken som helst vilkårlig bane på systemet ditt du liker, bare forsikre deg om at du beholder den absolutte nettbanen.

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

5. Neste trinn er å laste ned og installere strømmeprogrammet websocketd. Gå til den offisielle WebSocket-siden og last ned pakken for å matche systemarkitekturen din (Linux 64-bit, 32-bit eller ARM).

På 32-bits system
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
På 64-bits system
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Pakk ut WebSocket-arkivet med unzip-kommandoen og kopier websocketd binært til en systemkjørbar bane for å gjøre den tilgjengelig hele systemet.

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

7. Nå kan du teste den ved å kjøre kommandoen websocketd ved å bruke følgende kommandosyntaks.

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

Beskrivelse av hver parameter forklart nedenfor.

  1. –port=8080: En port som brukes til å koble til på HTTP-protokollen – du kan bruke hvilket portnummer du vil.
  2. –staticdir=/opt/web_vmstats/: Banen der alle Web-Vmstat-nettfiler er vert.
  3. /usr/bin/vmstat -n 1: En Linux Vmstat-kommando som oppdaterer statusen hvert sekund.

Trinn 2: Opprett Init-fil

8. Dette trinnet er valgfritt og fungerer bare med init-skriptstøttede systemer. For å administrere WebSocket-prosessen som en systemdemon oppretter du en init-tjenestefil på /etc/init.d/-banen med følgende innhold.

nano /etc/init.d/web-vmstats

Legg til følgende innhold.

#!/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. Etter at filen er opprettet, legg til utførelsestillatelser og administrer prosessen ved å bruke start eller stopp brytere.

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

10. Hvis brannmuren din er aktiv, rediger /etc/sysconfig/iptables brannmurfil og åpne porten som brukes av websocketd-prosessen for å gjøre den tilgjengelig for eksterne tilkoblinger.

nano /etc/sysconfig/iptables

Hvis du bruker port 8080 som i denne opplæringen, legg til følgende linje i iptables-filen etter regelen som åpner port 22.

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

11. Start iptables-tjenesten på nytt for å fullføre hele prosessen for å bruke den nye regelen.

service iptables restart
service web-vmstats start

Åpne en nettleser og bruk følgende URL for å vise Vmstats systemstatistikk.

http://system_IP:8080

12. For å vise navn, versjon og andre detaljer om din nåværende maskin og operativsystemet som kjører på den. Gå til Web-Vmstat filbane og kjør følgende kommandoer.

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

13. Åpne deretter filen index.html og legg til følgende javascript-kode før

-linjen.

nano index.html

Bruk følgende JavaScript-kode.

<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. For å se det endelige resultatet, oppdater http://system_IP:8080 nettsiden og du bør se informasjon og live-statistikk om din nåværende maskin som i skjermbildene nedenfor.