Glances是一款開源系統跨平台監控工具。它可以即時監控系統的各個方面,如CPU、記憶體、磁碟、網路使用情況等。 LXC等不同的容器管理系統。這些資訊顯示在易於閱讀的儀表板中,也可用於透過網路介面或命令列介面遠端監控系統。它易於安裝和使用,並且可以自訂以僅顯示您感興趣的資訊。
在客戶端/伺服器模式下,可以透過終端機、Web 介面或 API(XML-RPC 和 RESTful)進行遠端監控。統計資料也可以匯出到檔案或外部時間/值資料庫、CSV 或直接輸出到 STDOUT。
Glances 是用 Python 編寫的,並使用庫從您的系統中獲取資訊。它基於開放式架構,開發人員可以在其中添加新插件或匯出模組。
您可以幫助我實現改進這個開源專案的目標,或者只是透過以下方式說「謝謝」:
非常感謝任何和所有的貢獻。
python>=3.9
(較低的Python版本使用Glances 3.4.x)psutil
(最新版本更好)defusedxml
(為了猴子修補程式 xmlrpc)packaging
(用於版本比較)orjson
(標準 json 模組的優化替代品)Python 2 使用者註意事項
Glances 版本 4 或更高版本不支援 Python 2(以及 Python 3 < 3.9)。如果您需要 Python 2 支持,請使用 Glances 版本 3.4.x。
可選依賴項:
batinfo
(用於電池監控)bernhard
(用於黎曼導出模組)cassandra-driver
(用於 Cassandra 匯出模組)chevron
(用於動作腳本功能)docker
(用於容器 Docker 監控支援)elasticsearch
(用於Elastic Search導出模組)FastAPI
和Uvicorn
(用於 Web 伺服器模式)graphitesender
(用於 Graphite 導出模組)hddtemp
(用於 HDD 溫度監控支援)[僅限 Linux]influxdb
(用於 InfluxDB 版本 1 導出模組)influxdb-client
(用於 InfluxDB 版本 2 匯出模組)jinja2
(用於模板化,由 FastAPI 在背景使用)kafka-python
(用於 Kafka 導出模組)netifaces
(用於 IP 插件)nvidia-ml-py
(用於 GPU 外掛)pycouchdb
(用於 CouchDB 導出模組)pika
(用於 RabbitMQ/ActiveMQ 導出模組)podman
(用於容器 Podman 監控支援)potsdb
(用於 OpenTSDB 匯出模組)prometheus_client
(用於 Prometheus 導出模組)pygal
(用於圖形導出模組)pymdstat
(用於 RAID 支援)[僅限 Linux]pymongo
(用於 MongoDB 導出模組)pysnmp-lextudio
(用於 SNMP 支援)pySMART.smartx
(用於 HDD 智慧支援)[僅限 Linux]pyzmq
(用於 ZeroMQ 導出模組)requests
(針對連接埠、雲端插件和 RESTful 導出模組)sparklines
(用於快速插件迷你圖選項)statsd
(用於 StatsD 導出模組)wifi
(適用於 wifi 外掛)[僅限 Linux]zeroconf
(用於自動發現模式) 有多種方法可以在您的系統上測試/安裝 Glances。選擇你的武器!
Glances 位於PyPI
上。透過使用 PyPI,您將使用最新的穩定版本。
要安裝 Glances,只需使用pip
命令列即可。
警告:在現代 Linux 作業系統上,當您嘗試使用pip
時,可能會收到外部管理環境錯誤訊息。在這種情況下,請轉到下面的 PipX 部分。
pip install --user glances
注意:安裝 psutil(Glances 依賴項)需要 Python 標頭。例如,在 Debian/Ubuntu 上,最簡單的是apt install python3-psutil
,或需要先安裝python-dev套件和 gcc(Fedora/CentOS/RHEL 上的python-devel )。對於 Windows,只需從二進位安裝檔案安裝 psutil。
預設情況下,Glances 安裝時不包含 Web 介面相依性。要安裝它,請使用以下命令:
pip install --user 'glances[web]'
對於完整安裝(具有所有功能):
pip install --user 'glances[all]'
要將 Glances 升級到最新版本:
pip install --user --upgrade glances
目前的開發分支已發佈到 test.pypi.org 套件索引。如果您想測試開發版本(可能不穩定),請輸入:
pip install --user -i https://test.pypi.org/simple/ Glances
在您的系統上安裝 PipX(在 Ubuntu 上安裝 pipx)。
安裝 Glances(具有所有功能):
pipx install 'glances[all]'
Glaces 腳本將安裝在 ~/.local/bin 資料夾中。
Glances Docker 映像可用。您可以使用它來監控您的伺服器和所有容器!
取得 Glances 容器:
docker pull nicolargo/glances:latest-full
以下標籤可用:
在控制台模式下運行最新版本的 Glances 容器:
docker run --rm -e TZ="${TZ}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host --network host -it nicolargo/glances:latest-full
預設情況下,使用 /etc/glances/glances.conf 檔案(基於 docker-compose/glances.conf)。
此外,如果您想使用自己的glances.conf文件,您可以建立自己的Dockerfile:
FROM nicolargo/glances:latest
COPY glances.conf /root/.config/glances/glances.conf
CMD python -m glances -C /root/.config/glances/glances.conf $GLANCES_OPT
或者,您可以使用 docker run 選項指定相同的內容(請注意 Glaces 啟動命令的 GLANCES_OPT 環境變數設定參數):
docker run -e TZ="${TZ}" -v $HOME/.config/glances/glances.conf:/glances.conf:ro -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host -e GLANCES_OPT="-C /glances.conf" -it nicolargo/glances:latest-full
其中 $HOME/.config/glances/glances.conf 是包含您的 Glaces.conf 檔案的本機目錄。
以Web伺服器模式運行容器:
docker run -d --restart="always" -p 61208-61209:61208-61209 -e TZ="${TZ}" -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host nicolargo/glances:latest-full
有關選項的完整列表,請參閱 Glances Docker 文件頁面。
Glances 可在許多 Linux 發行版上使用,因此您應該能夠使用您最喜歡的套件管理器來安裝它。請注意,當您使用此方法時,Glances 的作業系統套件可能不是最新版本,並且僅啟用基本外掛程式。
注意:Debian 軟體套件(以及所有其他基於 Debian 的發行版)不再包含 Web 介面所使用的 JS 靜態檔案(請參閱issue2021
)。如果您想將其新增至 Glances 安裝中,請按照說明操作: issue2021comment
。在 Glances 版本 4 及更高版本中,靜態檔案的路徑是可設定的(請參閱issue2612
)。
要安裝二進位套件:
# pkg install py39-glances
要從連接埠安裝 Glances:
# cd /usr/ports/sysutils/py-glances/
# make install clean
如果您不想使用 Glacesautoinstall 腳本,請按照此程序操作。
macOS 用戶可以使用Homebrew
或MacPorts
安裝 Glances。
$ brew install glances
$ sudo port install glances
安裝適用於 Windows 的 Python(Python 3.4+ 附帶 pip),然後執行下列命令:
$ pip install glances
您需要有 root 權限的裝置和 Termux 應用程式(可在 Google Play 商店中取得)。
在您的裝置上啟動 Termux 並輸入:
$ apt update
$ apt upgrade
$ apt install clang python
$ pip install fastapi uvicorn jinja2
$ pip install glances
並開始一覽:
$ glances
您也可以在伺服器模式(-s 或 -w)下執行 Glances,以便遠端監控您的 Android 裝置。
要從來源安裝 Glances:
$ pip install https://github.com/nicolargo/glances/archive/vX.Y.tar.gz
注意:安裝 psutil 需要 Python 標頭。
一本很棒的Chef
食譜可用於監控您的基礎設施:https://supermarket.chef.io/cookbooks/glances(感謝 Antoine Rouyer)
您可以使用Puppet
安裝 Glances:https://github.com/rverchere/puppet-glances
Glances Ansible
角色可用:https://galaxy.ansible.com/zaxos/glances-ansible-role/
對於獨立模式,只需運行:
$ glances
對於 Web 伺服器模式,運行:
$ glances -w
並在您喜歡的網頁瀏覽器中輸入 URL http://<ip>:61208
。
對於客戶端/伺服器模式,運行:
$ glances -s
在伺服器端並運行:
$ glances -c < ip >
在客戶端一上。
您也可以偵測並顯示網路上可用或設定檔中定義的所有 Glances 伺服器:
$ glances --browser
您也可以在標準輸出上顯示原始統計資料:
$ glances --stdout cpu.user,mem.used,load
cpu.user: 30.7
mem.used: 3278204928
load: {'cpucore': 4, 'min1': 0.21, 'min5': 0.4, 'min15': 0.27}
cpu.user: 3.4
mem.used: 3275251712
load: {'cpucore': 4, 'min1': 0.19, 'min5': 0.39, 'min15': 0.27}
...
或透過 stdout-csv 選項採用 CSV 格式:
$ glances --stdout-csv now,cpu.user,mem.used,load
now,cpu.user,mem.used,load.cpucore,load.min1,load.min5,load.min15
2018-12-08 22:04:20 CEST,7.3,5948149760,4,1.04,0.99,1.04
2018-12-08 22:04:23 CEST,5.4,5949136896,4,1.04,0.99,1.04
...
或透過 stdout-json 選項採用 JSON 格式(此模式不支援屬性,以便在輸出中擁有真正的 JSON 物件):
$ glances --stdout-json cpu,mem
cpu: {"total": 29.0, "user": 24.7, "nice": 0.0, "system": 3.8, "idle": 71.4, "iowait": 0.0, "irq": 0.0, "softirq": 0.0, "steal": 0.0, "guest": 0.0, "guest_nice": 0.0, "time_since_update": 1, "cpucore": 4, "ctx_switches": 0, "interrupts": 0, "soft_interrupts": 0, "syscalls": 0}
mem: {"total": 7837949952, "available": 2919079936, "percent": 62.8, "used": 4918870016, "free": 2919079936, "active": 2841214976, "inactive": 3340550144, "buffers": 546799616, "cached": 3068141568, "shared": 788156416}
...
和 RTFM,始終如此。
如需完整文檔,請造訪 readthedocs 網站。
如果您有任何問題(RTFM 之後!),請在官方問答論壇上發布。
Glances 可以將統計資料匯出到: CSV
檔案、 JSON
檔案、 InfluxDB
、 Cassandra
、 CouchDB
、 OpenTSDB
、 Prometheus
、 StatsD
、 ElasticSearch
、 RabbitMQ/ActiveMQ
、 ZeroMQ
、 Kafka
、 Riemann
、 Graphite
和RESTful
伺服器。
如果您想為 Glances 專案做出貢獻,請閱讀此 wiki 頁面。
還有一個專門針對 Glances 開發人員的聊天:
尼可拉斯‧亨尼恩 (@nicolargo) <[email protected]>
Glances 是根據 LGPL 版本 3 授權分發的。有關更多詳細信息,請COPYING
。