美文网首页工作专题java学习我爱编程
CentOS7上搭建PINPOINT并运行SpringBoot项

CentOS7上搭建PINPOINT并运行SpringBoot项

作者: 05a6eeb096ea | 来源:发表于2018-05-11 16:26 被阅读136次

    开始

    pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的,只需要在被测试的Tomcat中加上3句话,打下探针,就可以监控整套程序了。这篇Blog主要是想记录一下它安装的过程,方便日后查阅。

    image.png
    image.png
    image.png
    image.png
    image.png

    创建一个新的用户并且添加密码

    [root@iZbp1bicryse8r4xe1asq4Z ~]# useradd wong
    [root@iZbp1bicryse8r4xe1asq4Z ~]# passwd wong
    
    切换到该用户并且创建文件
    [root@iZbp1bicryse8r4xe1asq4Z ~]# su wong
    [wong@iZbp1bicryse8r4xe1asq4Z root]$ cd ~
    [wong@iZbp1bicryse8r4xe1asq4Z ~]$ mkdir pinpoint/dow
    [wong@iZbp1bicryse8r4xe1asq4Z ~]$ cd pinpoint/dow/
    

    下载需要的文件

    我这里用的pinpoint是1.7.3版本的 habse选用1.2.0

    你可以自己选择下载版本,或者选择我所使用的版本

    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/releases/download/1.7.3/pinpoint-agent-1.7.3.tar.gz
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/releases/download/1.7.3/pinpoint-collector-1.7.3.war
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/releases/download/1.7.3/pinpoint-web-1.7.3.war
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget https://github.com/naver/pinpoint/raw/master/hbase/scripts/hbase-create.hbase
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget http://archive.apache.org/dist/hbase/1.2.0/hbase-1.2.0-bin.tar.gz
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.3/bin/apache-tomcat-8.5.3.tar.gz
    

    pinpoint项目地址
    pinpoint下载地址
    hbase-create-snappy.hbase下载地址
    hbase下载地址
    tomcat下载地址

    这个是官方的兼容列表


    image.png
    查看下载文件
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ ll
    总用量 247660
    -rw-rw-r-- 1 wong wong   9272944 6月   9 2016 apache-tomcat-8.5.3.tar.gz
    -rw-rw-r-- 1 wong wong 108052350 2月  23 2016 hbase-1.2.0-bin.tar.gz
    -rw-rw-r-- 1 wong wong     16139 5月  11 11:42 hbase-create-snappy.hbase
    -rw-rw-r-- 1 wong wong   8906297 5月   3 14:23 pinpoint-agent-1.7.3.tar.gz
    -rw-rw-r-- 1 wong wong  48343632 5月   3 14:24 pinpoint-collector-1.7.3.war
    -rw-rw-r-- 1 wong wong  78999706 5月   3 14:37 pinpoint-web-1.7.3.war
    

    安装HBase

    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ tar -zxvf hbase-1.2.0-bin.tar.gz
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ mv hbase-1.2.0 ../hbase
    [wong@iZbp1bicryse8r4xe1asq4Z dow]$ cd ../hbase/
    
    启动
    [wong@iZbp1bicryse8r4xe1asq4Z hbase]$ ./bin/start-hbase.sh 
    
    查看进程
    [wong@iZbp1bicryse8r4xe1asq4Z hbase]$ ps -ef|grep hbase
    wong     27484     1  0 14:09 pts/0    00:00:00 bash /home/wong/pinpoint/hbase/bin/hbase-daemon.sh --config /home/wong/pinpoint/hbase/bin/../conf foreground_start master
    wong     27497 27484 43 14:09 pts/0    00:00:07 /usr/local/jdk8/bin/java -Dproc_master -XX:OnOutOfMemoryError=kill -9 %p -XX:+UseConcMarkSweepGC -XX:PermSize=128m -XX:MaxPermSize=128m -Dhbase.log.dir=/home/wong/pinpoint/hbase/bin/../logs -Dhbase.log.file=hbase-wong-master-iZbp1bicryse8r4xe1asq4Z.log -Dhbase.home.dir=/home/wong/pinpoint/hbase/bin/.. -Dhbase.id.str=wong -Dhbase.root.logger=INFO,RFA -Dhbase.security.logger=INFO,RFAS org.apache.hadoop.hbase.master.HMaster start
    wong     28356  7066  0 14:09 pts/0    00:00:00 grep --color=auto hbase
    
    添加pinpoint所需要的表
    [wong@iZbp1bicryse8r4xe1asq4Z hbase]$ ./bin/hbase shell ../dow/hbase-create.hbase 
    2018-05-11 15:00:08,279 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    0 row(s) in 1.4640 seconds
    
    0 row(s) in 4.2370 seconds
    
    0 row(s) in 2.2390 seconds
    
    0 row(s) in 1.2190 seconds
    
    0 row(s) in 1.2170 seconds
    
    0 row(s) in 1.2190 seconds
    
    0 row(s) in 1.2160 seconds
    
    0 row(s) in 1.2180 seconds
    
    0 row(s) in 1.2190 seconds
    
    0 row(s) in 4.2500 seconds
    
    0 row(s) in 1.2170 seconds
    
    0 row(s) in 1.2160 seconds
    
    0 row(s) in 1.2180 seconds
    
    0 row(s) in 1.2180 seconds
    
    0 row(s) in 1.2180 seconds
    
    TABLE                                                                                                                                                 
    AgentEvent                                                                                                                                            
    AgentInfo                                                                                                                                             
    AgentLifeCycle                                                                                                                                        
    AgentStatV2                                                                                                                                           
    ApiMetaData                                                                                                                                           
    ApplicationIndex                                                                                                                                      
    ApplicationMapStatisticsCallee_Ver2                                                                                                                   
    ApplicationMapStatisticsCaller_Ver2                                                                                                                   
    ApplicationMapStatisticsSelf_Ver2                                                                                                                     
    ApplicationStatAggre                                                                                                                                  
    ApplicationTraceIndex                                                                                                                                 
    HostApplicationMap_Ver2                                                                                                                               
    SqlMetaData_Ver2                                                                                                                                      
    StringMetaData                                                                                                                                        
    TraceV2                                                                                                                                               
    15 row(s) in 0.0170 seconds
    

    访问$ip:16010
    出现首页并且Tables有数据表示安装成功


    image.png

    解压tomcat并且重命名为collector、web

    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/apache-tomcat-8.5.3.tar.gz
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mv apache-tomcat-8.5.3/ collector
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/apache-tomcat-8.5.3.tar.gz
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mv apache-tomcat-8.5.3/ web
    
    编辑collector和web配置文件

    修改tomcat端口号避免冲突
    collector:

    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ cd collector/conf/
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8005"/port="18005"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8080"/port="18080"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8443"/port="18443"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8009"/port="18009"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/redirectPort="8443"/redirectPort="18443"/g' server.xml
    

    web:

    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ cd ../../web/conf/
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8005"/port="28005"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8080"/port="28080"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8443"/port="28443"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/port="8009"/port="28009"/g' server.xml
    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ sed -i 's/redirectPort="8443"/redirectPort="28443"/g' server.xml
    
    解压war包

    没有unzip就运行yum install unzip
    web:

    [wong@iZbp1bicryse8r4xe1asq4Z conf]$ cd ../../
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint] rm -rf web/web/
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint] mkdir web/webapps
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ unzip dow/pinpoint-web-1.7.3.war -d web/webapps/ROOT
    

    collector:

    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ rm -rf collector/webapps/
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mkdir collector/webapps
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ unzip dow/pinpoint-collector-1.7.3.war -d collector/webapps/ROOT
    

    分别运行collector和web

    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ ./collector/bin/startup.sh 
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tail -f collector/logs/catalina.out #查看日志
    2018-05-11 15:39:50 [INFO ](c.n.p.c.r.t.AgentBaseDataReceiver  ) start() completed
    2018-05-11 15:39:50 [INFO ](c.n.p.c.r.ExecutorFactoryBean      ) Initializing ExecutorService  'spanReceiverExecutor'
    2018-05-11 15:39:50 [WARN ](spanUdpReceiver                    ) DatagramSocket.setReceiveBufferSize() error. 4194304!=212992
    2018-05-11 15:39:50 [INFO ](c.n.p.c.r.ExecutorFactoryBean      ) Initializing ExecutorService  'statReceiverExecutor'
    2018-05-11 15:39:50 [WARN ](udpStatReceiver                    ) DatagramSocket.setReceiveBufferSize() error. 4194304!=212992
    2018-05-11 15:39:50 [INFO ](c.n.p.c.c.f.FlinkClusterService    ) flink cluster disable.
    11-May-2018 15:39:51.510 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/wong/pinpoint/collector/webapps/ROOT has finished in 7,817 ms
    11-May-2018 15:39:51.514 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-18080]
    11-May-2018 15:39:51.519 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-18009]
    11-May-2018 15:39:51.521 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 7863 ms
    
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ ./web/bin/startup.sh
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tail -f web/logs/catalina.out 
    2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerMapping) Mapped "{[/userGroup/member],methods=[DELETE]}" onto public java.util.Map<java.lang.String, java.lang.String> com.navercorp.pinpoint.web.controller.UserGroupController.deleteUserGroupMember(com.navercorp.pinpoint.web.vo.UserGroupMemberParam,java.lang.String)
    2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerMapping) Mapped "{[/userGroup/member],methods=[GET]}" onto public java.util.List<com.navercorp.pinpoint.web.vo.UserGroupMember> com.navercorp.pinpoint.web.controller.UserGroupController.getUserGroupMember(java.lang.String)
    2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerAdapter) Looking for @ControllerAdvice: WebApplicationContext for namespace 'pinpoint-web-servlet': startup date [Fri May 11 15:43:08 CST 2018]; parent: Root WebApplicationContext
    2018-05-11 15:43:09 [INFO ](.m.m.a.RequestMappingHandlerAdapter) Looking for @ControllerAdvice: WebApplicationContext for namespace 'pinpoint-web-servlet': startup date [Fri May 11 15:43:08 CST 2018]; parent: Root WebApplicationContext
    2018-05-11 15:43:09 [INFO ](a.ExceptionHandlerExceptionResolver) Detected @ExceptionHandler methods in controllerExceptionHandler
    2018-05-11 15:43:09 [INFO ](o.s.w.s.DispatcherServlet          ) FrameworkServlet 'pinpoint-web': initialization completed in 761 ms
    11-May-2018 15:43:09.641 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/wong/pinpoint/web/webapps/ROOT has finished in 10,546 ms
    11-May-2018 15:43:09.644 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-28080]
    11-May-2018 15:43:09.649 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-28009]
    11-May-2018 15:43:09.650 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 10583 ms
    

    访问 $ip:28080


    image.png

    Agent

    解压
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mkdir agent
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/pinpoint-agent-1.7.3.tar.gz -C agent/
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/pinpoint-agent-1.7.3.tar.gz 
    
    编辑pinpoint.config

    确保profiler.collector.ip的地址是collector所在服务器的ip

    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ vim agent/pinpoint.config 
    

    安装测试tomcat

    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ tar -zxvf dow/apache-tomcat-8.5.3.tar.gz 
    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ mv apache-tomcat-8.5.3/ test
    

    添加启动参数

    [wong@iZbp1bicryse8r4xe1asq4Z pinpoint]$ vim test/bin/catalina.sh 
    

    # Copy CATALINA_BASE from CATALINA_HOME if not already set下面添加三个启动参数

    # Copy CATALINA_BASE from CATALINA_HOME if not already set
    [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
    CATALINA_OPTS="$CATALINA_OPTS -javaagent:/home/wong/pinpoint/agent/pinpoint-bootstrap-1.7.3.jar"  #指定Agent路径
    CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=20180511" #agentId-不要重复
    CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=TestTomcat" #applicationName-不要重复
    

    添加完成之后就可以访问ip:8080然后再查看ip:28080就可以看到刚刚的记录了
    如果是spring boot项目则需要修改pinpoint.config 的参数

    profiler.applicationservertype=SPRING_BOOT
    
    profiler.tomcat.conditional.transform=false
    

    参考文章

    相关文章

      网友评论

      本文标题:CentOS7上搭建PINPOINT并运行SpringBoot项

      本文链接:https://www.haomeiwen.com/subject/qnqfdftx.html