Linuxword Global
当前位置: Linux技术 > Glances开源,监控你的Linux系統

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

概括

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

glances-summary

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

glances-responsive-webdesign

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

計畫贊助

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

  • 使用一次性或按月贊助我 Github贊助商頁面
  • 給我發送一些比特幣:185KN9FCix3svJYp7JQM7hRMfSKyeaJR4X
  • 在我的願望清單頁面上買一份禮物

非常感謝任何貢獻。

要求

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

Python 2 使用者須知

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

依賴項:

  • psutil(最新版本更好)
  • defusedxml(為了給 xmlrpc 打補丁)
  • packaging(用於版本比較)
  • windows-curses(Windows Curses 實作)[僅限 Windows]
  • shtab(Shell 自動完成)[除 Windows 外的所有系統]

可選依賴項:

  • batinfo(用於電池監控)
  • bernhard(用於黎曼導出模組)
  • cassandra-driver(用於 Cassandra 導出模組)
  • chevron(針對動作腳本功能)
  • docker(用於容器 Docker 監控支援)
  • elasticsearch(用於 Elastic Search 導出模組)
  • FastAPIUvicorn(對於 Web 伺服器模式)
  • graphitesender(用於 Graphite 導出模組)
  • hddtemp(用於 HDD 溫度監控支援)[僅限 Linux]
  • influxdb(適用於 InfluxDB 版本 1 導出模組)
  • influxdb-client (適用於 InfluxDB 版本 2 導出模組)
  • jinja2(用於模板,由 FastAPI 在背景使用)
  • kafka-python(用於 Kafka 導出模組)
  • netifaces2(用於 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 Smart 支援)[僅限 Linux]
  • pyzmq(用於 ZeroMQ 導出模組)
  • requests(用於連接埠、雲端插件和 RESTful 導出模組)
  • sparklines(用於快速插件迷你圖選項)
  • statsd(用於 StatsD 導出模組)
  • wifi(適用於 wifi 外掛程式)[僅限 Linux]
  • zeroconf(用於自動發現模式)

安裝

有幾種方法可以在您的系統上測試/安裝 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 centram 瀏覽器的依賴項
  • 雲端:安裝雲端插件的依賴項
  • 容器:安裝容器插件的依賴項
  • 導出:為所有導出模組安裝依賴項
  • gpu:安裝 GPU 外掛程式的依賴項
  • graph:安裝圖形導出的依賴項
  • ip:安裝 IP 公共選項的依賴項
  • raid:安裝 RAID 插件的依賴項
  • 感測器:安裝感測器插件的依賴項
  • smart:安裝智慧型插件的依賴項
  • snmp:安裝 SNMP 依賴項
  • 迷你圖:安裝迷你圖選項的依賴項
  • web:安裝 Web 伺服器(WebUI)和 Web API 的依賴項
  • wifi:安裝 Wifi 插件的依賴項

要將 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
 

可用的標籤如下:

  • latest-full包含完整的 Alpine Glances 鏡像(最新版本)及其所有依賴項
  • 最新版本是具有最少依賴項(FastAPI 和 Docker)的基本 Alpine Glances(最新版本)版本
  • 用於基本 Alpine Glances 影像(基於開發分支)的開發,包含所有依賴項(警告:可能不穩定)
  • ubuntu-latest-full包含完整的 Ubuntu Glances 映像(最新版本)及其所有依賴項
  • ubuntu-latest是具有最少相依性(FastAPI 和 Docker)的基本 Ubuntu Glances(最新版本)版本
  • ubuntu-dev為基本的 Ubuntu Glances 映像(基於開發分支),包含所有依賴項(警告:可能不穩定)

在控制台模式下運行最新版本的 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

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) *** 在线联系博主***
+1(323)529-5889

TeleGram联系

WhatsAPP联系

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

关于VmShell INC

VMSHELL INC 是一家成立于2021年的美国云计算服务公司,总部位于怀俄明州谢里丹,专注于提供全球数据中心的虚拟机服务器租赁和全球金融服务。 公司旗下品牌包括VmShell 和ToToTel,业务覆盖亚洲和美洲以及欧洲,致力于为外贸企业提供高效、稳定的网络解决方案。购买CMI香港服务器

站点统计

  • 文章总数: 3145 篇
  • 草稿数目: 0 篇
  • 分类数目: 9 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 48319 个
  • 注册用户: 139 人
  • 访问总量: 8,649,422 次
  • 最近更新: 2025年12月7日