Linux 系統監控大師:Glances 工具詳解助力自動化

看圖猜詩,你有任何想法都可以在評論區留言哦~
封面圖


摘要
Glances 是一款基于 Python 開發的跨平臺系統監控工具,集成了 CPU、內存、磁盤、網絡、進程等核心指標的實時監控能力,并支持命令行、Web界面、客戶端-服務器模式等多種使用場景。其輕量級、高可定制化及豐富的擴展功能(如數據導出、遠程監控、API調用)使其成為運維人員實現自定義監控自動化的關鍵。本文將結合實踐場景,從安裝配置到常用功能、生產案例,全面解析 Glances 的核心應用。


文章目錄

    • 一、基礎說明
      • 1.1 Glances 核心功能
      • 1.2 與同類工具對比(htop、top)
    • 二、安裝與配置
      • 2.1 安裝方法
      • 2.2 依賴項管理
    • 三、使用技巧
      • 3.1 基礎監控與交互操作
      • 3.2 Web 界面監控
      • 3.3 數據導出與集成
    • 四、生產實際案例
      • 4.1 多服務器集群監控
      • 4.2 容器化環境監控
    • 五、常見問題處理
      • 5.1 安裝依賴缺失
      • 5.2 Web 界面無法訪問
      • 5.3 客戶端連接超時


一、基礎說明

1.1 Glances 核心功能

  • 實時監控:動態展示 CPU、內存、磁盤 I/O、網絡流量、進程資源占用等指標。
  • 多模式支持:單機模式、客戶端-服務器模式、Web 界面模式。
  • 數據導出:支持 CSV、JSON、InfluxDB、Prometheus 等格式導出。
  • 交互式操作:通過快捷鍵對進程排序、篩選、顯示/隱藏模塊。
  • 跨平臺兼容:支持 Linux、Windows、macOS 及 Docker 容器環境。

1.2 與同類工具對比(htop、top)

功能/工具Glanceshtoptop
界面交互動態自適應終端尺寸固定分欄基礎分欄
監控維度15+ 項系統指標CPU、內存、進程CPU、內存、進程
遠程監控支持客戶端-服務器不支持不支持
數據導出CSV/HTML/數據庫
擴展性支持插件與 API有限

優勢總結:Glances 在功能集成性、遠程協作及數據擴展性上顯著優于傳統工具,尤其適合多服務器集群監控場景。


二、安裝與配置

2.1 安裝方法

Debian/Ubuntu

# 通過 apt 安裝
sudo apt install glances -y# 通過 pipx 安裝(推薦)
pipx install glances[all]  # 安裝全部擴展功能

CentOS/RHEL

# 啟用 EPEL 倉庫后安裝
sudo yum install -y epel-release && sudo yum install glances -y

Docker 部署

# 拉取鏡像并運行
docker pull nicolargo/glances:latest-full
docker run -d -it --pid host --network host nicolargo/glances

Windows 系統

# 通過 pip 安裝
pip install glances

2.2 依賴項管理

  • 核心依賴psutil(系統信息采集)、defusedxml(XML 解析)。
  • 可選依賴bottle(Web 界面)、influxdb(數據導出)。

三、使用技巧

3.1 基礎監控與交互操作

查看版本

linux01@linux01:~$ glances -V
Glances version:	4.3.1
Glances API version:	4
PsUtil version:		7.0.0
Log file:		/home/linux01/.local/share/glances/glances.log
linux01@linux01:~$ 

啟動 Glances

glances  # 默認刷新間隔2秒
glances -t 5  # 設置刷新間隔為5秒

界面展示
頁面展示
界面說明

  • 頂部:系統負載、CPU 使用率、內存/交換分區。
  • 中部:網絡流量、進程列表(按 CPU 或內存排序)。
  • 底部:磁盤 I/O、傳感器溫度(需安裝 lm-sensors)。

快捷鍵操作

