当前位置: 首页 > news >正文

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 命令详解与高效运维

相关文章:

  • Codigger Desktop:Boby形象互动提升用户体验
  • 【HTTPS协议原理】数据加密、如何防止中间人攻击、证书和签名、HTTPS完整工作流程
  • [创业之路-376]:企业法务 - 创业,不同的企业形态,个人承担的风险、收益、税费、成本不同
  • elasticsearch 查询检索
  • java进阶之git
  • webpack详细打包配置,包含性能优化、资源处理...
  • Docker离线安装与配置指南
  • weibo_har鸿蒙微博分享,单例二次封装,鸿蒙微博,微博登录
  • 几种电气绝缘类型
  • Java求职面试:从Spring Boot到微服务的全面考核
  • 2025企微CRM系统功能对比:会话存档、客户画像与数据分析如何重构客户运营?
  • 云原生周刊:KubeSphere 平滑升级
  • 八数码难题
  • 示例:spring xml+注解混合配置
  • Node.js 操作 ElasticSearch 完整指南:从安装到实战
  • Sentinel源码—8.限流算法和设计模式总结一
  • 大数据学习(112)-HIVE中的窗口函数
  • SpringMVC入门
  • Java常用正则表达式及使用方法
  • @Configuration注解对应实现implements WebMvcConfigurer的配置不生效问题。
  • 白宫新闻秘书:美政府将在法庭上回应哈佛大学诉讼
  • 王毅同英国外交大臣拉米通电话
  • 男子为讨喜钱掰断劳斯莱斯小金人,警方:已介入处置
  • 私和人命:清代四川南部县谢相荣投河溺毙一案
  • 在因关税战爆火的敦煌网上,美国人爱买什么中国商品
  • 普京签署法律,诋毁俄军将面临最高7年监禁