2026年6月23日

2026年6月23日

Glancesでシステムリソースを監視する方法(導入・画面の読み方・しきい値とWeb表示の安全な使い方)

Glances は、CPU・メモリ・ディスク・ネットワーク・プロセスを1画面にまとめて表示する Python 製のオープンソース監視ツールです。サーバーに入れて glances と打つだけで「いま何が重いのか」をつかめ、設定ファイルでしきい値を決めれば、注意すべき値を色で知らせてくれます。この記事では、WordPress を載せた VPS を例に、インストール、画面の読み方、しきい値の調整、Web 画面を外部に公開せずに使う方法、記録を残す方法までを説明します。

Glancesでできることと、向いている場面

Glances は top や htop のように「その瞬間」を見るツールの延長にありますが、1画面に載る情報が多いのが特徴です。CPU とロードアベレージ、メモリとスワップ、ディスク I/O、ファイルシステムの使用率、ネットワークの送受信量、プロセス一覧、取れる環境ならセンサー温度まで並びます。

向いているのは次のような場面です。

  • サイトが急に遅くなったとき、原因が CPU なのか、メモリ不足でスワップしているのか、ディスク I/O 待ちなのかを切り分けたい
  • PHP-FPM や MySQL など、どのプロセスがリソースを使っているかを並べて見たい
  • 監視基盤を組むほどではないが、1台のサーバーを手早く観察したい

一方、長期間のグラフ化や、複数台をまとめた通知の仕組みは Glances 単体の守備範囲ではありません。そうした用途では Prometheus と Grafana などの監視基盤を組み、Glances は「その場の調査用」と割り切ると役割がはっきりします。

インストール方法

Glances のメジャーバージョンは 4 系が現行です(2026年10月現在)。ディストリビューションのパッケージは手軽ですが、古い版が入ることがあります。

パッケージで入れる

Ubuntu / Debian なら標準リポジトリにあります。

sudo apt update
sudo apt install glances
glances --version

--version で入った版を確認しておきます。古い版だと、後述の Web 画面や設定項目が公式ドキュメントと食い違うことがあります。

pipxで新しい版を入れる

新しい版を使いたい場合は、システムの Python 環境を汚さない pipx での導入が扱いやすいです。Web 画面を使うには追加の依存パッケージが必要なため、extra を指定して入れます。

sudo apt install pipx
pipx ensurepath
pipx install 'glances[web]'

extra の名前や必要な依存は版によって変わることがあるため、うまく入らないときは公式ドキュメントのインストール手順を確認してください。sudo pip install でシステムの Python に直接入れる方法は、OS のパッケージと衝突する原因になるので避けたほうが安全です。

画面の読み方

glances を起動すると、上から順に概要、左にネットワークやディスク、右にプロセス一覧が並びます。値は色分けされ、緑は問題なし、青は注意(careful)、紫は警告(warning)、赤は危険(critical)を表すのが既定の配色です(端末の配色設定で見え方は変わります)。

見るべき点を、遅延の原因別に整理します。

  • CPU が高い: user が高ければアプリケーション(PHP など)の処理、system が高ければカーネル側、iowait が高ければディスク待ちです。iowait が高いのに CPU 使用率そのものは低い場合、CPU を増やしても改善しません。
  • ロードアベレージ: CPU のコア数と比べて読みます。4コアで load が 4 前後なら目いっぱい、大きく超えていれば処理待ちが積み上がっています。
  • MEM と SWAP: メモリ使用率が高いだけなら、Linux はキャッシュにメモリを使うので問題とは限りません。スワップの使用量が増え続けている、またはディスク I/O と同時に増えている場合は、実メモリが足りていないサインです。
  • プロセス一覧: どのプロセスが CPU やメモリを使っているかを確認します。php-fpm が大量に並んでメモリを使っていれば、PHP-FPM の子プロセス数の設定を見直す候補になります。

起動中はキー操作で表示を切り替えられます。h でヘルプ、q で終了、1 で CPU をコアごとに表示、c で CPU 順、m でメモリ順に並べ替えるのがよく使う操作です。キーの割り当ては版によって追加・変更されることがあるので、h のヘルプ画面で確認するのが手早い方法です。

画面下部には、しきい値を超えた出来事の履歴が出ます。「いつ警告になったか」を後から確認できるので、席を外していた間に何が起きたかを見るのに便利です。

しきい値を自分のサーバーに合わせる

色分けの基準は設定ファイル glances.conf で変えられます。ユーザー単位なら ~/.config/glances/glances.conf、全体なら /etc/glances/glances.conf が主な置き場所です。-C オプションで任意のファイルを指定することもできます。

設定ファイルは、公式リポジトリに含まれるサンプルをコピーして編集するのが安全です。セクション名や項目名は版によって増減するため、手入力で一から書くより、使っている版のサンプルを元にしたほうが食い違いが起きにくくなります。

