伺服器跑起來之後,你是怎麼看它狀況的?SSH 進去跑 top,然後看著那個畫面發呆?還是裝了 Grafana 全套,但其實每次都只是看那兩條折線?

Glances 是個很實用但常被忽略的選項。Python 寫的開源系統監控工具,終端機、Web UI、REST API 都有,CPU、記憶體、磁碟、網路、容器全部一次看。重點是 4.5.1 版之後還內建了 MCP Server,Claude 可以直接問它「現在伺服器怎麼了」。


裝起來

推薦用 virtualenv 隔離,不然有些 Python 相依套件可能跟系統環境打架。

1
2
3
4
5
6
7
8
9
10
# 基本安裝
python3 -m venv ~/.venv
source ~/.venv/bin/activate
pip install glances

# 想要全功能(Web UI + MCP + 所有匯出外掛)
pip install 'glances[all]'

# 只要 Web UI
pip install 'glances[web]'

懶得設環境的話,pipxuvx 一行解決:

1
2
3
pipx install 'glances[all]'
# 或直接試試
uvx glances

macOS 用 Homebrew 也行,但版本可能稍舊:

1
brew install glances

基本用法

裝完之後,glances 啟動就是終端機儀表板。幾個常用的啟動方式:

指令 說明
glances 終端監控(TUI)
glances -w Web UI,預設 http://localhost:61208
glances -w --enable-mcp Web UI + MCP Server
glances -s XML-RPC 伺服器模式
glances -c <ip> 連到遠端 Glances Server
glances --browser 自動探索區網上的 Glances Server
glances --fetch 一次性快照,不持續刷新

七個實際用得到的情境

情境一:腳本整合 / cron 排程

不想跑完整 UI,只要把指標輸出到 stdout:

1
2
3
4
5
6
7
8
# 純文字
glances --stdout cpu.user,mem.used,load

# CSV(含時間戳,適合 Excel 匯入)
glances --stdout-csv now,cpu.user,mem.used,load

# JSON(給程式解析)
glances --stdout-json cpu,mem

適合 CI/CD pipeline 收集效能基準,或定時 cron 記錄趨勢。


情境二:Docker 容器監控

掛 Docker socket 就能看容器資源使用:

1
2
3
4
5
6
docker run --rm \
-e TZ="Asia/Taipei" \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--pid host \
--network host \
-it nicolargo/glances:latest-full

Docker Swarm / Compose 環境特別好用,OOM 風險一眼看出來。


情境三:多機遠端監控

不需要 Prometheus + Grafana 全套,小團隊幾台機器的情境:

1
2
3
4
5
6
7
8
# 被監控機器(伺服器端)
glances -s --password

# 你的工作機(客戶端)
glances -c 192.168.1.100 --password

# 自動探索區網所有 Glances Server
glances --browser

遠端除錯效能問題,SSH 進去還要裝 htop 的時代可以結束了。


情境四:Web UI + REST API

1
2
3
4
5
# 允許外部連線
glances -w -B 0.0.0.0

# 加密碼保護
glances -w --username --password

瀏覽器開 http://<ip>:61208,手機/平板也能看。同時還有 REST API:

1
2
3
curl http://localhost:61208/api/4/cpu
curl http://localhost:61208/api/4/mem
curl http://localhost:61208/api/4/pluginslist

自動化系統抓指標做告警判斷,API 直接用。


情境五:匯出到時序資料庫

Glances 可以持續推送指標到各種資料庫:

1
2
3
4
5
6
7
8
9
10
11
# InfluxDB
glances --export influxdb2

# Prometheus(pull 模式,endpoint: /metrics)
glances -w --export prometheus

# CSV 檔
glances --export csv --export-csv-file /tmp/glances.csv

# 同時匯出到多個目標
glances --export influxdb2,prometheus

支援的目標很廣:InfluxDB、Prometheus、ElasticSearch、PostgreSQL、Kafka、RabbitMQ…等等。結合 Grafana 就能做完整監控儀表板。


情境六:MCP Server 接 Claude

這是 4.5.1 版之後最有趣的功能。啟動 MCP Server 之後,Claude 可以直接查詢即時系統指標——不用你複製貼上,直接對話。

1
2
3
4
5
6
7
# 安裝 MCP 依賴
pip install 'glances[mcp]'

# 啟動
glances -w --enable-mcp
# MCP 端點: http://localhost:61208/mcp
# SSE 端點: http://localhost:61208/mcp/sse

Claude Desktop 設定(macOS ~/Library/Application Support/Claude/claude_desktop_config.json):

1
2
3
4
5
6
7
{
"mcpServers": {
"glances": {
"url": "http://localhost:61208/mcp/sse"
}
}
}

有密碼的話:

1
2
3
4
5
6
7
8
9
10
{
"mcpServers": {
"glances": {
"url": "http://localhost:61208/mcp/sse",
"headers": {
"Authorization": "Basic <base64(user:password)>"
}
}
}
}

連上之後,Glances 提供幾個 MCP Resource:

URI 說明
glances://plugins 所有啟用插件清單
glances://stats 全部指標當前數據
glances://stats/{plugin} 單一插件(如 cpu、mem)
glances://stats/{plugin}/history 歷史時序資料
glances://limits/{plugin} 告警閾值設定

還有內建的 MCP Prompt 模板,Claude 直接用就好:

Prompt 說明
system_health_summary 整體健康報告
alert_analysis 分析當前告警,給修復建議
top_processes_report 最耗 CPU 行程排名
storage_health 磁碟 I/O 分析

問 Claude「為什麼伺服器這麼慢?」,它會自己去 Glances 抓數據、分析、給你答案。


情境七:Python 程式化存取

1
2
3
4
5
6
7
from glances import api

gl = api.GlancesAPI()

gl.cpu.get("total") # → 7.3
gl.auto_unit(gl.mem.get("used")) # → '11.6G'
gl.network.keys() # → ['eth0', 'docker0']

自訂監控腳本、搭配 Slack webhook 做告警機器人都可以用這個。


常用 CLI 參數速查

參數 說明
-w 啟動 Web 伺服器(port 61208)
-s XML-RPC 伺服器模式
-c <ip> 客戶端連接遠端
-B <ip> 綁定到指定 IP
-p <port> 指定 port
--browser 自動探索區網
--enable-mcp 啟用 MCP Server
--fetch 一次性快照
--stdout <plugins> 純文字輸出
--stdout-csv CSV 格式輸出
--stdout-json JSON 格式輸出
--export <target> 匯出到指定目標
--username / --password 啟用帳號密碼保護

場景速查表

場景 指令 適合對象
本機快速監控 glances 個人開發者日常
遠端瀏覽器查看 glances -w 手機/平板遠端
多機集中監控 -s + -c + --browser 小型團隊管多台伺服器
容器監控 Docker 掛 socket Docker/Compose 運維
長期趨勢分析 --export influxdb2 + Grafana 需要歷史圖表的團隊
CI/CD 效能基準 --stdout-json 自動化 pipeline
AI 驅動運維 -w --enable-mcp 搭配 Claude 分析效能
自訂腳本 Python glances.api 整合進自有系統

top 夠用,htop 好看一點,Glances 則是你需要同時看多個面向、又不想架 Prometheus 全套的中間選項。MCP 整合是個加分項,讓 AI 直接接管「我的伺服器到底哪裡有問題」這個問題——挺躁的。

GitHub: nicolargo/glances | 文件: glances.readthedocs.io