内容大纲
- Part01-glances命令概述
- Part02-glances命令安装
- Part03-glances命令基本使用
- Part04-glances命令交互操作
- Part05-glances命令高级功能
- Part06-实战案例
内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
1. glances命令概述
glances命令是Linux系统中的跨平台系统监控工具,它提供了友好的交互界面,可以监控CPU、内存、磁盘、网络、进程等系统资源。
更多学习教程公众号风哥教程itpux_com
# CPU监控:CPU使用率、上下文切换
# 内存监控:内存使用、交换、缓存
# 磁盘监控:磁盘I/O、磁盘使用率
# 网络监控:网络流量、网络错误
# 进程监控:进程CPU、内存使用
# 实时监控:实时显示系统状态
# Web界面:提供Web界面访问
2. glances命令安装
使用dnf命令安装glances。
风哥提示:
# 1. 安装glances软件包
[root@localhost ~]# dnf install -y glances
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:01 ago on Fri 03 Apr 2026 10:00:00 CST.
Dependencies resolved.
================================================================================================================
Package Architecture Version Repository Size
================================================================================================================
Installing:
glances noarch 3.2.4-1.el9 epel 500 k
…
Complete!
# 2. 验证安装
[root@localhost ~]# glances –version
Glances v3.2.4 with PsUtil v5.9.0
Written by Hervé Beraud
# 3. 启动glances
[root@localhost ~]# glances
3. glances命令基本使用
使用glances命令查看系统状态。
学习交流加群风哥QQ113257174
# 1. 启动glances
[root@localhost ~]# glances
# glances启动后,显示系统状态:
# CPU、内存、磁盘、网络、进程等信息
# 2. 只显示CPU监控
[root@localhost ~]# glances –disable-plugin disk,net,process
# 只显示CPU和内存监控
# 3. 只显示内存监控
[root@localhost ~]# glances –disable-plugin cpu,disk,net,process
# 只显示内存监控
# 4. 只显示磁盘监控
[root@localhost ~]# glances –disable-plugin cpu,net,process
# 只显示磁盘和内存监控
# 5. 只显示网络监控
[root@localhost ~]# glances –disable-plugin cpu,disk,process
# 只显示网络和内存监控
# 6. 只显示进程监控
[root@localhost ~]# glances –disable-plugin cpu,disk,net
# 只显示进程和内存监控
from PG视频:www.itpux.com
4. glances命令交互操作
在glances命令中使用交互式操作。
# 1. 排序
# a:自动排序
# c:按CPU使用率排序
# m:按内存使用率排序
# p:按进程名排序
# i:按I/O使用率排序
# t:按时间排序
# 2. 显示/隐藏信息
# 2:显示CPU信息
# 3:显示内存信息
# 4:显示磁盘信息
# 5:显示网络信息
# 6:显示进程信息
# d:显示/隐藏磁盘I/O
# n:显示/隐藏网络I/O
# f:显示/隐藏文件系统信息
# 3. 进程操作
# k:杀死进程
# i:中断进程
# +:增加进程优先级
# -:降低进程优先级
# 4. 其他操作
# h:显示帮助信息
# q:退出glances
# w:警告阈值
# x:删除警告阈值
# l:显示/隐藏日志
# b:显示/隐藏网络比特率
# g:生成图形
# e:扩展进程信息
5. glances命令高级功能
使用glances命令的高级功能。
# 1. Web界面模式
[root@localhost ~]# glances -w
# 启动Web界面,默认端口为61208
# 访问 http://localhost:61208
# 2. 服务器模式
[root@localhost ~]# glances -s
# 启动服务器模式,默认端口为61209
# 3. 客户端模式
[root@localhost ~]# glances -c 192.168.1.100
# 连接到服务器模式的glances
# 4. 导出数据到文件
[root@localhost ~]# glances –export csv –output-file /tmp/glances.csv
# 导出数据到CSV文件
# 5. 导出数据到数据库
[root@localhost ~]# glances –export influxdb –export-influxdb-host localhost –export-influxdb-port 8086
# 导出数据到InfluxDB数据库
# 6. 配置文件
[root@localhost ~]# cat > ~/.config/glances/glances.conf << 'EOF'
[global]
# 刷新间隔
refresh=3
# 历史时间
history=20
[quicklook]
# 快速查看
cpu=True
mem=True
swap=True
[cpu]
# CPU监控
user=True
system=True
idle=True
nice=True
iowait=True
irq=True
softirq=True
steal=True
guest=True
[mem]
# 内存监控
total=True
used=True
free=True
buffers=True
cached=True
[disk]
# 磁盘监控
io=True
fs=True
[net]
# 网络监控
rx=True
tx=True
[processlist]
# 进程监控
name=True
cmdline=True
username=True
cpu=True
mem=True
io_read=True
io_write=True
[alerts]
# 警告阈值
cpu_warning=70
cpu_critical=90
mem_warning=70
mem_critical=90
swap_warning=50
swap_critical=80
load_careful=2
load_warning=5
load_critical=10
EOF
# 7. 使用配置文件启动glances
[root@localhost ~]# glances -C ~/.config/glances/glances.conf
6. 实战案例
使用glances命令监控系统性能。
学习交流加群风哥微信: itpux-com
# 1. 启动glances
[root@localhost ~]# glances
# 在glances界面中查看系统状态:
# CPU、内存、磁盘、网络、进程等信息
# 2. Web界面模式
[root@localhost ~]# glances -w
# 启动Web界面,默认端口为61208
# 访问 http://localhost:61208
# 3. 创建监控脚本
[root@localhost ~]# cat > /usr/local/bin/glances-monitor.sh << 'EOF'
#!/bin/bash
# script.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# glances监控脚本
LOG_FILE="/var/log/glances-monitor.log"
DATA_DIR="/var/log/glances-data"
ALERT_EMAIL="admin@fgedu.net.cn"
# 记录日志函数
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
}
# 创建数据目录
mkdir -p $DATA_DIR
# 启动glances数据收集
start_glances() {
log “Starting glances data collection…”
glances –export csv –output-file $DATA_DIR/glances-$(date +%Y%m%d-%H%M%S).csv &
GLANCES_PID=$!
echo $GLANCES_PID > /var/run/glances-monitor.pid
log “Glances data collection started with PID: $GLANCES_PID”
}
# 停止glances数据收集
stop_glances() {
log “Stopping glances data collection…”
if [ -f /var/run/glances-monitor.pid ]; then
GLANCES_PID=$(cat /var/run/glances-monitor.pid)
kill $GLANCES_PID
rm /var/run/glances-monitor.pid
log “Glances data collection stopped.”
fi
}
# 分析glances数据
analyze_glances() {
log “Analyzing glances data…”
# 查找最新的glances文件
GLANCES_FILE=$(ls -t $DATA_DIR/glances-*.csv | head -1)
if [ -f “$GLANCES_FILE” ]; then
log “Analyzing file: $GLANCES_FILE”
# 检查CPU使用率
CPU_USAGE=$(tail -1 $GLANCES_FILE | awk -F, ‘{print $100}’)
if [ $(echo “$CPU_USAGE > 80” | bc) -eq 1 ]; then
log “WARNING: CPU usage is ${CPU_USAGE}%”
echo “CPU usage is ${CPU_USAGE}%” | mail -s “WARNING: CPU usage alert” $ALERT_EMAIL
fi
# 检查内存使用率
MEMORY_USAGE=$(tail -1 $GLANCES_FILE | awk -F, ‘{print $200}’)
if [ $(echo “$MEMORY_USAGE > 80” | bc) -eq 1 ]; then
log “WARNING: Memory usage is ${MEMORY_USAGE}%”
echo “Memory usage is ${MEMORY_USAGE}%” | mail -s “WARNING: Memory usage alert” $ALERT_EMAIL
fi
fi
}
# 主函数
main() {
case “$1” in
start)
start_glances
;;
stop)
stop_glances
;;
analyze)
analyze_glances
;;
*)
echo “Usage: $0 {start|stop|analyze}”
exit 1
;;
esac
}
# 执行主函数
main $@
EOF
# 4. 设置脚本执行权限
[root@localhost ~]# chmod +x /usr/local/bin/glances-monitor.sh
# 5. 创建日志文件
[root@localhost ~]# touch /var/log/glances-monitor.log
[root@localhost ~]# chmod 644 /var/log/glances-monitor.log
# 6. 配置定时任务
[root@localhost ~]# cat > /etc/cron.d/glances-monitor << 'EOF'
# 启动glances数据收集
0 * * * * root /usr/local/bin/glances-monitor.sh start
# 停止glances数据收集
59 * * * * root /usr/local/bin/glances-monitor.sh stop
# 分析glances数据
0 1 * * * root /usr/local/bin/glances-monitor.sh analyze
EOF
# 7. 重启cron服务
[root@localhost ~]# systemctl restart crond
# 8. 测试监控脚本
[root@localhost ~]# /usr/local/bin/glances-monitor.sh start
# 9. 查看日志
[root@localhost ~]# tail -f /var/log/glances-monitor.log
[2026-04-03 10:00:00] Starting glances data collection...
[2026-04-03 10:00:01] Glances data collection started with PID: 12345
# 10. 配置日志轮转
[root@localhost ~]# cat > /etc/logrotate.d/glances-monitor << 'EOF'
/var/log/glances-monitor.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0644 root root
}
/var/log/glances-data/*.csv {
daily
rotate 30
compress
delaycompress
missingok
notifempty
}
EOF
# 11. 测试日志轮转
[root@localhost ~]# logrotate -f /etc/logrotate.d/glances-monitor
提示
glances是跨平台系统监控工具,提供了友好的交互界面和Web界面。建议使用glances进行系统监控,收集数据供性能分析。glances支持多种导出格式,可以导出到CSV、InfluxDB等。
