ウェブサイト検索

Web VMStat: Linux 用のリアルタイム システム統計 (メモリ、CPU、プロセスなど) 監視ツール


Web-Vmstat これは Java と HTML で書かれた小さなアプリケーションで、メモリCPUI などのライブ Linux システム統計を表示します。 /Oプロセス などは、websocketd プログラムを使用した WebSocket ストリームを通じて、チャート (SmoothieCharts) や図を含む美しい Web ページ内の vmstat 監視コマンド ラインを引き継ぎます。

このアプリケーションがGentoo システム上で何ができるかを簡単なビデオレビューで録画しました。

要件

Linux システムでは、次のユーティリティをインストールする必要があります。

  1. HTTP、HTTPS、FTP プロトコルを使用してファイルを取得するための wget。
  2. Nano または VI CLI テキスト エディター。
  3. アーカイブ エクストラクターを解凍します。

このチュートリアルでは、Web-Vmstat アプリケーションを CentOS 6.5 にインストールする方法を説明します。ただし、この手順はすべての Linux ディストリビューションに有効で、 異なるのは init スクリプト (オプション) を使用すると、プロセス全体をより簡単に管理できます。

こちらもお読みください: Vmstat コマンドを使用した Linux パフォーマンスの監視

ステップ 1: Web-Vmstat をインストールする

1. Web-Vmstat のインストールに進む前に、上記の必要なコマンドがすべてシステムにインストールされていることを確認してください。 yumapt-get などのパッケージ マネージャーを使用してインストールできます。たとえば、CentOS システムでは、yum コマンドを使用してインストールします。

yum install wget nano unzip

2. 次に、Veb-Vmstat 公式 Web ページにアクセスし、[ZIP をダウンロード] ボタンを使用して最新バージョンをダウンロードするか、wget を使用してコマンド ラインからダウンロードします。

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

3. unzip ユーティリティを使用して、ダウンロードした master.zip アーカイブを解凍し、解凍したフォルダーに移動します。

unzip master.zip
cd web-vmstats-master

4. Web ディレクトリには、Web 環境でアプリケーションを実行するために必要な HTML ファイルと Java ファイルが保持されます。システムの下に Web ファイルをホストするディレクトリを作成し、すべての Web コンテンツをそのディレクトリに移動します。

このチュートリアルでは、/opt/web_vmstats/ を使用してすべてのアプリケーション Web ファイルをホストしますが、システム上に任意のパスを作成できますが、絶対 Web パスは必ず保持してください。

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

5. 次のステップは、websocketd ストリーミング プログラムをダウンロードしてインストールすることです。公式 WebSocket ページに移動し、システム アーキテクチャ (Linux 64 ビット、32 ビット、または ARM) に一致するパッケージをダウンロードします。

32 ビット システムの場合
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
64 ビット システムの場合
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip

6. unzip コマンドを使用して WebSocket アーカイブを抽出し、websocketd バイナリをシステムの実行可能パスにコピーして利用できるようにします。システム全体。

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

7. これで、次のコマンド構文を使用して websocketd コマンドを実行してテストできるようになります。

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

各パラメータの説明は以下で説明します。

  1. –port=8080: HTTP プロトコルでの接続に使用されるポート。任意のポート番号を使用できます。
  2. –staticdir=/opt/web_vmstats/: すべての Web-Vmstat Web ファイルがホストされるパス。
  3. /usr/bin/vmstat -n 1: ステータスを毎秒更新する Linux Vmstat コマンド。

ステップ 2: 初期化ファイルを作成する

8. このステップはオプションであり、init スクリプトがサポートされているシステムでのみ機能します。システム デーモンとして WebSocket プロセスを管理するには、次の内容の init サービス ファイルを /etc/init.d/ パスに作成します。

nano /etc/init.d/web-vmstats

以下の内容を追加します。

#!/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. ファイルが作成されたら、実行権限を追加し、開始 スイッチまたは 停止 スイッチを使用してプロセスを管理します。

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

10. ファイアウォールがアクティブな場合は、/etc/sysconfig/iptables ファイアウォール ファイルを編集し、websocketd プロセスで使用されるポートを開いて外部接続に使用できるようにします。

nano /etc/sysconfig/iptables

このチュートリアルのようにポート 8080 を使用する場合は、iptables ファイルのポート 22 を開くルールの後に次の行を追加します。

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

11. プロセス全体を完了するには、iptables サービスを再起動して新しいルールを適用します。

service iptables restart
service web-vmstats start

ブラウザを開き、次の URL を使用して Vmstats システム統計を表示します。

http://system_IP:8080

12. 現在のマシンとそのマシンで実行されているオペレーティング システムに関する名前、バージョン、その他の詳細を表示します。 Web-Vmstat ファイル パスに移動し、次のコマンドを実行します。

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

13. 次に、index.html ファイルを開き、

行の前に次の JavaScript コードを追加します。

nano index.html

次の 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. 最終結果を表示するには、http://system_IP:8080 Web ページを更新すると、以下のスクリーンショットのように、現在のマシンに関する情報とライブ統計が表示されます。