1. 程式人生 > >全鏈路監控工具Pinpoint1.8.2部署

全鏈路監控工具Pinpoint1.8.2部署

http 啟動命令 基於 create 散點 volume -c 響應時間 done

參考

https://github.com/naver/pinpoint-docker
https://www.cnblogs.com/zz0412/p/9333296.html
https://blog.csdn.net/qq_21816375/article/details/80455681

簡介
Pinpoint是一款全鏈路分析工具,提供了無侵入式的調用鏈監控、方法執行詳情查看、應用狀態信息監控等功能。基於GoogleDapper論文進行的實現,與另一款開源的全鏈路分析工具Zipkin類似,但相比Zipkin提供了無侵入式、代碼維度的監控等更多的特性。 Pinpoint支持的功能比較豐富,可以支持如下幾種功能:

  • 服務拓撲圖:對整個系統中應用的調用關系進行了可視化的展示,單擊某個服務節點,可以顯示該節點的詳細信息,比如當前節點狀態、請求數量等
    實時活躍線程圖:監控應用內活躍線程的執行情況,對應用的線程執行性能可以有比較直觀的了解
  • 請求響應散點圖:以時間維度進行請求計數和響應時間的展示,拖過拖動圖表可以選擇對應的請求查看執行的詳細情況
  • 請求調用棧查看:對分布式環境中每個請求提供了代碼維度的可見性,可以在頁面中查看請求針對到代碼維度的執行詳情,幫助查找請求的瓶頸和故障原因。
  • 應用狀態、機器狀態檢查:通過這個功能可以查看相關應用程序的其他的一些詳細信息,比如CPU使用情況,內存狀態、垃圾收集狀態,TPS和JVM信息等參數。

架構組成
Pinpoint 主要由 3 個組件外加 Hbase 數據庫組成,三個組件分別為:Agent、Collector 和 Web UI。

  • Agent組件:用於收集應用端監控數據,無侵入式,只需要在啟動命令中加入部分參數即可
  • Collector組件:數據收集模塊,接收Agent發送過來的監控數據,並存儲到HBase
  • WebUI:監控展示模塊,展示系統調用關系、調用詳情、應用狀態等,並支持報警等功能

部署
1.安裝docker docker-compose

yum update -y
yum install docker epel-release python-pip -y
pip install --upgrade pip
pip install docker-compose

報錯

  Found existing installation: requests 2.6.0
Cannot uninstall ‘requests‘. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstal

排錯

https://github.com/docker/compose/issues/5883
與pip版本有關
pip install --upgrade --force-reinstall pip==9.0.3

2.部署pinpoint
git clone https://github.com/naver/pinpoint-docker.git
cd pinpoint-docker
docker-compose pull && docker-compose up -d

[root@VM_8_77_centos ~]# git clone https://github.com/naver/pinpoint-docker.git
Cloning into ‘pinpoint-docker‘...
remote: Enumerating objects: 269, done.
remote: Total 269 (delta 0), reused 0 (delta 0), pack-reused 269
Receiving objects: 100% (269/269), 167.23 MiB | 649.00 KiB/s, done.
Resolving deltas: 100% (129/129), done.

[root@VM_8_77_centos ~]# cd pinpoint-docker
[root@VM_8_77_centos pinpoint-docker]# ls
docker-compose.yml  pinpoint-agent                 pinpoint-flink  pinpoint-quickstart  Readme.md
docs                pinpoint-agent-attach-example  pinpoint-hbase  pinpoint-web
License             pinpoint-collector             pinpoint-mysql  pinpoint-zookeeper

[root@VM_8_77_centos pinpoint-docker]# docker-compose pull && docker-compose up -d
Pulling jobmanager          ... done
Pulling zoo2                ... done
Pulling taskmanager         ... done
Pulling zoo1                ... done
Pulling zoo3                ... done
Pulling pinpoint-mysql      ... done
Pulling pinpoint-hbase      ... done
Pulling pinpoint-web        ... done
Pulling pinpoint-collector  ... done
Pulling pinpoint-agent      ... done
Pulling pinpoint-quickstart ... done
Creating network "pinpoint-docker_pinpoint" with driver "bridge"
Creating volume "pinpoint-docker_data-volume" with default driver
Creating volume "pinpoint-docker_mysql_data" with default driver
Creating pinpoint-docker_zoo2_1    ... done
Creating pinpoint-docker_zoo3_1    ... done
Creating pinpoint-mysql            ... done
Creating pinpoint-hbase             ... done
Creating pinpoint-flink-jobmanager ... done
Creating pinpoint-docker_zoo1_1    ... done
Creating pinpoint-flink-taskmanager ... done
Creating pinpoint-web               ... done
Creating pinpoint-collector         ... done
Creating pinpoint-agent             ... done
Creating pinpoint-quickstart        ... done

