站点图标 Linux-技术共享

Glances开源,监控你的Linux系統

开源地址:  https://github.com/nicolargo/glances

概括

Glances是一個開源系統跨平台監控工具。它允許即時監控系統的各個方面,例如 CPU、記憶體、磁碟、網路使用情況等。它還允許監控正在運行的進程、登入用戶、溫度、電壓、風扇速度等。它還支援容器監控,它支援不同的容器管理系統,例如 Docker、LXC。資訊顯示在易於閱讀的儀表板上,也可以透過 Web 介面或命令列介面用於遠端監控系統。它易於安裝和使用,並且可以自訂以僅顯示您感興趣的資訊。

在客戶端/伺服器模式下,可以透過終端機、Web 介面或 API(XML-RPC 和 RESTful)進行遠端監控。統計資料也可以匯出到檔案或外部時間/值資料庫、CSV 或直接輸出到 STDOUT。

Glances 是用 Python 編寫的,並使用庫從您的系統中獲取資訊。它基於開放式架構,開發人員可以在其中添加新的插件或匯出模組。

計畫贊助

您可以透過以下方式幫助我實現改進這個開源專案的目標,或者只是說聲「謝謝」:

非常感謝任何貢獻。

要求

Glances 是用 Python 開發的。您的系統上應安裝最低 Python 版本 3.9 或更高版本。

Python 2 使用者須知

Glances 版本 4 或更高版本不支援 Python 2(以及 Python 3 <3.9)。如果您需要 Python 2 支持,請使用 Glances 版本 3.4.x。

依賴項:

可選依賴項:

安裝

有幾種方法可以在您的系統上測試/安裝 Glances。選擇你的武器!

PyPI:Pip,標準方式

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
 

PyPI:PipX,另一種方式

在您的系統上安裝 PipX(在 Ubuntu 上安裝 apt install pipx)。

安裝 Glances(包含所有功能):

pipx install 'glances[all]'
 

glances 腳本將安裝在 ~/.local/bin 資料夾中。

Docker:雲端方式

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 選項相同的內容(請注意 glances 啟動命令的 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 是包含 glances.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文件頁面。

GNU/Linux 軟體包

Glances 在許多 Linux 發行版上可用,因此您應該能夠使用您最喜歡的套件管理器來安裝它。請注意,當您使用此方法時,Glances 的作業系統套件可能不是最新版本,並且僅啟用了基本外掛程式。

注意:Debian 軟體包(以及所有其他基於 Debian 的發行版)不再包含 Web 介面所使用的 JS 靜態檔案(請參閱issue2021)。如果您想將其新增至您的 Glances 安裝中,請按照以下說明操作:issue2021comment。在 Glances 版本 4 及更高版本中,靜態檔案的路徑是可設定的(請參閱issue2612)。

FreeBSD

在 FreeBSD 上,套件名稱取決於 Python 版本。

檢查 Python 版本:

# python --version
 

安裝 Glances 套件:

# pkg install pyXY-glances
 

其中 X 和 Y 是 Python 系統的主值和次值。

# Example for Python 3.11.3: pkg install py311-glances
 

注意:檢查 Glances 二進位套件版本是否適合您的系統架構。您必須安裝與 Glances 二進位套件相對應的正確的 Python 版本。

要從 Ports 安裝 Glances:

# cd /usr/ports/sysutils/py-glances/
# make install clean
 

macOS

MacOS 用戶可以使用Homebrew或安裝 Glances MacPorts

自製

$ brew install glances
 

MacPorts

$ 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)

木偶

您可以使用以下網址安裝 Glances Puppethttps://github.com/rverchere/puppet-glances

Ansible

GlancesAnsible角色可用:https://galaxy.ansible.com/zaxos/glances-ansible-role/

Shell Tab 補全

由於使用了 --print-completion 選項,Glances 4.3.2 及更高版本包含 shell tab 自動完成功能。

例如,在具有 Bash shell 的 Linux 作業系統上:

$ glances --print-completion bash | sudo tee -a /etc/bash_completion.d/glances
$ source /etc/bash_completion.d/glances
 

支援以下 shell:bash、zsh 和 tcsh。

用法

對於獨立模式,只需運行:

$ glances
 

對於 Web 伺服器模式,運行:

$ glances -w
 

http://<ip>:61208並在您最喜歡的網頁瀏覽器中輸入 URL 。

對於客戶端/伺服器模式,運行:

$ 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}
...
 

並且始終閱讀手冊。

文件

如需完整文檔,請查看readthedocs網站。

如果您有任何問題(閱讀手冊後!),請在官方問答論壇上發布。

通往其他服務的網關

Glances可以 將統計資料匯出到:CSV檔案、JSON檔案InfluxDB、、、、、、、、、、、、和伺服器。 CassandraCouchDBOpenTSDBPrometheusStatsDElasticSearchRabbitMQ/ActiveMQZeroMQKafkaRiemannGraphiteRESTful

退出移动版