快捷鍵功能
c按 CPU 使用率排序進程
m按內存使用率排序進程
d顯示/隱藏磁盤 I/O 統計
n顯示/隱藏網絡統計
w刪除警告日志
k刪除進程
h顯示幫助菜單

3.2 Web 界面監控

啟動 Web 服務器

glances -w  # 默認端口 61208

訪問 http://<服務器IP>:61208 即可查看實時監控頁面(支持響應式布局)。

進階配置

# 設置用戶密碼保護
glances -w --username --password# 后臺啟動
glances -w &

3.3 數據導出與集成

導出為 CSV

glances --export csv --export-csv-file /path/to/glances.csv

導出為 JSON

glances --export json --export-json-file /path/to/glances.json

集成 Prometheus

# 以 Prometheus 支持的方式啟動 Glances
glances --export prometheus# 默認僅支持本地訪問,端口 9091,驗證
linux01@linux01:~$ curl http://127.0.0.1:9091/metrics
# HELP python_gc_objects_collected_total Objects collected during gc
# TYPE python_gc_objects_collected_total counter
python_gc_objects_collected_total{generation="0"} 1092.0
python_gc_objects_collected_total{generation="1"} 164.0
python_gc_objects_collected_total{generation="2"} 10.0
# HELP python_gc_objects_uncollectable_total Uncollectable objects found during GC
# TYPE python_gc_objects_uncollectable_total counter# 你可以配置 Prometheus 來連接 Glances

四、生產實際案例

4.1 多服務器集群監控

場景:監控 10 臺 Linux 服務器的資源使用情況。

解決方案

  1. 在其中一臺服務器啟動 Glances 服務端:
    glances -s -B 0.0.0.0
    
  2. 其他服務器作為客戶端連接:
    glances -c <主服務器IP>
    
  3. 在主服務器通過 Web 界面或客戶端匯總查看所有節點狀態。

4.2 容器化環境監控

場景:監控 Docker 容器的 CPU 和內存占用。

解決方案

  1. 使用 Docker 運行 Glances:
    docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host nicolargo/glances
    
  2. 啟用 Docker 監控模塊:
    glances --enable-docker
    

五、常見問題處理

5.1 安裝依賴缺失

報錯ModuleNotFoundError: No module named 'psutil'
解決:安裝缺失的 Python 庫:

pip install psutil defusedxml

5.2 Web 界面無法訪問

可能原因:防火墻未開放端口或服務未綁定正確 IP,安裝的不是 glances[all] 版本。
排查

netstat -tuln | grep 61208  # 檢查端口監聽狀態
glances -w -B 0.0.0.0      # 強制綁定所有IP

5.3 客戶端連接超時

可能原因:網絡隔離或服務端未正確啟動。
排查

telnet <服務器IP> 61209     # 測試端口連通性
glances -s --debug         # 啟用調試模式

結語:Glances 憑借其高度集成性、跨平臺支持及靈活的擴展能力,已成為運維監控領域的標桿工具。通過本文的詳解,你已經掌握其核心功能。進一步學習可參考 Glances 官方文檔。如果你覺得這篇文章對你有幫助,不妨點個贊👍,或者分享給你的朋友們吧!你的支持是我持續創作的最大動力!

資源推薦

  • Glances GitHub 倉庫
  • Grafana 儀表盤模板庫

在這里插入圖片描述

  • 上一篇:Linux 系統監控進階:htop 命令詳解與高效運維

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77378.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77378.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77378.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot 3.4.5 運行環境需求

&#x1f4dd; Spring Boot 3.4.5 運行環境要求 &#x1f33f; 1?? 基本需求 ?? JDK版本&#xff1a;最低 Java 17 &#x1f517; https://www.java.com/ 最高兼容至 Java 24 ?? 依賴框架&#xff1a;需搭配 Spring Framework 6.2.6 &#x1f517; https://docs.sprin…

