「リソース監視をサーバーにログインせずに簡単に行いたい」
「GlancesをWebモードで起動して、ブラウザでリソースを監視したい」
このような場合には、この記事の内容が参考となります。
この記事では、ブラウザによるリソース監視の方法を解説しています。
本記事の内容
- ブラウザによるリソース監視とは?
- ブラウザによるリソース監視のために必要なモノ
- ブラウザによるリソース監視の動作確認
- ブラウザによるリソース監視のセキュリティ対策
それでは、上記に沿って解説していきます。
ブラウザによるリソース監視とは?
最初に、リソース監視を定義しておきます。
ここで言うリソース監視とは、CPUやメモリなどの利用率を監視することです。
例えば、Glancesというツールを利用すれば以下を監視することが可能になります。
- CPU
- Memory
- Load
- Process list
- Network interface
- Disk I/O
- IRQ / Raid
- Sensors
- Filesystem (and folders)
- Docker
- Monitor
- Alert
- System info
- Uptime
- Quicklook (CPU, MEM, LOAD)
イメージとしては、以下の画面です。
この画面は、Glancesをターミナル上で起動させています。
Linuxユーザーであれば、topコマンドと同じようなモノだと考えればよいでしょう。
それのパワーアップ版が、Glanceということです。
Glanceを使えば、このようなリソース監視をブラウザでも可能になります。
通常は、ターミナルを起動してコマンドでチマチマするのが基本です。
その際、各サーバーにSSHでアクセスする必要があります。
ログインできたら、コマンドをチマチマという感じです。
しかし、そんな面倒なことをする必要がありません。
Chromeなどのブラウザで簡単に確認できるのです。
また、スマホでも確認できるように、レスポンシブ対応となっています。
以上、ブラウザによるリソース監視について説明しました。
次は、ブラウザによるリソース監視のために必要なモノを説明します。
ブラウザによるリソース監視のために必要なモノ
実現方法は、一つに限りません。
今回は、極力簡単に実現できる方法を説明します。
そのためには、Pythonが動くことが前提となります。
インストールするのは、次の2つのライブラリだけです。
- Glances
- Bottle
Glancesは、上記ですでに取り上げています。
Glancesのインストール方法を含めての詳細は、次の記事をご覧ください。
そして、Bottleというライブラリが必要になります。
Bottleについては、次の記事で解説しています。
上記の記事を参考にして、これらを用意します。
この時点でインストール済みのパッケージは、以下のようになります。
$ pip list Package Version ---------- ------- bottle 0.12.19 defusedxml 0.7.1 future 0.18.2 Glances 3.2.5 packaging 21.3 pip 22.1.1 psutil 5.9.1 pyparsing 3.0.9 setuptools 62.3.2 wheel 0.36.2
以上、ブラウザによるリソース監視のために必要なモノを説明しました。
次は、ブラウザによるリソース監視の動作確認を説明します。
ブラウザによるリソース監視の動作確認
まず、ターミナル上で次のコマンドを実行します。
glances -w
上記を実行すると、次のように表示されます。
$ glances -w Glances Web User Interface started on http://0.0.0.0:61208/
「http://0.0.0.0:61208/」でリソース監視のWebアプリが公開されたことがわかります。
このURLにブラウザでアクセスすると、次のような画面が確認できます。
ただし、ポート61208を閉じていたらアクセスはできません。
そのため、閉じている場合はポート61208を開放しましょう。
Ubuntuであれば、次のコマンドで開放できます。
sudo ufw allow 61208
ここで一つ気になることがありませんか?
仮にサーバーを外部公開した場合、誰でもこの画面を見ることができるのです。
それでは、セキュリティがガバガバ過ぎます。
そのような場合には、認証を設けることができます。
以上、ブラウザによるリソース監視の動作確認
次は、ブラウザによるリソース監視のセキュリティ対策を説明します。
ブラウザによるリソース監視のセキュリティ対策
具体的に表現すると、GlancesのWebモードに認証を設定します。
これにより、セキュリティのレベルを上げることができます。
認証を設けるには、次のオプションを付けて起動させます。
glances -w --password -u ユーザー名
「-u ユーザー名」は省略できます。
省略した場合は、「glances」というユーザー名になります。
実際に実行した結果は、以下。
$ glances -w --password -u monitor Define the Glances webserver password (monitor username): Password (confirm): Do you want to save the password? [Yes/No]: Yes Glances Web User Interface started on http://0.0.0.0:61208/
パスワードは、同じモノを2度入力する必要があります。
パスワードを保存するなら、「Yes」を入力します。
「Yes」を選んだ場合は、以下の場所にファイルが作成されます。
「~/.config/glances」
$ ls ~/.config/glances monitor.pwd
「ユーザー名.pwd」でファイルが作成されているのです。
その中身は、ハッシュ化されたパスワードが記入されています。
では、ブラウザでアクセスしてみます。
そうすると、次のような認証画面が表示されます。
設定したユーザー名とパスワードを入力します。
認証が通れば、リソース監視の画面が表示されます。
以上、ブラウザによるリソース監視のセキュリティ対策を説明しました。