Reference resources
https://github.com/naver/pinpoint-docker
https://www.cnblogs.com/zz0412/p/9333296.html
https://blog.csdn.net/qq_21816375/article/details/80455681
brief introduction
Pinpoint is a full-link analysis tool, which provides non-intrusive call chain monitoring, method execution details viewing, application status information monitoring and other functions. The implementation based on the Google Dapper paper is similar to Zipkin, another open source full link analysis tool, but provides more features than Zipkin, such as non-intrusive, code dimension monitoring. Pinpoint supports a variety of functions, including the following:
- Service Topology Diagram: Visualize the call relationship of the application in the whole system. Click on a service node to display the details of the node, such as the current status of the node, the number of requests, etc.
Real-time Active Thread Diagram: Monitor the execution of active threads in applications, and have a more intuitive understanding of the execution performance of threads in applications. - Request Response Spot Chart: Display request counting and response time in time dimension. Drag the drag chart to select the corresponding request to see the execution details.
- Request Call Stack View: Each request in a distributed environment provides the visibility of the code dimension. You can view the execution details of the request for the code dimension on the page to help find the bottleneck and the cause of the failure of the request.
- Application Status, Machine Status Check: Through this function, you can see some other details of related applications, such as CPU usage, memory status, garbage collection status, TPS and JVM information and other parameters.
Architecture Composition
Pinpoint is mainly composed of three components plus Hbase database, which are Agent, Collector and Web UI.
- Agent Component: Used to collect application-side monitoring data, non-intrusive, just need to add some parameters to the startup command.
- Collector component: Data collection module, which receives monitoring data sent by Agent and stores it in HBase
- WebUI: Monitor and display module, display system call relationship, call details, application status, and support alarm functions.
deploy
1. Install docker docker-compose
yum update -y yum install docker epel-release python-pip -y pip install --upgrade pip pip install docker-compose
Report errors
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
Troubleshooting
https://github.com/docker/compose/issues/5883 //Relevant to pip version pip install --upgrade --force-reinstall pip==9.0.3
2. Deploy 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. Examination of mirror image and process
[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
Visit
Pinpoint page
http://10.2.8.77:8079/#/main
Apache Flink Daskboard
http://10.2.8.77:8081/#/overview
Habse page
http://10.2.8.77:16010/master-status