[cpu]
user_careful=50
user_warning=70
user_critical=90

[mem]
careful=60
warning=75
critical=90

[memswap]
careful=30
warning=50
critical=70

[fs]
careful=70
warning=80
critical=90

数値はパーセントです。WordPress のサーバーでは、MySQL のバッファや PHP-FPM のプロセスで常にメモリ使用率がある程度高く見えることが多いので、既定値のままだと青や紫が出続けて「いつもの色」になってしまいます。普段の値を数日観察し、平常時は緑に収まり、異常時にだけ色が変わる水準に調整すると、警告の意味が保たれます。

設定項目には、しきい値を超えたときにコマンドを実行する仕組み(action)もあります。ただし、Glances を起動している間しか動かないため、無人での通知の主役には向きません。常時の通知が必要なら、別途監視の仕組みを用意してください。

Web画面とAPIを安全に使う

Glances は -w オプションで Web サーバーとして起動でき、ブラウザから同じ情報を見られます。既定のポートは 61208 で、同じポートで REST API も提供されます。

ここで注意が必要なのは、何も指定せずに起動すると全インターフェースで待ち受ける場合があることです。プロセス名や負荷の状況は、攻撃者にとっても有用な情報です。インターネットに直接公開せず、次のどちらかの形にするのが基本です。

  • ローカルだけで待ち受け、SSH トンネルで見る: サーバー側は 127.0.0.1 にだけ bind し、手元の PC から SSH のポート転送で接続します。
  • リバースプロキシで認証をかける: Nginx などの背後に置き、Basic 認証や IP 制限をかけます。Glances 自体にも --password でパスワードを設定する機能があります。
# サーバー側: ローカルホストだけで待ち受ける
glances -w -B 127.0.0.1

# 手元のPC側: SSHのポート転送で接続し、ブラウザで http://localhost:61208/ を開く
ssh -L 61208:127.0.0.1:61208 user@your-server

ファイアウォール(ufw など)で 61208 番ポートを外部から閉じておけば、設定を誤ったときの保険になります。API のパス(/api/4/... のような形)はメジャーバージョンごとに変わるため、スクリプトから使うときは使っている版のドキュメントで確認してください。

Docker で動かす公開イメージもありますが、ホストのプロセスやコンテナを見せるために Docker ソケットをマウントする構成が案内されることがあります。Docker ソケットはホストの管理権限に近い強い権限を持つため、読み取り専用でマウントしても、そのコンテナの外部公開は避けてください。

記録を残して後から振り返る

Glances は表示するだけでなく、値を外部に出力(export)できます。手軽なのは CSV への書き出しです。

# 10秒間隔でCSVに記録する(画面は出さない)
glances -q -t 10 --export csv --export-csv-file /var/log/glances/glances.csv

障害が夜間に起きる場合、このように記録を残しておけば翌朝に「何時ごろからメモリが増え始めたか」を確認できます。ただし CSV は増え続けるので、logrotate などで世代管理をしてください。InfluxDB や Prometheus 向けの出力にも対応しており、本格的にグラフ化したくなったら監視基盤へ移る足がかりになります。

一時的な確認なら、特定の値だけを標準出力に流す使い方もできます。

glances --stdout cpu.user,mem.percent,load

うまく動かないときの確認

  • 起動しても一部の項目が出ない: センサーや RAID など、環境に依存する項目は対応する情報が取れないと表示されません。仮想サーバーでは温度センサーが出ないのが普通です。
  • Web 画面が開かない: glances[web] の依存が入っているか、待ち受けアドレスとポート、ファイアウォールを順に確認します。サーバー上で curl -I http://127.0.0.1:61208/ が応答するかを見ると、Glances 側の問題か経路の問題かを切り分けられます。
  • Glances 自体が重い: 更新間隔を -t で長くする、使わないプラグイン(表示項目)を設定で無効にする、といった方法で負荷を下げられます。リソースに余裕がない小さな VPS では、常時起動より必要なときだけ起動するほうが向いています。

まとめ

  • Glances は CPU・メモリ・ディスク・ネットワーク・プロセスを1画面で見られる、その場の調査に向いた監視ツールです。
  • 新しい版を使うなら pipx での導入が扱いやすく、Web 画面には追加の依存が必要です。
  • 読み方の要点は、iowait とスワップの増加、コア数と比べたロードアベレージ、どのプロセスが重いかの3点です。
  • しきい値は glances.conf で自分のサーバーの平常値に合わせると、色分けが意味を持ちます。
  • Web 画面と API は外部に公開せず、127.0.0.1 で待ち受けて SSH トンネルやリバースプロキシ経由で使います。
  • 長期の記録や無人の通知は、CSV 出力や監視基盤と組み合わせて補います。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