1)維運平台日誌管理功能拆分優化
2)對於叢集多節點工程,支援單次下載多節點日誌檔案3)各類日誌下載時,支援選擇服務類型,按需下載日誌
維運平台監測當機,自動觸發生成日誌條件優化
1)應用無迴應觸發時間由3分鐘優化為2分鐘
2)新增FullGC觸發條件:5min內FullGC次數總和大於3次,且時間總和超過 50s
1)在專案不可用情況下,仍支援生成、分析、下載效能堆堆疊
2)優化分析報表,拆分記憶體和CPU資訊,優化GC狀態展示
當工程出現當機或異常時:
1)在工程當機時,管理者需要快速生成堆疊日誌,以確定事後有辦法覆盤定位問題。
2)管理者需要對堆疊日誌進行分析,追蹤問題產生的根本原因,但日誌分析對管理者的技術水平要求較高。
3)管理者需要將堆疊日誌拿到本地自行分析,或提供給帆軟技術支援人員,幫助確認工程存在的問題,但很多公司日誌獲取費時費力。
FineOps維運平台提供「效能堆疊」功能,支援對堆疊日誌進行快速生成、智慧分析、便捷下載。
效能堆疊功能,支援對以下堆疊日誌進行生成、分析和下載:
Linux 系統下的 top 命令的匯出結果,用於顯示當前系統中運作進程的相關資訊,包括top-H.txt、top-sortedByCPU.txt、top-sortedByMEM.txt
1)top-H.txt:該檔案是 top 命令匯出結果中的 "H" 模式,用於顯示執行緒資訊,包括執行緒 ID、CPU 佔用率、記憶體佔用率等
2)top-sortedByCPU.txt:該檔案是 top 命令匯出結果按照 CPU 佔用率從高到低排序的資訊,包括進程 ID、CPU 佔用率、記憶體佔用率等
3)top-sortedByMEM.txt:該檔案是 top 命令匯出結果按照記憶體佔用率從高到低排序的資訊,包括進程 ID、CPU 佔用率、記憶體佔用率等
應用場景:
當工程當機後,管理者需要對當機日誌進行分析,修復工程存在的問題,防止再次發生。
FineOps維運平台支援對jstack、histo、gc和top-H內容進行分析,幫助使用者分析錯誤堆疊並給出相關改進意見。
當滿足 4.1 節自動生成日誌後,FineOps會對每個節點自動生成的堆疊日誌進行分析。
1)管理者登入維運平台,點選「專案管理」,選擇指定維運專案。
2)進入「日誌>效能堆疊」頁面,在「分析」模組下可以查看到自動分析的結果:
操作步驟:
1)管理者登入維運平台,點選「專案管理」,選擇指定維運專案。進入「日誌>效能堆疊」頁面,
2)在「分析」模組下,點選「分析」按鈕。觸發該維運專案下每個節點生成堆疊日誌。
3)FineOps會對每個節點生成的堆疊日誌進行分析,分析結果生成在分析記錄中。
注意事項:
每1分鐘僅支援進行1次分析,以防頻繁觸發,導致系統效能差。若分析請求過於頻繁,則提示「分析請求太頻繁啦,請稍等一分鐘後再重新嘗試」。
使用者可手動上傳本地堆疊日誌到維運平台進行分析。
1)準備本地堆疊日誌包
僅支援.zip/.tar/.gz格式壓縮包,請務必準備標準的jstack -l堆疊。
維運平台將根據壓縮包中jstack、histo、gc和top-H 生成分析報表,僅支援同時分析一個節點。
2)上傳本地堆疊日誌包
管理者登入維運平台,點選「專案管理」,選擇維運專案,點選「日誌>效能堆疊」。
在「分析」模組下,點選「上傳效能堆疊分析」按鈕,選擇本地日誌包,點選「開啟」。
3)生成分析報表
FineOps將根據壓縮包中jstack、histo、gc和top-H 生成分析報表,僅支援同時分析一個節點。
分析結果在新標籤頁開啟,不記錄在分析記錄中。
在「分析>分析記錄」模組下,以明細表形式顯示該維運專案下所有手動/自動觸發的堆疊分析結果(不包括手動上傳的日誌分析記錄)。
1)分析記錄以明細表形式展示,展示內容包括:專案名、節點名、觸發類型、操作時間、操作者、操作IP、分析結果。
若手動觸發,操作者和操作IP為空。
2)若維運專案為叢集環境,每個節點都會生成一份分析結果。
3)日誌分析歷史記錄最多只保留最近50條記錄。支援選中單個分析記錄刪除,支援批量刪除多個分析記錄,支援清空全部歷史記錄。
4)點選分析記錄中的「查看」按鈕,即可在新標籤頁開啟具體的分析結果。
點選對應分析結果後的「查看」按鈕,即可查看本次分析的具體結果。
效能堆疊分析結果範例如下圖所示,分為兩個部分:記憶體狀態詳情、執行緒CPU狀態詳情。
記憶體狀態詳情:分為GC狀態和記憶體狀態
執行緒CPU狀態詳情:
當工程當機後,管理者需要將當機日誌拿到本地自行分析,或提供給帆軟技術支援人員,幫助確認工程存在的問題,防止再次發生。
管理者登入維運平台,點選「專案管理」,選擇維運專案
點選「日誌>效能堆疊」
可選範圍:7天前~當前日期,所選時間跨度不可超過2天(48小時)
預設時間:2小時前~當前時間
支援類型:BI、FR
可選範圍:所選時間記憶體在的服務類型,預設全選
1)非容器化維運專案不支援選擇服務類型
2)如不存在任一類型,則不出現該選項
可選範圍:所選維運專案中的所有節點,預設全選
支援類型:
支援下載的日誌,為第四章生成的日誌,包括
fanruan.gc.log、thread.txt、histo.txt、hs_err.txt、top.txt
1)如不存在某種類型的日誌,則不支援下載該類型日誌
2)容器化部署的維運專案,如安裝elasticsearch組件用於日誌儲存,則不支援該項,直接全量下載
當工程當機或出現異常時,堆疊日誌可以幫助管理者快速定位問題所在的程式碼。
當工程出現效能問題(如回應時間過長或CPU佔用過高)時,堆疊日誌可以幫助管理者理解程式的執行路徑,找到可能的效能瓶頸。
當工程出現問題時,histo日誌可以幫助管理者追蹤使用者歷史輸入命令,保持維運人員對使用者行為的監視,追蹤問題產生的根本原因
維運平台支援手動/自動生成堆疊和histo日誌。
1)觸發自動生成日誌
以下情況,均會觸發自動生成日誌。
當該維運專案出現以下情況時,自動觸發生成日誌
CPU佔用超過80%(fr、fdl、bi-web、bi-worker):生成堆疊
發生超過30S的GC(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo
應用2分鐘無回應(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo
執行緒池用量達到85%(fr、fdl、bi-web、bi-worker):生成堆疊
連續FullGC後依舊負載較高(連續5次FullGC且負載分大於100)(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo
5min內FullGC次數總和大於3次,且時間總和超過 50s(fr、fdl、bi-web、bi-worker、bi-master):生成堆疊和histo
使用者可預設自動生成的日誌類型
進入「日誌>效能堆疊」頁面,當手動點選「分析」按鈕時,會先自動觸發生成一份堆疊日誌。
2)「自動生成」的日誌
當滿足上文條件後,自動觸發該維運專案下每個節點生成堆疊日誌。
根據專案部署方式和所選服務類型,日誌生成在不同位置
當前維運專案有問題的節點所在伺服器
%Tomcat%/logs/FineLog/日期資料夾內
1)管理者登入維運平台,點選「專案管理」,選擇維運專案,點選「日誌>效能堆疊」。
2)在「生成>手動生成」模組下,選擇服務類型。
可選範圍:當前維運專案所有節點中存在的服務類型;非容器化維運專案不支援選擇服務類型;如不存在任一類型,則不出現該選項。
3)點選「生成」,觸發該維運專案下每個節點生成堆疊日誌。
4)生成的檔案位置為:
每1分鐘僅支援生成1次堆疊,以防頻繁觸發,導致系統效能差。
在效能堆疊中,展示歷史生成記錄,包含所有自動/手動觸發生成的情況。如下圖所示:
以明細表形式展示:節點名、匯出內容、匯出開始時間、匯出時長、觸發類型、是否成功、失敗原因。