Ubuntu Stream 8 系统监控实用指南
一 快速排查与实时监控命令
- 进程与负载
- 使用 top/htop 查看进程与 CPU/内存 占用;安装 htop:sudo apt install htop
- 查看系统运行时间与平均负载:uptime
- 内存与交换
- 虚拟内存与 I/O
- 综合资源与 I/O:vmstat 1
- 磁盘 I/O 统计:iostat -x 1(需安装 sysstat:sudo apt install sysstat)
- 网络
- 套接字与连接:ss -tulpen
- 实时带宽:iftop(需安装:sudo apt install iftop)
- 综合采样
- 多资源概览:dstat -c -m -d -n 1
- 历史与回溯
- 系统活动报告:sar -A(需安装 sysstat;如未采集,可先启用 sysstat 服务/定时任务)
二 日志与故障定位
- 使用 journalctl 查看与跟踪日志
- 实时跟踪:journalctl -f
- 按服务查看:journalctl -u <service_name>
- 按时间范围:journalctl --since “2025-12-01” --until “2025-12-08”
- 查看最近 N 条:journalctl -n 100
- 查看传统日志文件
- 系统日志:/var/log/syslog(可用 less/tail -f)
- 认证与安全:/var/log/auth.log
- Web 服务示例:Nginx 访问/错误日志 /var/log/nginx/access.log、/var/log/nginx/error.log
- 内核与启动信息
- 登录历史
- 日志维护
- 清理旧日志以释放空间:sudo journalctl --vacuum-time=7d
三 图形化与远程监控
- 桌面图形工具
- GNOME Logs(图形化查看系统与服务日志)
- Glances(跨平台监控,支持 C/S 模式与 Web 界面)
- 企业级与可视化平台
- Zabbix(集中监控、告警)
- Prometheus + Grafana(时序数据采集与可视化)
- 轻量自托管
- Monitorix(Web 界面,轻量系统与应用监控)
四 一键巡检脚本示例
- 用途:快速输出关键指标(CPU/内存/磁盘 I/O/网络/负载/登录历史)
- 保存为 sysmon.sh,执行:bash sysmon.sh
#!/usr/bin/env bash
echo "===== $(date) ====="
echo "Uptime: $(uptime)"
echo
echo "=== CPU & Load ==="
mpstat -P ALL 1 1 | awk '/Average:/ && $2 ~ /[0-9]/ {printf "CPU%-2s: %5.1f%% user, %5.1f%% sys, %5.1f%% idle\n", $2, $3, $5, $12}'
echo
echo "=== Memory ==="
free -h
echo
echo "=== Disk I/O ==="
iostat -x 1 1 | awk '/^sd|^nvme/ {printf "%s: rkB/s %6.0f, wkB/s %6.0f, await %5.1f ms, %s\n", $1, $6, $7, $10, $NF}'
echo
echo "=== Network Connections ==="
ss -s
echo
echo "=== Top 5 Memory Processes ==="
ps -eo pid,ppid,cmd,%mem --sort=-%mem | head -n 6
echo
echo "=== Top 5 CPU Processes ==="
ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -n 6
echo
echo "=== Recent Logins ==="
last -n 5
提示
- 若提示命令不存在,按需安装:sudo apt install htop sysstat iftop;Glances 可用 pip 安装并在服务器模式运行,配合浏览器或客户端远程查看。