3.檢查鏡像及進程

[root@VM_8_77_centos pinpoint-docker]# docker images 
REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
docker.io/zookeeper                            3.4                 4c7dee7bb5a5        2 weeks ago         150 MB
docker.io/pinpointdocker/pinpoint-agent        1.8.2               1c148b50ec86        6 weeks ago         27.2 MB
docker.io/pinpointdocker/pinpoint-hbase        1.8.2               f851bde92ec0        6 weeks ago         993 MB
docker.io/pinpointdocker/pinpoint-mysql        1.8.2               bf4cdc9f9506        6 weeks ago         390 MB
docker.io/pinpointdocker/pinpoint-web          1.8.2               a0fa17b655a5        6 weeks ago         598 MB
docker.io/pinpointdocker/pinpoint-collector    1.8.2               c6e189845eef        6 weeks ago         533 MB
docker.io/pinpointdocker/pinpoint-quickstart   latest              125fa49a4a38        10 months ago       566 MB
docker.io/flink                                1.3.1               c08ccd5bb7a6        21 months ago       480 MB

[root@VM_8_77_centos pinpoint-docker]# docker-compose ps
           Name                         Command               State                          Ports                       
-------------------------------------------------------------------------------------------------------------------------
pinpoint-agent               /usr/local/bin/configure-a ...   Up                                                         
pinpoint-collector           /usr/local/bin/start-colle ...   Up      8080/tcp, 0.0.0.0:9994->9994/tcp,                  
                                                                      0.0.0.0:9995->9995/tcp, 0.0.0.0:9995->9995/udp,    
                                                                      0.0.0.0:9996->9996/tcp, 0.0.0.0:9996->9996/udp     
pinpoint-docker_zoo1_1       /docker-entrypoint.sh zkSe ...   Up      2181/tcp, 2888/tcp, 3888/tcp                       
pinpoint-docker_zoo2_1       /docker-entrypoint.sh zkSe ...   Up      2181/tcp, 2888/tcp, 3888/tcp                       
pinpoint-docker_zoo3_1       /docker-entrypoint.sh zkSe ...   Up      2181/tcp, 2888/tcp, 3888/tcp                       
pinpoint-flink-jobmanager    /docker-entrypoint.sh jobm ...   Up      6123/tcp, 0.0.0.0:8081->8081/tcp                   
pinpoint-flink-taskmanager   /docker-entrypoint.sh task ...   Up      0.0.0.0:19994->19994/tcp, 0.0.0.0:6121->6121/tcp,  
                                                                      0.0.0.0:6122->6122/tcp, 6123/tcp, 8081/tcp         
pinpoint-hbase               /bin/sh -c ${BASE_DIR}/hba ...   Up      0.0.0.0:16010->16010/tcp, 0.0.0.0:16030->16030/tcp,
                                                                      0.0.0.0:2180->2181/tcp, 0.0.0.0:60000->60000/tcp,  
                                                                      0.0.0.0:60020->60020/tcp                           
pinpoint-mysql               docker-entrypoint.sh mysqld      Up      0.0.0.0:13306->3306/tcp, 33060/tcp                 
pinpoint-quickstart          catalina.sh run                  Up      0.0.0.0:8000->8080/tcp                             
pinpoint-web                 /usr/local/bin/start-web.sh      Up      0.0.0.0:8079->8080/tcp, 0.0.0.0:9997->9997/tcp 

訪問
Pinpoint頁面
http://10.2.8.77:8079/#/main

Apache Flink Daskboard
http://10.2.8.77:8081/#/overview

Habse頁面
http://10.2.8.77:16010/master-status

全鏈路監控工具Pinpoint1.8.2部署