Web VMStat: Statistika ta' Sistema f'Ħin Real (Memorja, CPU, Proċess, eċċ) Għodda ta' Monitoraġġ għal Linux


Web-Vmstat hija applikazzjoni żgħira miktuba f'Java u HTML li turi statistika diretta tas-sistema Linux, bħal Memory, CPU, I /O, Proċessi, eċċ meħuda fuq il-linja tal-kmand tal-monitoraġġ tal-vmstat f'paġna tal-Web sabiħa bi mapep (WebSocket streams bl-użu tal-programm websocketd.

Stajt irreġistrajt reviżjoni tal-vidjo malajr ta’ x’tista’ tagħmel l-applikazzjoni fuq sistema Gentoo.

Fuq sistema Linux għandhom jiġu installati l-utilitajiet li ġejjin.

  1. Wget għall-irkupru ta' fajls bl-użu ta' protokolli HTTP, HTTPS u FTP.
  2. Nano jew VI CLI Test Editor.
  3. Unzip Archive Extractor.

Dan it-tutorja jiggwidak fl-installazzjoni tal-applikazzjoni Web-Vmstat fuq CentOS 6.5, iżda l-proċedura hija valida għad-distribuzzjonijiet kollha tal-Linux, l-uniċi affarijiet li huma differenti huma biss l-iskripts tal-bidu (mhux obbligatorju), li jgħinek timmaniġġja aktar faċli l-proċess kollu.

Aqra wkoll: Immonitorja l-Prestazzjoni tal-Linux billi tuża Kmandi Vmstat

Pass 1: Installa Web-Vmstat

1. Qabel ma tipproċedi bl-installazzjoni ta' Web-Vmstat, kun żgur li għandek il-kmandi kollha meħtieġa t'hawn fuq installati fis-sistema tiegħek. Tista 'tuża maniġer tal-pakketti bħal yum, apt-get, eċċ kmand biex tinstallah. Pereżempju, taħt is-sistemi CentOS, nużaw il-kmand yum biex ninstallawh.

# yum install wget nano unzip

2. Issa mur fuq il-paġna web uffiċjali ta' Veb-Vmstat fuq u niżżel l-aħħar verżjoni billi tuża l-buttuna Niżżel ZIP jew uża wget biex tniżżel mil-linja tal-kmand.

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

3. Oħroġ l-arkivju mniżżel master.zip billi tuża l-utilità unzip u daħħal fil-folder estratt.

# unzip master.zip
# cd web-vmstats-master

4. Id-direttorju tal-web għandu l-fajls HTML u Java meħtieġa biex l-applikazzjoni taħdem f'ambjent tal-Web. Oħloq direttorju taħt is-sistema tiegħek fejn trid tospita l-fajls tal-Web u tmexxi l-kontenut kollu tal-web għal dak id-direttorju.

Dan it-tutorja juża /opt/web_vmstats/ biex jospita l-fajls tal-web tal-applikazzjoni kollha, iżda tista' toħloq kwalunkwe mogħdija arbitrarja fis-sistema tiegħek li tixtieq, sempliċement nassigurak li żżomm il-mogħdija assoluta tal-web.

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

5. Il-pass li jmiss huwa li tniżżel u tinstalla websocketd programm ta 'streaming. Mur fil-paġna uffiċjali tal-WebSocket u niżżel il-pakkett biex jaqbel mal-arkitettura tas-sistema tiegħek (Linux 64-bit, 32-bit jew ARM).

# wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
# wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Oħroġ l-arkivju WebSocket bi kmand unzip u kkopja websocketd binarju għal mogħdija eżekutibbli tas-sistema biex tagħmilha disponibbli fis-sistema kollha.

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

7. Issa tista' tittestjaha billi tħaddem il-kmand websocketd billi tuża s-sintassi tal-kmand li ġejja.

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

Deskrizzjoni ta' kull parametru spjegat hawn taħt.

  1. –port=8080: Port użat biex tikkonnettja fuq protokoll HTTP – tista' tuża kwalunkwe numru tal-port li trid.
  2. –staticdir=/opt/web_vmstats/: It-triq fejn il-fajls kollha tal-web Web-Vmstat huma ospitati.
  3. /usr/bin/vmstat -n 1: Kmand Linux Vmstat li jaġġorna l-istatus tiegħu kull sekonda.

Pass 2: Oħloq Init File

8. Dan il-pass huwa fakultattiv u jaħdem biss b'sistemi appoġġjati bl-iskript init. Biex timmaniġġja l-proċess tal-WebSocket bħala daemon tas-sistema oħloq fajl tas-servizz init fuq il-mogħdija /etc/init.d/ bil-kontenut li ġej.

# nano /etc/init.d/web-vmstats

Żid il-kontenut li ġej.

#!/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. Wara li l-fajl ikun inħoloq, ehmeż il-permessi tal-eżekuzzjoni u mmaniġġja l-proċess billi tuża swiċċijiet start jew stop.

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

10. Jekk il-Firewall tiegħek huwa attiv editja l-fajl /etc/sysconfig/iptables tal-firewall u iftaħ il-port użat mill-proċess websocketd biex jagħmilha disponibbli għal konnessjonijiet esterni.

# nano /etc/sysconfig/iptables

Jekk tuża l-port 8080 bħal f'dan it-tutorja żid il-linja li ġejja mal-fajl iptables wara r-regola li tiftaħ il-port 22.

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

11. Biex tiffinalizza l-proċess kollu erġa ibda s-servizz iptables biex tapplika r-regola l-ġdida.

# service iptables restart
# service web-vmstats start

Iftaħ browser u uża l-URL li ġej biex turi l-istatistika tas-sistema Vmstats.

http://system_IP:8080

12. Biex turi l-isem, il-verżjoni u dettalji oħra dwar il-magna attwali tiegħek u s-sistema operattiva li taħdem fuqha. Mur fil-mogħdija tal-fajls Web-Vmstat u mexxi l-kmandi li ġejjin.

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

13. Imbagħad iftaħ il-fajl index.html u żid il-kodiċi javascript li ġej qabel il-linja

.

# nano index.html

Uża l-kodiċi JavaScript li ġej.

<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. Biex tara r-riżultat finali aġġorna l-paġna web http://system_IP:8080 u għandek tara informazzjoni u statistika diretta dwar il-magna attwali tiegħek bħal fil-screenshots hawn taħt.