一、微服务内部异常
-
描述
- 微服务Pod自动重启
- 表现:服务波动(响应时间不稳定)、监控指标异常(Pod重启次数增加,CPU/内存波动)、Kubernetes事件记录容器重启原因
- 影响:服务中断、性能波动、资源消耗增加、可能引发链路雪崩
-
监控指标
- Pod自动重启
-
告警规则
- 1分钟内Pod重启次数 > 0
-
常见原因
- 健康检查失败(Liveness/Readiness Probe配置不当)
- 容器异常退出(如OOM Killed)
- 配置变更触发重启
-
排查步骤
- 查看Pod状态及事件
- 检查Pod日志定位异常(资源耗尽、代码错误等)
- 验证健康检查探针配置合理性
- 检查资源限制(requests/limits)
- 分析CPU/内存等监控指标
- 排查配置变更或网络/存储问题
-
解决方案
- 健康检查失败:扩容Pod、放宽探针阈值、修复中间件/网络
- 容器异常退出:监控内存使用,分析OOM Dump文件
二、微服务接口响应失败率高
-
描述
- 接口请求失败率高,但部分请求成功
- 表现:接口频繁告警,业务仍可运行
- 影响:业务异常、系统稳定性下降
-
监控指标
- 接口失败率
-
告警规则
- 指定时间内接口失败率 > x%
- 指定时间内接口失败次数 > x
-
常见原因
- 依赖服务节点宕机
- 带宽占用过高
- 网络策略未开白/调整
- 依赖服务GC异常
-
排查步骤
- 分析日志
- 检查依赖服务节点状态(CPU等)
- 测试网络带宽与连通性
- 检查JVM信息(线程池、GC停顿)
-
解决方案
- 完善监控机制(CPU/JVM/带宽等)
- 配置服务宕机告警
- 建立依赖方问题同步机制
三、数据库连接池获取超时
-
描述
- 服务接口大面积超时
- 表现:P99延迟、线程数激增、数据库负载高
- 影响:系统性能下降、请求失败、事务中断
-
监控指标
- 获取数据库连接池超时
-
告警规则
- 获取数据库连接池超时数量 > 1
-
常见原因
- 连接池配置不当(最大连接数过小、超时过短)
- 数据库性能瓶颈
- 网络延迟
- 连接泄露(未正确关闭)
-
排查步骤
- 检查日志(连接池错误)
- 监控数据库性能指标(CPU/内存等)
- 验证连接池参数合理性
- 测试网络连通性
- 审查代码确保连接释放
-
解决方案
- 优化连接池配置(调整最大连接数/超时时间)
- 提升数据库性能(SQL优化、分库分表)
- 修复代码泄露问题
- 引入连接池监控工具
四、JVM内存OOM
-
描述
- 服务无法启动或Pod不定期重启
- 表现:CPU/内存/网络连接数异常升高
- 影响:系统性能下降、服务中断、资源耗尽
-
监控指标
- IO、线程数、文件句柄数、内存
-
告警规则
- 各监控指标 > x
-
常见原因
- 堆内存溢出(对象过多、内存泄露)
- 方法区溢出(类加载过多)
- 栈内存溢出(递归过深、线程过多)
-
排查步骤
- 定位报错信息(如
OutOfMemoryError
) - 使用
top
/jstat
分析GC情况 - 生成Dump文件分析内存泄漏
- 定位报错信息(如
-
解决方案
- 优化代码(减少对象创建、调整递归)
- 内存泄漏检测(工具监控)
- 调整JVM参数(堆大小、线程栈等)
五、MySQL数据库异常
1. CPU占用率高
- 描述:系统响应慢、连接超限、查询性能下降
- 影响:性能下降、资源争用、稳定性风险
- 监控指标:
cpu_usage_idle
- 告警规则:CPU使用率 > 70%
- 原因:慢查询、数据量大、硬件不足、高并发
- 排查:
- 确认CPU占用率
- 检查连接数(
SHOW PROCESSLIST
) - 分析慢SQL(
EXPLAIN
)
- 解决:优化SQL、调整配置、升级硬件
2. 连接数过高
- 描述:响应延迟、"Too many connections"错误
- 影响:性能下降、资源耗尽、服务崩溃
- 监控指标:连接数占比
- 告警规则:连接数 > 最大连接数的80%
- 原因:连接泄露、连接池设置不当、长查询
- 解决:
- 调整
max_connections
- 优化连接池
- 引入缓存(如Redis)
- 调整
六、中间件异常
Kafka消息堆积
- 表现:消费者延迟增大、Rebalance频繁
- 影响:消费缓慢、异步链路阻塞
- 告警规则:消息堆积数量超阈值
- 原因:
- 消费者处理能力不足
- Partition过少
- 生产速率过快
- 解决:
- 调整
max.poll.records
降低单次拉取量 - 扩容消费者或Partition
- 配置堆积监控告警
- 调整
Nacos异常
- 表现:服务启动失败、配置更新延迟
- 影响:服务调用中断
- 原因:内存不足、版本冲突、网络问题
- 排查:
- 检查Nacos服务状态
- 测试网络连通性
- 验证客户端版本一致性
- 解决:
- 扩容Nacos资源
- 规范配置拉取频率
七、网络异常
域名DNS解析失败
- 表现:
UnknownHostException
、服务错误率上升 - 影响:业务功能故障、资源消耗
- 原因:域名配置错误、DNS服务器故障
- 解决:
- 检查Hosts文件/DNS配置
- 清理本地DNS缓存
- 配置日志监控告警
端口不通
- 表现:
ConnectException
、SocketTimeoutException
- 影响:服务调用超时
- 排查:
- 使用
telnet
/nc
/ping
测试端口 - 检查防火墙规则
- 使用
- 解决:
- 修正防火墙策略
- 确保目标服务端口监听正常