はじめに
サーバーを運用していると「今このマシンのCPU・メモリはどれくらい使われているか」を手早く確認したい場面が多くあります。topやhtopはターミナル上で確認する定番コマンドですが、Glancesはそれをさらに拡張し、Web UIやREST APIからも同じ情報を参照できるようにしたオープンソースの監視ツールです。
Glancesの位置づけ:稼働監視ツールとの違い
自宅サーバー界隈では、Uptime Kumaのような「稼働監視(アップタイムモニタリング)」ツールもよく使われますが、Glancesとは監視している対象のレイヤーが異なります。
| 観点 | Uptime Kumaのような稼働監視 | Glances |
|---|---|---|
| 監視対象 | サービスが応答するか(HTTP応答・ポート疎通など) | マシン自体のリソース使用状況(CPU・メモリ・ディスク・ネットワーク等) |
| 典型的な問い | 「このWebサイトは今動いているか」 | 「このサーバーは今どれくらい負荷がかかっているか」 |
| 検知するもの | サービスのダウン・復旧 | リソース逼迫の兆候(CPU高騰、ディスク容量不足など) |
両者は代替関係ではなく、組み合わせて使うことで「サービスは動いているか」と「その裏でリソースはどれだけ消費されているか」の両方を把握できます。
主な利用形態
Glancesは1つのツールで複数の見せ方に対応しています。
-
CUI(ターミナル)モード:
glancesコマンドを実行するだけで、top/htopに近い画面がターミナル上に表示される -
Web UIモード:
-wオプションを付けて起動すると、ブラウザからアクセスできるWeb画面が立ち上がる - Web APIモード: Web UIを無効化しつつ、REST APIサーバーとしてのみ起動できる。他のダッシュボードツールが情報を取得する用途に向く
- クライアント/サーバーモード: 複数台のサーバーに常駐させたGlancesを、1台の画面から横断的に監視することもできる
Web APIモードでの起動例
glances -w --disable-webui -p 61208 --bind 0.0.0.0
-
-w: Web APIサーバーを起動する -
--disable-webui: Glances自身のWeb UI画面は無効化し、APIエンドポイントのみ有効にする -
-p: 待受ポート番号を指定する(デフォルトは61208) -
--bind: 待受アドレスを指定する(0.0.0.0は全インターフェースで待受)
起動後はhttp://<ホスト>:61208/api/4/cpuのようなURLにアクセスすると、CPU使用率などがJSON形式で取得できます。この形式のAPIを、自宅ダッシュボードツールなどのウィジェットから参照する、という使い方ができます。
常駐させる場合の注意
Glances自体は一度きりのコマンド実行ではなく、常時稼働させて初めて監視ツールとして機能します。Linuxサーバーで常駐プロセスとして動かす場合は、systemdのユニットファイルとして登録し、OS起動時に自動起動・異常終了時に自動再起動する構成にするのが一般的です(systemdユニットの基本については別記事で解説しています)。
またPython製ツールであるため、OS標準のパッケージ管理(aptなど)と衝突しないよう、pipでのインストール先を仮想環境(venv)に隔離することが推奨されます。
まとめ
| 項目 | 内容 |
|---|---|
| Glancesとは | CPU・メモリ・ディスク・ネットワーク等をひと目で確認できるシステムリソース監視ツール |
| 稼働監視との違い | 「サービスが動いているか」ではなく「マシンにどれだけ負荷がかかっているか」を見る |
| 利用形態 | CUI・Web UI・Web API・クライアント/サーバーモードに対応 |
| Web APIモード |
-w --disable-webuiでAPI専用サーバーとして起動でき、外部ツールから参照できる |