Web VMStat: Linux 用のリアルタイム システム統計 (メモリ、CPU、プロセスなど) 監視ツール
Web-Vmstat これは Java と HTML で書かれた小さなアプリケーションで、メモリ、CPU、I などのライブ Linux システム統計を表示します。 /O や プロセス などは、websocketd プログラムを使用した WebSocket ストリームを通じて、チャート (SmoothieCharts) や図を含む美しい Web ページ内の vmstat 監視コマンド ラインを引き継ぎます。
このアプリケーションがGentoo システム上で何ができるかを簡単なビデオレビューで録画しました。
要件
Linux システムでは、次のユーティリティをインストールする必要があります。
- HTTP、HTTPS、FTP プロトコルを使用してファイルを取得するための wget。
- Nano または VI CLI テキスト エディター。
- アーカイブ エクストラクターを解凍します。
このチュートリアルでは、Web-Vmstat アプリケーションを CentOS 6.5 にインストールする方法を説明します。ただし、この手順はすべての Linux ディストリビューションに有効で、 異なるのは init スクリプト (オプション) を使用すると、プロセス全体をより簡単に管理できます。
こちらもお読みください: Vmstat コマンドを使用した Linux パフォーマンスの監視
ステップ 1: Web-Vmstat をインストールする
1. Web-Vmstat のインストールに進む前に、上記の必要なコマンドがすべてシステムにインストールされていることを確認してください。 yum や apt-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
各パラメータの説明は以下で説明します。
- –port=8080: HTTP プロトコルでの接続に使用されるポート。任意のポート番号を使用できます。
- –staticdir=/opt/web_vmstats/: すべての Web-Vmstat Web ファイルがホストされるパス。
- /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 ページを更新すると、以下のスクリーンショットのように、現在のマシンに関する情報とライブ統計が表示されます。