工作隨筆——pinpoint分布式性能監控工具(docker安裝)
阿新 • • 發佈:2018-07-19
clas 詳情 pat 針對 配置 hub csdn 了無 相關
在做性能壓測的時候,你是不是有只能看到測試報告?
在做性能壓測的時候,你是不是想知道每一個方法執行了多長時間?
Pinpoint幾乎可以幫助你查看你想看到的每一個細節。
Pinpoint是什麽?
Pinpoint是一款全鏈路分析工具,提供了無侵入式的調用鏈監控、方法執行詳情查看、應用狀態信息監控等功能。基於GoogleDapper論文進行的實現,與另一款開源的全鏈路分析工具Zipkin類似,但相比Zipkin提供了無侵入式、代碼維度的監控等更多的特性。 Pinpoint支持的功能比較豐富,可以支持如下幾種功能:
- 服務拓撲圖:對整個系統中應用的調用關系進行了可視化的展示,單擊某個服務節點,可以顯示該節點的詳細信息,比如當前節點狀態、請求數量等
- 實時活躍線程圖:監控應用內活躍線程的執行情況,對應用的線程執行性能可以有比較直觀的了解
- 請求響應散點圖:以時間維度進行請求計數和響應時間的展示,拖過拖動圖表可以選擇對應的請求查看執行的詳細情況
- 請求調用棧查看:對分布式環境中每個請求提供了代碼維度的可見性,可以在頁面中查看請求針對到代碼維度的執行詳情,幫助查找請求的瓶頸和故障原因。
- 應用狀態、機器狀態檢查:通過這個功能可以查看相關應用程序的其他的一些詳細信息,比如CPU使用情況,內存狀態、垃圾收集狀態,TPS和JVM信息等參數。
架構組成
Pinpoint 主要由 3 個組件外加 Hbase 數據庫組成,三個組件分別為:Agent、Collector 和 Web UI。
- Agent組件:用於收集應用端監控數據,無侵入式,只需要在啟動命令中加入部分參數即可
- Collector組件:數據收集模塊,接收Agent發送過來的監控數據,並存儲到HBase
- WebUI:監控展示模塊,展示系統調用關系、調用詳情、應用狀態等,並支持報警等功能
安裝Collector組件
# 克隆官方提供的docker git git clone https://github.com/naver/pinpoint-docker.git cd pinpoint-docker # 1.7.3版本需要將 pinpoint-docker/docker-compose.yml的第17行和第18行修改為絕對路徑,否則會啟動報錯(docker 17.03版本測試) # 如需修改相關組件的ip和端口,請修改pinpoint-Docker/.env文件docker-compose pull && docker-compose up -d # 啟動完成後訪問網頁 http://localhost:8081/#/submit 將pinpoint-docker/pinpoint-flink/build/pinpoint-flink-job-{pinpoint-version}.jar 文件手動upload到flik組件中,上傳的版本需要和pinpoint保持一致
# 訪問:http://localhost:8079/ 即可瀏覽pinpoint頁面
# 官方說明:https://github.com/naver/pinpoint-docker
安裝Agent組件
訪問 https://github.com/naver/pinpoint/releases 下載和 Collector組件 相同版本的pinpoint-agent壓縮包。
解壓pinpoint-agent壓縮包,找到 pinpoint.config 文件,修改為你對應環境的配置。一般情況只需要修改配置項 profiler.collector.ip=127.0.0.1 為你自己的Collector組件的IP。
配置應用程序
// 如果你在多臺機器上部署了應用程序,那麽就需要在多臺機器上部署Agent組件 // ${pinpointPath}是agent組件存放的路徑,類似於JAVA_HOME // 在java啟動命令中加入如下參數 -javaagent:${pinpointPath}/pinpoint-bootstrap-1.7.3.jar -Dpinpoint.applicationName= // 在pinpoint上顯示的名字 -Dpinpoint.agentId= // id,可以和applicationName相同,也可以不同
啟動程序,訪問一下,就可以在pinpoint上看見相關數據。
pinpoint使用教程:點我去查看
工作隨筆——pinpoint分布式性能監控工具(docker安裝)