在KEIL里C51和MDK兼容以及添加ARM compiler5 version編譯器

前言 我們想在一個keil里面可以打開32和51的文件&#xff0c;這樣就不需要兩個keil了 還有就是現在的keil&#xff0c;比如我用的是5.41的&#xff0c;就沒有5版本的處理器&#xff0c;所以要安裝 本篇文章我們來詳細講解如何實現上面說的兩個內容 準備的東西 1.ARM5編譯器 …

Flutter 彈窗隊列管理:支持優先級的線程安全通用彈窗隊列系統

在復雜的 Flutter 應用開發中&#xff0c;彈窗管理是一個常見難題。手動管理彈窗的顯示順序和條件判斷不僅繁瑣&#xff0c;還容易出錯。為此&#xff0c;我們實現了一個支持優先級的線程安全通用彈窗隊列管理系統。它能夠自動管理彈窗的顯示順序&#xff0c;支持條件判斷&…

鴻蒙NEXT開發剪貼板工具類(ArkTs)

import { pasteboard } from kit.BasicServicesKit; import { StrUtil } from ./StrUtil;/*** 剪貼板工具類* 需要權限&#xff1a;* ohos.permission.READ_PASTEBOARD // 允許應用讀取剪貼板。* author CSDN-鴻蒙布道師* since 2025/04/25*/ export class PasteboardUtil {…

FastAPI 零基礎入門指南:10 分鐘搭建高性能 API

一、為什么選擇 FastAPI&#xff1f; 想象一下&#xff0c;用 Python 寫 API 可以像搭積木一樣簡單&#xff0c;同時還能擁有媲美 Go 語言的性能&#xff0c;這個框架憑借三大核心優勢迅速風靡全球&#xff1a; 開發效率提升 3 倍&#xff1a;類型注解 自動文檔&#xff0c;…

【算法】BFS-解決FloodFill問題

目錄 FloodFill問題 圖像渲染 島嶼數量 島嶼的最大面積 被圍繞的區域 FloodFill問題 FloodFill就是洪水灌溉的意思&#xff0c;假設有下面的一塊田地&#xff0c;負數代表是凹地&#xff0c;正數代表是凸地&#xff0c;數字的大小表示凹或者凸的程度。現在下一場大雨&…

代碼隨想錄算法訓練營第三十七天|動態規劃part4

1049. 最后一塊石頭的重量 II 題目鏈接&#xff1a; 1049. 最后一塊石頭的重量 II - 力扣&#xff08;LeetCode&#xff09; 文章講解&#xff1a; 代碼隨想錄 思路&#xff1a; 理解為把石頭分成兩堆 使得兩堆的差值盡可能小 求這個最小值1 理解為往背包里裝物品 每個物品的…

(八)深入了解AVFoundation-采集:拍照功能的實現

引言 在上一篇文章中&#xff0c;我們初步完成了使用 AVFoundation 采集視頻數據的流程&#xff0c;掌握了 AVCaptureSession 的搭建與視頻流的預覽顯示。 本篇將繼續深入 AVFoundation&#xff0c;聚焦于靜態圖片采集的實現。通過 AVCapturePhotoOutput&#xff0c;我們可以…

git tag使用場景和實踐

背景 每次上線一個迭代&#xff0c;為了區分本次代碼的分支是哪個迭代的commit&#xff0c;可以給分支打上tag&#xff0c;這樣利于追蹤分支所屬迭代&#xff0c;如果devops沒有自動給分支打tag&#xff0c;需要自己來打 操作 1.查看當前tag git tag2.給分支打tag git tag…

從零開始掌握Linux數據流:管道與重定向完全指南

全文目錄 1 知識背景與核心概念1.1 操作系統的輸入輸出模型1.2 Shell 的中間人角色 2 重定向技術深度解析2.1 輸出重定向2.1.1 覆蓋寫2.1.2 追加寫2.1.3 錯誤重定向2.1.4 同時重定向 stdout 和 stderr 2.2 輸入重定向2.2.1 文件作為輸入源2.2.2 Here Document&#xff08;多行輸…

aws(學習筆記第三十九課) iot-core

文章目錄 aws(學習筆記第三十九課) iotcore(Internet Of Thing)學習內容:1. 整體架構1.1 代碼鏈接1.2 整體架構(概要)1.3 整體架構(詳細 )2. 代碼解析2.1 創建`IOT thing`2.2 創建`AWS IOT certificate`證書2.2.1 創建`lambda`需要的`role`2.2.2 創建`lambda`2.2.3 `lambd…

國家新政鼓勵游戲出海,全球化安全威脅如何解

本文作者&#xff1a;騰訊宙斯盾DDoS防護團隊 01 政策紅利釋放&#xff1a;游戲出海升級為“國家戰略工程” 01 4月21日&#xff0c;國務院新聞辦公室發布《加快推進服務業擴大開放綜合試點工作方案》&#xff0c;釋放了一個信號&#xff1a;首次將“游戲出海”列為戰略級工程&…

MobX 在 React 中的使用:狀態管理的新選擇

&#x1f90d; 前端開發工程師、技術日更博主、已過CET6 &#x1f368; 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 &#x1f560; 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 &#x1f35a; 藍橋云課簽約作者、…

Idea 配置 Git

1、下載Git 下載地址&#xff1a; Git - Downloading Package 2、win 打開 git bash &#xff0c;配置郵箱和用戶名 //配置郵箱 git config --global user.email "710419844qq.com" //配置全局用戶名 git config --global user.name "smelodys" 3、ide…

Vue3 + OpenLayers 開發教程 (四) 樣式配置與性能優化

1. 地圖樣式基礎概念 1.1 什么是地圖樣式&#xff1f; 地圖樣式是決定地圖要素&#xff08;點、線、面&#xff09;如何顯示的重要配置。在 OpenLayers 中&#xff0c;樣式主要包含以下幾個核心組件&#xff1a; Fill&#xff08;填充&#xff09;&#xff1a;控制面狀要素的…

【Nacos-安全與限流機制健全06 】

文章目錄 Nacos安全機制介紹Nacos代碼實現Nacos限流機制Nacos限流的代碼實現 Nacos安全機制介紹 一、Nacos安全控制機制 Nacos 提供了多種安全控制機制&#xff0c;以保證服務和配置的訪問安全&#xff1a; 身份驗證 (Authentication) Nacos 支持用戶身份驗證來防止未授權的訪…

自建開源遠程協助服務RustDesk —— 筑夢之路

開源項目 # 服務端https://github.com/rustdesk/rustdesk-server.git# 客戶端https://github.com/rustdesk/rustdesk.git 搭建服務端 需要使用的端口、協議 hbbs - RustDesk ID 注冊服務器 hbbr - RustDesk 中繼服務器默認情況下&#xff0c;hbbs 監聽 21115(tcp) , 21…

Jmeter中同步定時器使用注意點

1.設置數量不可大于總線程數量&#xff0c;不然會一直等待 2.設置數量必須與總線程數量成整數倍數&#xff0c;不然還是要一直等。 3.當配置的數量小于線程數時&#xff0c;最好把循環打開&#xff0c;避免最后一次未準備好的線程數量達不到并發數。

作為高速通道光纖傳輸模式怎么理解以及到底有哪些?

光纖的傳輸模式主要取決于光纖的結構(如纖芯直徑和折射率分布),不同模式對應光波在光纖中傳播的不同路徑和電磁場分布。以下是光纖傳輸模式的主要分類及特點: 1. 單模光纖(Single-Mode Fiber, SMF) 核心特點: 纖芯直徑極小(通常為 8-10微米),僅允許光以單一模式(…

小程序Npm package entry file not found?

修改依賴包的入口文件 看是不是cjs&#xff0c;小程序不支持cjs