Web VMStat: Linux için Gerçek Zamanlı Sistem İstatistikleri (Bellek, CPU, Süreçler vb.) İzleme Aracı


Web-Vmstat Java ve HTML ile yazılmış, Bellek, CPU, I gibi canlı Linux sistem istatistiklerini görüntüleyen küçük bir uygulamadır. /O, Süreçler vb., websocketd programını kullanarak WebSocket akışları aracılığıyla grafikler (SmoothieCharts) ve diyagramlar içeren güzel bir Web sayfasında vmstat izleme komut satırını devraldı.

Uygulamanın bir Gentoo sisteminde neler yapabileceğine dair kısa bir video incelemesi kaydettim.

Gereksinimler

Bir Linux sisteminde aşağıdaki yardımcı programların kurulması gerekir.

  1. HTTP, HTTPS ve FTP protokollerini kullanarak dosyaları almak için bir wget.
  2. Nano veya VI CLI Metin Düzenleyicisi.
  3. Arşiv Çıkarıcı'yı açın.

Bu eğitim, CentOS 6.5'e Web-Vmstat uygulamasını yükleme konusunda size rehberlik edecektir, ancak prosedür tüm Linux dağıtımları için geçerlidir; farklılık gösteren tek şey yalnızca dağıtımlarıdır. tüm süreci daha kolay yönetmenize yardımcı olan init komut dosyalarını (isteğe bağlı) kullanın.

Ayrıca Okuyun: Vmstat Komutlarını Kullanarak Linux Performansını İzleyin

Adım 1: Web-Vmstat'ı yükleyin

1. Web-Vmstat kurulumuna devam etmeden önce, yukarıda gerekli olan tüm komutların sisteminizde kurulu olduğundan emin olun. Yüklemek için yum, apt-get vb. komut gibi paket yöneticisini kullanabilirsiniz. Örneğin CentOS sistemlerinde kurulum için yum komutunu kullanıyoruz.

yum install wget nano unzip

2. Şimdi adresindeki Veb-Vmstat resmi web sayfasına gidin ve ZIP İndir düğmesini kullanarak en son sürümü indirin veya komut satırından indirmek için wget'i kullanın.

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

3. İndirilen master.zip arşivini unzip yardımcı programını kullanarak çıkarın ve çıkartılan klasöre girin.

unzip master.zip
cd web-vmstats-master

4. Web dizini, uygulamanın Web ortamında çalışması için gereken HTML ve Java dosyalarını içerir. Sisteminizin altında Web dosyalarını barındırmak istediğiniz bir dizin oluşturun ve tüm web içeriğini bu dizine taşıyın.

Bu eğitimde, tüm uygulama web dosyalarını barındırmak için /opt/web_vmstats/ kullanılır, ancak sisteminizde istediğiniz herhangi bir yolu oluşturabilirsiniz; yalnızca mutlak web yolunu koruduğunuzdan emin olun.

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

5. Sonraki adım websocketd akış programını indirip kurmaktır. Resmi WebSocket sayfasına gidin ve sistem mimarinize (Linux 64-bit, 32-bit veya ARM) uygun paketi indirin.

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

6. unzip komutuyla WebSocket arşivini çıkarın ve kullanılabilir hale getirmek için websocketd ikili dosyasını sistemde yürütülebilir bir yola kopyalayın geniş sistem.

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

7. Artık aşağıdaki komut sözdizimini kullanarak websocketd komutunu çalıştırarak test edebilirsiniz.

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

Aşağıda açıklanan her parametrenin açıklaması.

  1. –port=8080: HTTP protokolüne bağlanmak için kullanılan bir bağlantı noktası; istediğiniz herhangi bir bağlantı noktası numarasını kullanabilirsiniz.
  2. –staticdir=/opt/web_vmstats/: Tüm Web-Vmstat web dosyalarının barındırıldığı yol.
  3. /usr/bin/vmstat -n 1: Durumunu her saniye güncelleyen bir Linux Vmstat komutu.

Adım 2: Başlangıç Dosyası Oluşturun

8. Bu adım isteğe bağlıdır ve yalnızca init komut dosyasının desteklediği sistemlerde çalışır. WebSocket sürecini bir sistem arka plan programı olarak yönetmek için /etc/init.d/ yolunda aşağıdaki içeriğe sahip bir init hizmet dosyası oluşturun.

nano /etc/init.d/web-vmstats

Aşağıdaki içeriği ekleyin.

#!/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. Dosya oluşturulduktan sonra, yürütme izinlerini ekleyin ve başlat veya durdur anahtarlarını kullanarak süreci yönetin.

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

10. Güvenlik Duvarınız etkinse /etc/sysconfig/iptables güvenlik duvarı dosyasını düzenleyin ve websocketd işlemi tarafından kullanılan bağlantı noktasını dış bağlantılara uygun hale getirmek için açın.

nano /etc/sysconfig/iptables

Bu eğitimdeki gibi 8080 numaralı bağlantı noktasını kullanıyorsanız, 22 numaralı bağlantı noktasını açan kuraldan sonra iptables dosyasına aşağıdaki satırı ekleyin.

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

11. Tüm süreci tamamlamak için yeni kuralı uygulamak üzere iptables hizmetini yeniden başlatın.

service iptables restart
service web-vmstats start

Bir tarayıcı açın ve Vmstats sistem istatistiklerini görüntülemek için aşağıdaki URL'yi kullanın.

http://system_IP:8080

12. Mevcut makineniz ve üzerinde çalışan işletim sistemi hakkındaki adı, sürümü ve diğer ayrıntıları görüntülemek için. Web-Vmstat dosya yoluna gidin ve aşağıdaki komutları çalıştırın.

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

13. Daha sonra index.html dosyasını açın ve

satırının önüne aşağıdaki javascript kodunu ekleyin.

nano index.html

Aşağıdaki JavaScript kodunu kullanın.

<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. Nihai sonucu görüntülemek için http://system_IP:8080 web sayfasını yenileyin; aşağıdaki ekran görüntülerinde olduğu gibi mevcut makinenizle ilgili bilgileri ve canlı istatistikleri görmelisiniz.