线上系统问题排查检查单
线上系统出现异常问题且没有排查思路时,可根据本清单进行逐一排查。
1. 服务器基础资源检查
CPU使用率
top -c
查看CPU总体使用率及占用高的进程vmstat 1 5
查看CPU上下文切换、中断等情况- 阈值:持续>80%需关注,>90%需紧急处理
内存使用情况
free -h
查看内存和Swap使用情况cat /proc/meminfo
查看详细内存信息- 阈值:可用内存<20%需关注,Swap使用>0需检查
磁盘空间
df -h
查看各分区使用情况du -sh /*
查找大文件目录- 阈值:使用率>80%需关注,>90%需紧急处理
磁盘I/O
iostat -x 1 5
查看磁盘I/O负载iotop
查看I/O占用高的进程- 阈值:await>10ms需关注,>50ms需处理
网络连接
netstat -antp
查看网络连接状态ss -s
查看总连接数统计iftop
查看实时网络流量
2. 数据库检查(Mysql)
数据库连接数
SHOW STATUS LIKE 'Threads_connected';
SHOW VARIABLES LIKE 'max_connections';
慢查询日志
- 检查慢查询是否开启:
SHOW VARIABLES LIKE 'slow_query%';
- 检查慢查询阈值:
SHOW VARIABLES LIKE 'long_query_time';
- 分析慢查询日志:
mysqldumpslow -s t /path/to/slow.log
慢日志文件大小
ls -lh /var/lib/mysql/*slow.log
- 检查日志轮转配置
Binlog日志
- 检查大小:
ls -lh /var/lib/mysql/mysql-bin.*
- 检查过期设置:
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
- 检查写入位置:
SHOW MASTER STATUS;
锁等待情况
SHOW ENGINE INNODB STATUS;
SELECT * FROM sys.innodb_lock_waits;
3. Redis检查
Redis服务器资源
top -p $(pgrep redis-server)
查看Redis进程资源占用redis-cli info memory
查看内存使用详情redis-cli info stats
查看操作统计
Redis连接数
redis-cli info clients
查看连接数redis-cli info persistence
查看持久化状态
Key数量及内存
redis-cli dbsize
查看key数量redis-cli --bigkeys
查找大key
4. 服务注册检查(Nacos)
服务注册状态
- 登录Nacos控制台检查各服务是否注册
5. 应用服务检查
服务进程状态
ps -ef | grep 服务名
jps -l
(Java服务)
服务日志检查
- 检查最新错误日志:
tail -n 200 /path/to/error.log
- 搜索特定错误:
grep -i "error\|exception" /path/to/logfile
数据库连接池配置检查
JVM状态(Java服务)
jstat -gcutil <pid> 1000 5
查看GC情况jmap -heap <pid>
查看堆内存配置
6. 其他检查
定时任务状态
crontab -l
查看计划任务- 检查最近执行日志
外部依赖服务
- 检查第三方API可用性
- 检查支付、短信等关键通道
备注:建议将此检查单与监控系统(如Prometheus+Grafana)结合使用,实现自动化巡检。对于生产环境,关键指标应设置告警阈值。