Wyszukiwanie w witrynie

Web VMStat: narzędzie do monitorowania statystyk systemowych w czasie rzeczywistym (pamięć, procesor, procesy itp.) dla systemu Linux


Web-Vmstat to mała aplikacja napisana w języku Java i HTML, która wyświetla na żywo statystyki systemu Linux, takie jak Pamięć, CPU, I /O, Procesy itp. przejęły linię poleceń monitorowania vmstat na ładnej stronie internetowej z wykresami (SmoothieCharts) i diagramami poprzez strumienie WebSocket przy użyciu programu websocketd.

Nagrałem krótką wideorecenzję możliwości aplikacji w systemie Gentoo.

Wymagania

W systemie Linux należy zainstalować następujące narzędzia.

  1. Wget do pobierania plików przy użyciu protokołów HTTP, HTTPS i FTP.
  2. Edytor tekstu Nano lub VI CLI.
  3. Rozpakuj ekstraktor archiwów.

Ten samouczek poprowadzi Cię przez proces instalacji aplikacji Web-Vmstat na CentOS 6.5, ale procedura ta dotyczy wszystkich dystrybucji Linuksa, różnią się tylko init skrypty (opcjonalnie), które pomogą Ci łatwiej zarządzać całym procesem.

Przeczytaj także: Monitoruj wydajność systemu Linux za pomocą poleceń Vmstat

Krok 1: Zainstaluj Web-Vmstat

1. Przed przystąpieniem do instalacji Web-Vmstat upewnij się, że masz zainstalowane w systemie wszystkie powyższe wymagane polecenia. Aby go zainstalować, możesz użyć menedżera pakietów, takiego jak yum, apt-get itp. Na przykład w systemach CentOS używamy polecenia yum, aby go zainstalować.

yum install wget nano unzip

2. Teraz przejdź do oficjalnej strony internetowej Veb-Vmstat pod adresem i pobierz najnowszą wersję za pomocą przycisku Pobierz ZIP lub użyj wget, aby pobrać z wiersza poleceń.

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

3. Wyodrębnij pobrane archiwum master.zip za pomocą narzędzia unzip i wejdź do rozpakowanego folderu.

unzip master.zip
cd web-vmstats-master

4. Katalog internetowy zawiera pliki HTML i Java potrzebne do działania aplikacji w środowisku internetowym. Utwórz w swoim systemie katalog, w którym chcesz przechowywać pliki internetowe, i przenieś całą zawartość internetową do tego katalogu.

W tym samouczku zastosowano /opt/web_vmstats/ do hostowania wszystkich plików sieciowych aplikacji, ale możesz utworzyć w systemie dowolną ścieżkę, która Ci się podoba, pamiętaj tylko o zachowaniu bezwzględnej ścieżki sieciowej.

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

5. Następnym krokiem jest pobranie i zainstalowanie programu do przesyłania strumieniowego websocketd. Przejdź na oficjalną stronę WebSocket i pobierz pakiet pasujący do architektury Twojego systemu (Linux 64-bitowy, 32-bitowy lub ARM).

W systemie 32-bitowym
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
W systemie 64-bitowym
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. Wyodrębnij archiwum WebSocket za pomocą polecenia unzip i skopiuj plik binarny websocketd do systemowej ścieżki wykonywalnej, aby go udostępnić ogólnosystemowy.

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

7. Teraz możesz to przetestować, uruchamiając polecenie websocketd, korzystając z następującej składni polecenia.

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

Opis każdego parametru wyjaśniono poniżej.

  1. –port=8080: Port używany do łączenia się za pomocą protokołu HTTP – możesz użyć dowolnego numeru portu.
  2. –staticdir=/opt/web_vmstats/: Ścieżka, w której przechowywane są wszystkie pliki internetowe Web-Vmstat.
  3. /usr/bin/vmstat -n 1: Komenda Vmstat systemu Linux, która aktualizuje swój status co sekundę.

Krok 2: Utwórz plik init

8. Ten krok jest opcjonalny i działa tylko w systemach obsługujących skrypt init. Aby zarządzać procesem WebSocket jako demon systemowy, utwórz plik usługi init w ścieżce /etc/init.d/ z następującą treścią.

nano /etc/init.d/web-vmstats

Dodaj następującą treść.

#!/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. Po utworzeniu pliku dodaj uprawnienia do wykonywania i zarządzaj procesem za pomocą przełączników start lub stop.

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

10. Jeśli zapora sieciowa jest aktywna, edytuj plik /etc/sysconfig/iptables zapory sieciowej i otwórz port używany przez proces websocketd, aby udostępnić go dla połączeń zewnętrznych.

nano /etc/sysconfig/iptables

Jeśli używasz portu 8080, jak w tym samouczku, dodaj następujący wiersz do pliku iptables po regule otwierającej port 22.

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

11. Aby sfinalizować cały proces, uruchom ponownie usługę iptables, aby zastosować nową regułę.

service iptables restart
service web-vmstats start

Otwórz przeglądarkę i użyj następującego adresu URL, aby wyświetlić statystyki systemowe Vmstats.

http://system_IP:8080

12. Aby wyświetlić nazwę, wersję i inne szczegóły dotyczące bieżącego komputera i działającego na nim systemu operacyjnego. Przejdź do ścieżki plików Web-Vmstat i uruchom następujące polecenia.

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

13. Następnie otwórz plik index.html i dodaj następujący kod JavaScript przed linią

.

nano index.html

Użyj poniższego kodu JavaScript.

<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. Aby zobaczyć końcowy wynik, odśwież stronę internetową http://system_IP:8080 i powinieneś zobaczyć informacje i aktualne statystyki dotyczące aktualnej maszyny, jak na zrzutach ekranu poniżej.