概述
更新時間 2024-03-11 11:36:07
最近更新時間: 2024-03-11 11:36:07
分享文章
本文主要介紹概述
概述
APM Agent會周期性采集一些性能指標數據,用來衡量應用的總體健康狀況。可以采集JVM、GC、服務調用、異常、外部調用、數據庫訪問以及其他中間件的指標調用等數據,幫助用戶全面掌握應用的運行情況。
APM對指標數據的采集有嚴格的定義,每一種采集的數據類型對應一個采集器,比如采集java應用的JVM數據,那么對應有JVM采集器,一個采集器會采集多個指標集的數據。
采集器被部署到環境后形成監控項,在數據采集的時候監控項決定了采集的數據結構和采集行為。
- 采集周期:監控項具有數據采集器的周期屬性。當前數據采集周期為一分鐘,不支持用戶調整。
- 監控項狀態:默認為enable狀態,用戶可以將監控項設置為disable狀態,這樣Agent就不會攔截該指標數據,也不會上報數據。
- 采集狀態:采集實例和監控項會有一個采集狀態信息。如果出現采集錯誤,可以通過采集狀態查看。常見錯誤是主鍵太多,導致客戶端數據匯聚異常。
監控項類型
Agent會自動發現系統采集的插件類型,并且將采集器實例化,形成監控項。監控項是實例化在一個環境上的。
由于采集器種類較多,會導致用戶區分困難。系統后臺會定義一些類型,每種采集器都會歸到一種類型下,這樣方便用戶查看數據。
根據采集器的作用可以將監控項分為以下幾種類型:
- 接口調用:是指外部服務調用當前應用的監控類型。
- 基礎監控:是用來監控系統性能的基礎監控指標的監控類型。
- 異常:用來監控應用的異常信息。
- 外部調用:是指當前應用調用外部服務的監控類型。
- 數據庫:是對數據庫的訪問進行監控。
- 緩存:是對Redis等緩存系統的監控,會采集指令級別的細粒度的指標數據。
- web容器:是對tomcat等web容器的監控,一般會采集系統總的處理線程數,busy線程數,連接數等;用于衡量系統總的容量。
- 消息隊列:是對kafka、RabbitMq等消息系統的監控,包含發送端和接收端的監控。在接收端的處理函數,可以產生調用鏈信息。
- 通信協議:是對websocket等通信協議的監控。
監控項配置
每個監控項對應的采集器會定義一些采集參數,用戶可以在頁面更改采集參數,并且隨著心跳參數下發到Agent,更改采集行為。比如默認情況,出于安全考慮APM不會采集redis指令里面的內容,如果用戶有需求,可以更改監控項的采集參數,實現具體指令數據內容的采集。采集參數也可以定義在環境標簽上面,這樣對應的環境標簽下的采集器會自動繼承采集參數屬性,實現配置自動化。
監控項視圖
在指標監控詳情界面,一個監控項會對應一個或者多個tab的視圖,每個視圖都對應一個指標集合。視圖當前支持匯總表格、趨勢圖、最近數據表格和原始表格幾種類型。