一、微服務內部異常
-
描述
- 微服務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
測試端口 - 檢查防火墻規則
- 使用
- 解決:
- 修正防火墻策略
- 確保目標服務端口監聽正常