1. 首页 > Linux教程 > 正文

Linux教程FG170-glances命令系统监控

内容大纲

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

1. glances命令概述

glances命令是Linux系统中的跨平台系统监控工具,它提供了友好的交互界面,可以监控CPU、内存、磁盘、网络、进程等系统资源。

更多学习教程公众号风哥教程itpux_com

# glances命令的主要功能
# CPU监控:CPU使用率、上下文切换
# 内存监控:内存使用、交换、缓存
# 磁盘监控:磁盘I/O、磁盘使用率
# 网络监控:网络流量、网络错误
# 进程监控:进程CPU、内存使用
# 实时监控:实时显示系统状态
# Web界面:提供Web界面访问

2. glances命令安装

使用dnf命令安装glances。

风哥提示:

# 安装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

# glances命令基本使用

# 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命令中使用交互式操作。

# 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命令的高级功能。

# 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

# 实战案例:使用glances命令监控系统性能

# 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

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息