Full Link Monitoring Tool Pinpoint 1.8.2 Deployment

Keywords: Linux Docker HBase pip MySQL

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

Posted by deejay1111 on Sat, 18 May 2019 22:44:55 -0700