診斷服務端報錯問題
更新時間 2025-06-20 11:12:59
最近更新時間: 2025-06-20 11:12:59
分享文章
針對服務端報錯問題進行診斷
診斷服務端報錯問題
問題描述
網頁拋錯,尤其是5xx錯誤是互聯網應用最常見的問題之一。5xx錯誤通常發生于服務端。服務端是業務邏輯最復雜,也是整條網絡請求鏈路中最容易出錯、出了錯之后最難診斷原因的地方。運維工程師或研發工程師往往需要登錄機器查看日志來定位問題。
對于邏輯不太復雜、上線時間不長的應用來說,登錄機器查看日志的方式能夠解決大部分網站拋錯的問題。但在以下場景中,傳統的問題診斷方式往往沒有用武之地。
- 在一個分布式應用集群中,需知道某一類錯誤的發生時間和頻率。
- 某系統已運行了很長時間,但是不想關心遺留的異常,只想知道今天和昨天相比、發布后和發布前相比多了哪些異常。
- 查看一個異常對應的Web請求和相關參數。
- 客服人員提供了一個用戶下單失敗的訂單號,分析該用戶下單失敗的原因。
解決方案
為應用安裝APM探針后,即可在不改動應用代碼的情況下,利用應用性能監控的異常自動捕捉、收集、統計和溯源等能力,全面掌握應用的各種錯誤信息。
步驟一:安裝APM探針
為應用安裝APM探針后,才能對應用進行全方位監控。請根據實際需求選擇一種方式來安裝探針。
步驟二:查看關于應用異常的統計信息
為應用安裝APM探針后,APM會收集和展示選定時間內應用的總請求量、平均響應時間、錯誤數、實時實例數、FullGC次數、慢SQL次數、異常次數和慢調用次數,以及這些指標和上一天的環比、上周的同比升降幅度。請按以下步驟查看應用異常的統計信息。
- 在應用總覽頁面的概覽頁簽下方,查看異常的總數、周同比和日同比數據,如下圖所示。
- 滑動頁面至概覽頁簽底部的統計分析區域的異常類型,查看各類型異常出現的次數,如下圖所示。
- 在導航欄,點擊應用詳情 ,選擇異常錯誤分析,查看異常統計圖、錯誤數、異常堆棧等,如下圖所示。
步驟三:診斷異常出現的原因
掌握應用異常的統計信息還不足以診斷異常出現的原因。雖然日志中異常堆棧包含調用的代碼片段,但并不包含這次調用的完整上下游信息和請求參數。APM探針采用了字節碼增強技術,讓您能夠以很小的性能消耗捕獲異常上下游的完整調用快照,進而找出導致異常出現的具體原因。
- 在異常分析頁簽下,找到要診斷的異常類型,在其右側操作列,單擊調用鏈查詢。
- 在調用鏈查詢頁簽下,單擊某個錯誤調用的TraceId,如下圖所示。
- 在彈出的頁面,查看異常的調用鏈路信息。
操作至此,您已發現了應用異常的原因,這將有效地幫助您進行下一步的代碼優化工作。您還可以返回調用鏈查詢頁簽,查看列表中其他異常,逐一解決。