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

Glances:轻量级跨平台系统监控工具配置指南

1. 项目概述

Glances是一款开源的跨平台系统监控工具,它通过Python编写,能够以极低的系统资源消耗提供全面的系统状态监控。不同于传统的top或htop命令,Glances不仅展示CPU、内存、磁盘等基础指标,还能监控网络流量、传感器温度、进程状态等数十种系统参数,特别适合需要长期监控服务器性能的运维场景。

我在管理Linux服务器集群时,经常需要同时观察多台机器的实时状态。传统的SSH多窗口方式效率低下,而Glances提供的Web访问功能完美解决了这个问题。通过简单的配置,就能在任意浏览器中查看所有服务器的运行状态,这对分布式系统管理来说简直是革命性的改进。

2. 环境准备与安装

2.1 系统要求

Glances对系统要求极低,理论上任何能运行Python的Linux发行版都支持。但为了实现最佳性能,建议:

  • 操作系统:Ubuntu 18.04+/CentOS 7+等主流发行版
  • Python版本:3.6+
  • 内存:至少100MB可用内存
  • 磁盘空间:50MB以上

提示:虽然Glances本身很轻量,但如果要启用所有监控模块(如GPU、Docker等),需要确保系统已安装相应依赖。

2.2 安装方法

推荐使用pip进行安装,这是最快捷的方式:

# 安装pip(如未安装) sudo apt update && sudo apt install python3-pip -y # 安装Glances及其Web组件 pip3 install glances[web] --user

安装完成后,可以通过以下命令验证:

glances -v

如果看到版本号输出(如Glances v3.3.1),说明安装成功。

3. 基础配置与使用

3.1 启动Glances

最简单的启动方式是直接运行:

glances

这会启动一个基于终端的交互式界面,按q退出。但我们需要的是能远程访问的Web服务,因此需要使用以下命令:

glances -w

默认情况下,这会启动一个监听在0.0.0.0:61208的Web服务。在浏览器访问http://服务器IP:61208即可看到监控界面。

3.2 配置文件详解

Glances的配置文件通常位于~/.config/glances/glances.conf。如果不存在,可以手动创建:

mkdir -p ~/.config/glances glances --generate-config > ~/.config/glances/glances.conf

几个关键配置项:

[global] # 刷新频率(秒) refresh=2 [webserver] # 是否启用Web服务 enable=true # 监听地址 bind=0.0.0.0 # 监听端口 port=61208 # 是否允许远程访问 allow_origin=*

4. 安全加固与外部访问

4.1 防火墙配置

为了安全访问,建议配置防火墙只开放必要端口:

# Ubuntu使用ufw sudo ufw allow 61208/tcp sudo ufw enable # CentOS使用firewalld sudo firewall-cmd --permanent --add-port=61208/tcp sudo firewall-cmd --reload

4.2 密码保护

Glances支持简单的HTTP认证,在配置文件中添加:

[webserver] auth=true password=your_strong_password

重启服务后,访问时需要输入密码(用户名为glances)。

4.3 反向代理配置

对于生产环境,建议通过Nginx等Web服务器做反向代理,并启用HTTPS:

server { listen 443 ssl; server_name monitor.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://127.0.0.1:61208; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }

5. 高级功能与插件

5.1 监控Docker容器

安装额外依赖后,Glances可以监控Docker容器状态:

pip3 install glances[docker] --user

在配置文件中启用:

[docker] enable=true

5.2 数据导出

Glances支持将监控数据导出到多种目标:

# 导出到CSV文件 glances --export csv --export-csv-file /tmp/glances.csv # 导出到InfluxDB(需要先安装influxdb客户端) pip3 install influxdb glances --export influxdb

5.3 报警功能

通过配置阈值,可以在资源使用过高时触发报警:

[alerts] # CPU使用率超过90%时报警 cpu=90% # 内存使用超过80%时报警 mem=80%

6. 常见问题排查

6.1 Web界面无法访问

  • 检查Glances是否正在运行:ps aux | grep glances
  • 检查端口监听状态:netstat -tulnp | grep 61208
  • 检查防火墙设置:sudo ufw statussudo firewall-cmd --list-ports

6.2 监控数据不准确

  • 确保已安装必要依赖:sudo apt install lm-sensors hddtemp
  • 检查是否有足够权限:glances --debug查看错误日志
  • 尝试更新到最新版本:pip3 install --upgrade glances

6.3 高CPU占用

虽然Glances本身很轻量,但在某些情况下可能出现高CPU占用:

  • 降低刷新频率:glances -t 5(每5秒刷新一次)
  • 禁用不需要的插件:在配置文件中设置disable_plugin=raid,folders

7. 系统服务化配置

为了让Glances在后台持续运行,可以将其配置为系统服务:

7.1 创建systemd服务

创建/etc/systemd/system/glances.service文件:

[Unit] Description=Glances Monitoring Tool After=network.target [Service] User=glances ExecStart=/usr/local/bin/glances -w Restart=always RestartSec=30 [Install] WantedBy=multi-user.target

然后启用并启动服务:

sudo systemctl daemon-reload sudo systemctl enable glances sudo systemctl start glances

7.2 日志管理

Glances的日志默认输出到syslog,可以通过journalctl查看:

journalctl -u glances -f

8. 性能优化建议

经过长期使用,我总结出几个优化技巧:

  1. 调整采集间隔:默认2秒刷新对大多数场景过于频繁,建议设置为5-10秒
  2. 选择性启用插件:不需要的插件(如GPU监控)可以在配置文件中禁用
  3. 使用轻量级Web服务器:如果不需要Web界面,直接使用终端模式可节省资源
  4. 限制历史数据:Glances会保留部分历史数据,可通过history_size=10限制

对于大型部署,可以考虑使用Glances的客户端-服务器模式,将多台服务器的数据集中展示在一处。

http://www.cnnetsun.cn/news/3730329.html

相关文章:

  • 物联网设备低功耗优化:从硬件到固件的全面方案
  • A/B测试:你跑出来的显著,可能只是老板想看的
  • Python客户端高效访问Tiled科学数据服务指南
  • OpenRAG与Langflow构建高效检索增强生成系统
  • 097、YOLOv8改进实战:EMA指数移动平均与SWA随机权重平均在模型训练中的应用
  • CefFlashBrowser完全指南:3个技巧让Flash游戏重获新生
  • 简单三步搭建终极家庭游戏串流中心:Sunshine完全指南
  • Java synchronized锁机制:从对象头到重量级锁的深度解析
  • 如何快速突破百度网盘限速:Python解析工具实战指南
  • PS 贴图怎么贴到头巾上?4 种原生工具完整零基础实操教程
  • PS易拉罐贴图怎么做到无痕?零基础全套实操
  • 无人机姿态角解算:从IMU数据融合到飞控稳定的核心原理与实践
  • Grok 4.6/4.7版本更新解析:代码生成AI的环境配置与高效使用指南
  • 算法工程师思维训练与性能优化实战
  • 3步永久保存QQ空间青春回忆:开源GetQzonehistory一键备份指南
  • FDA批准异体移植细胞疗法Tregzi(Orca-T)【海得康】
  • GPT-6 要发布了吗?Spud 已是 GPT-5.5,开发者该验证的 8 个信号
  • 精华贴分享|关于卖出的蒙特卡洛实验:A股日内主动离场策略
  • 告别Office订阅烦恼:3步免费解锁Microsoft 365完整功能终极指南
  • 免费解锁9大网盘高速下载:LinkSwift直链解析工具完整指南
  • 从零实现AES:深入理解对称加密核心原理与C++工程实践
  • Gopeed下载器终极指南:全平台多协议高速下载解决方案
  • 终极指南:7步完成Obsidian数据迁移,轻松转换Notion、Evernote等笔记
  • LTE Cat 1模块与STM32在物联网中的设计与优化
  • Linux多进程文件拷贝工具:Master-Worker模型实现与性能优化
  • 寻找人生的关键杠杆点。
  • Prim与Kruskal算法:最小生成树原理、实现与选型指南
  • AI培训内容设计失效真相(92%团队踩中的5大认知陷阱)
  • 香港公司律师公证流程是什么?香港公司律师公证代办机构?
  • Math.NET Numerics:.NET平台上的专业数值计算解决方案