全链路监控之pinpoint

article/2025/8/23 16:20:38

一、pinpoint出现与其他相似概念比较

(1)、pinpoint概念

    pinpoint是由java/PHP编写而成的,用来对大规模的分布式系统提供应用性能管理。pinpoint可以解决复杂架构下的拓扑解析与性能分析。

(2)、pinpoint的特点

   分布式事务追踪,跟踪跨分布式应用的消息;

   自动检测拓扑,帮助搞清楚应用架构;

   水平扩展可以支持大规模服务器集群;

   提供代码级别的可见性,轻松定位失败点和瓶颈;

   使用字节码增强技术,添加新功能是无需修改代码,对代码无侵入性。

(3)、pinpoint的功能

 服务拓扑图:对整个系统的调用关系进行可视化的展示,点击某个节点,显示该节点的具体信息。

 实时活跃线程图:监控应用内活跃线程的执行情况。

 请求响应散点图:以时间维度展示请求计数和响应时间。

 请求调用栈查看:对分布式环境中的请求可以定位到代码维度;可以查找问题的出现是否与代码有关。

 应用状态、机器状态检查:查看与该项目相关的其他性能,cpu利用率、内存等。 

(4)、APM(应用性能管理)

    APM属于IT运维管理。主要针对于企业关键业务的应用性能和用户体验的检测、优化,提高企业IT应用的质量和可靠性。

   APM 多级运用性能监控,覆盖通讯协议1-7层,通过事务处理过程监控、模拟等手段实现端对端的应用监控。对应用系统中的各个组件进行监测,迅速定位系统故障,并进行修复或建议。对系统中各组件的系统资源进行实时监控,并根据监控结果给予建议。

   图片来自华为云官网。

二、pinpoint架构原理

(1)、架构组成

 Pinpoint Collector:收集各种性能数据

 Pinpoint Agent:和自己运行的应用关联起来的探针

 Pinpoint-Web: 将收集到的数据显成为 WEB网页显示

 HBase Storage: 存储收集到的数据

(2)、工作原理

     pinpoint的核心思想是在各个服务节点之间彼此调用时,记录并传递一个应用级别的标记,这个标记用来关联各个服务节点之间的关系。例:两个服务器之间利用http协议来进行通信,pinpoint就会将这个标记加入到http头之中,各个应用之间进行上报的时候,将报文头上的标记和各个应用之间的调用关系汇报给pinpoint,pinpoint根据得到的信息,将每一个应用串联成一个链路,得到服务拓扑。

    通过pinpoint-agent往自身web应用的tomcat中打入探针,由pinpoint-collector收集数据,存储于hbase中,通过pinpoint-web展示数据。

三、pinpoint应用部署

  部署一个例子,用来收集一些数据,展示pinpoint的配置和应用方式。

   这个例子共需要两台服务器,一台安装pinpoint,用作pinpoint的web展示端,逻辑控制机,以及hbase存储。另一台用来安装pinpoint-agent ,主要用来采集数据,发送给pinpoint处理。

(1)环境准备

    两台机器之间可以关闭防火墙,也可以打开,在这个例子中,我运用的云主机,所以会将服务器内部的防火墙关闭,在服务器的安全组之中将所需要的端口打开。

   注:两台机器最好同时操作,防止之后忘记

   1、关闭防火墙:

   命令集合:  

systemctl stop firewalld  systemctl disable firewalld #取消开机自启动

  2、 安装一些依赖以及一些常用工具

    命令集合

[root@pinpoint ~]# yum install net-tools bash-completion wget vim -y

 3、关于时间同步

  由于云主机上的利用弹性公网ip与外界连接,所以,运用云主机之间是可以不用同步时间的。但在自己的虚拟机,比如利用wmware虚拟的虚拟机,机器时间可能会不相同,需要进行时间同步,否则如果在两台机器上连接时,可能会出现问题。

   同步命令合集:

yum install ntpdate -yntpdate cn.pool.ntp.orghwclock -w

(2)环境配置

     1、获取需要的安装包

     官网下载。

     均未选择版本,请自行选择版本。

     jdk下载地址:Java Downloads | Oracle

     hbse下载地址:Index of /dist/hbase

    tomcat下载地址:Apache Tomcat® - Apache Tomcat 9 Software Downloads

    pinpoint下载地址:Home - PinPoint   

    网盘下载 

    我提供我的网盘中的压缩包,可自行选择下载方式。

    链接:https://pan.baidu.com/s/1ZNq6y6KFW8qv7C_KyKbE1Q 
    提取码:k4s0

jdk       Java运行环境hbase     数据库。用来存储监控数据tomcat    web服务器pinpoint-collector.war     pinpoint的控制器pinpoint-web.war           pinpoint的展示页面

  2、配置jdk

   pinpoint这套系统利用jdk进行部署,所以首先配置jdk。

[root@pinpoint pinpoint]# tar -xf jdk-7u79-linux-x64.tar.gz 
[root@pinpoint pinpoint]# mkdir /usr/java/
[root@pinpoint pinpoint]# mv jdk1.7.0_79/ /usr/java/jdk7
[root@pinpoint pinpoint]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk7
export PATH=$PATH:$JAVA_HOME/bin
[root@pinpoint pinpoint]# source /etc/profile
[root@pinpoint pinpoint]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

(3)安装hbase

      Hbase在这套系统中的主要功能是用来存储pinpoint收集到的数据。

     1、解压Hbase,并放入制定目录     

[root@pinpoint pinpoint]# tar xf hbase-1.0.3-bin.tar.gz 
[root@pinpoint pinpoint]# mkdir -p /data/service
[root@pinpoint pinpoint]# mv hbase-1.0.3/ /data/service/hbase
[root@pinpoint pinpoint]# cd /data/service/hbase/conf/
[root@pinpoint conf]# vim hbase-env.sh 
[root@pinpoint conf]# egrep -v "^#|^$" hbase-env.sh 
export JAVA_HOME=/usr/java/jdk7/
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"

    2、 修改 Hbase的配置信息

[root@pinpoint conf]# pwd
/data/service/hbase/conf
[root@pinpoint conf]# vim hbase-site.xml 
[root@pinpoint conf]# egrep -v "^#|^$|\*" hbase-site.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
-->
<configuration>
hbase.rootdir
file:///data/hbase
</configuration>

   3、启动Hbase

[root@pinpoint ~]# cd /data/service/hbase/bin/
[root@pinpoint bin]# ./start-hbase.sh 
starting master, logging to /data/service/hbase/bin/../logs/hbase-root-master-pinpoint.out
[root@pinpoint bin]# jps
12527 HMaster
12756 Jps

   4、初始化Hbase的pinpoint库

     初始化这个库需要一个文件,hbase-create.hbase。该文件存在于我分享的百度网盘中。

[root@pinpoint pinpoint]# cd /data/service/hbase/bin/
[root@pinpoint bin]# ./hbase shell /root/pinpoint/hbase-create.hbase #初始化完成后,进入Hbase 可以看到数据库的版本以及一些其他的信息。
[root@pinpoint bin]# ./hbase shell
2021-11-03 13:44:35,524 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.3, rf1e1312f9790a7c40f6a4b5a1bab2ea1dd559890, Tue Jan 19 19:26:53 PST 2016#查看初始化的表是否存在
hbase(main):001:0> status 'detailed'
version 1.0.3
0 regionsInTransition
master coprocessors: []
1 live serversgit:38684 1635911596175

或者访问web页面,查看数据库是否初始化成功!

访问:http://ip:16010/master-status 

如果访问不到,请查看端口是否已经打开。

(4)安装pinpoint- collector

    1、部署war包

#解压tomcat,并放置在响应地点
[root@pinpoint pinpoint]# tar xf apache-tomcat-8.0.36.tar.gz 
[root@pinpoint pinpoint]# mv apache-tomcat-8.0.36/ /data/service/pinpoint-col#修改tomcat的配置
#修改端口,避免与后续的pinpoint-web的端口冲突。如果使用云主机,请开启安全组的响应端口,如果使用防火墙,请开启相应端口
[root@pinpoint pinpoint]# cd /data/service/pinpoint-col/conf/
[root@pinpoint conf]# sed -i 's/port="8005"/port="18005"/g' server.xml 
[root@pinpoint conf]# sed -i 's/port="8080"/port="18080"/g' server.xml 
[root@pinpoint conf]# sed -i 's/port="8443"/port="18443"/g' server.xml 
[root@pinpoint conf]# sed -i 's/port="8009"/port="18009"/g' server.xml 
[root@pinpoint conf]# sed -i 's/redirectPort="8443"/redirectPort="18443"/g' server.xml #将tomcat的私有IP开放。
[root@pinpoint conf]# sed -i 's/localhost/47.103.24.126/g' server.xml #部署pinpoint-collector.war包(如果没有unzip命令,使用“yum install unzip -y”下载)
[root@pinpoint pinpoint-col]# pwd
/data/service/pinpoint-col
[root@pinpoint pinpoint-col]# rm -rf ./webapps/*
[root@pinpoint pinpoint-col]# unzip /root/pinpoint/pinpoint-collector-1.5.2.war -d /data/service/pinpoint-col/webapps/ROOT#启动tomcat
[root@pinpoint pinpoint-col]# cd /data/service/pinpoint-col/bin/
[root@pinpoint bin]# ./startup.sh 
Using CATALINA_BASE:   /data/service/pinpoint-col
Using CATALINA_HOME:   /data/service/pinpoint-col
Using CATALINA_TMPDIR: /data/service/pinpoint-col/temp
Using JRE_HOME:        /usr/java/jdk7/
Using CLASSPATH:       /data/service/pinpoint-col/bin/bootstrap.jar:/data/service/pinpoint-col/bin/tomcat-juli.jar
Tomcat started.#查看日志,是否启动成功
[root@pinpoint bin]# tail -f ../logs/catalina.out 
11-03 14:21:50 [INFO ](o.s.w.s.m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/admin/isEnable.*] onto handler 'handlerManagerController'
11-03 14:21:50 [INFO ](o.s.w.s.m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/admin/isEnable/] onto handler 'handlerManagerController'
11-03 14:21:50 [INFO ](o.s.w.s.m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/admin/enableAccess] onto handler 'handlerManagerController'
11-03 14:21:50 [INFO ](o.s.w.s.m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/admin/enableAccess.*] onto handler 'handlerManagerController'
11-03 14:21:50 [INFO ](o.s.w.s.m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/admin/enableAccess/] onto handler 'handlerManagerController'
11-03 14:21:50 [INFO ](o.s.w.s.DispatcherServlet          :504) FrameworkServlet 'pinpoint-web': initialization completed in 663 ms
03-Nov-2021 14:21:50.531 INFO [47.103.24.126-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /data/service/pinpoint-col/webapps/ROOT has finished in 6,978 ms
03-Nov-2021 14:21:50.534 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-18080"]
03-Nov-2021 14:21:50.549 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-18009"]
03-Nov-2021 14:21:50.550 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 7026 ms

    2、配置快速启动

    配置快速启动需要一个pp- collector.init的文件,可以有两种获取方法

    网盘:

    之前分享的网盘中拥有这个文件,直接上传至服务器就可以使用。

    文件内容:

    新建一个文件,名为pp-collector.init,内容如下:

#!/bin/bash
#
# chkconfig: 345 99 28
# description: Starts/Stops Apache Tomcat
#
# Tomcat 7 start/stop/status script
# Forked from: https://gist.github.com/valotas/1000094
# @author: Miglen Evlogiev <bash@miglen.com>
#
# Release updates:
# Updated method for gathering pid of the current proccess
# Added usage of CATALINA_BASE
# Added coloring and additional status
# Added check for existence of the tomcat user
##Location of JAVA_HOME (bin files)
export JAVA_HOME=/usr/java/default/#Add Java binary files to PATH
export PATH=$JAVA_HOME/bin:$PATH#CATALINA_HOME is the location of the bin files of Tomcat  
export CATALINA_HOME=/data/service/pinpoint-collector/#CATALINA_BASE is the location of the configuration files of this instance of Tomcat
export CATALINA_BASE=/data/service/pinpoint-collector/#TOMCAT_USER is the default user of tomcat
export TOMCAT_USER=root#TOMCAT_USAGE is the message if this script is called without any options
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
SHUTDOWN_WAIT=3tomcat_pid() {echo `ps -fe | grep $CATALINA_BASE | grep -v grep | tr -s " "|cut -d" " -f2`
}start() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"else# Start tomcatecho -e "\e[00;32mStarting tomcat\e[00m"#ulimit -n 100000#umask 007#/bin/su -p -s /bin/sh tomcatif [ `user_exists $TOMCAT_USER` = "1" ]thensu $TOMCAT_USER -c $CATALINA_HOME/bin/startup.shelsesh $CATALINA_HOME/bin/startup.shfistatusfireturn 0
}status(){pid=$(tomcat_pid)if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"else echo -e "\e[00;31mTomcat is not running\e[00m"fi
}stop() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mStoping Tomcat\e[00m"#/bin/su -p -s /bin/sh tomcatsh $CATALINA_HOME/bin/shutdown.shlet kwait=$SHUTDOWN_WAITcount=0;until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]doecho -n -e "\n\e[00;31mwaiting for processes to exit\e[00m";sleep 1let count=$count+1;doneif [ $count -gt $kwait ]; thenecho -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"kill -9 $pidfielseecho -e "\e[00;31mTomcat is not running\e[00m"fireturn 0
}user_exists(){if id -u $1 >/dev/null 2>&1; thenecho "1"elseecho "0"fi
}case $1 instart)start;;stop)  stop;;restart)stopstart;;status)status;;*)echo -e $TOMCAT_USAGE;;
esac    
exit 0

  拥有这个文件之后,修改默认的路径,修改后如下:

 之后将文件赋予“执行”权限,加入启动项

[root@pinpoint pinpoint]# mv pp-collector.init /etc/init.d/pinpoint-col
[root@pinpoint pinpoint]# chmod 711 /etc/init.d/pinpoint-col 
[root@pinpoint pinpoint]# ll /etc/init.d/pinpoint-col 
-rwx--x--x 1 root root 3069 11月  3 14:40 /etc/init.d/pinpoint-col

 测试

[root@pinpoint pinpoint]# /etc/init.d/pinpoint-col restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pinpoint-col/
Using CATALINA_HOME:   /data/service/pinpoint-col/
Using CATALINA_TMPDIR: /data/service/pinpoint-col//temp
Using JRE_HOME:        /usr/java/jdk7/
Using CLASSPATH:       /data/service/pinpoint-col//bin/bootstrap.jar:/data/service/pinpoint-col//bin/tomcat-juli.jarwaiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pinpoint-col/
Using CATALINA_HOME:   /data/service/pinpoint-col/
Using CATALINA_TMPDIR: /data/service/pinpoint-col//temp
Using JRE_HOME:        /usr/java/jdk7/
Using CLASSPATH:       /data/service/pinpoint-col//bin/bootstrap.jar:/data/service/pinpoint-col//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 28463

设置成功!!!! 

(5)安装pinpoint-web

    1、部署war包

   

#解压tomcat,并放置在响应地点
[root@pinpoint pinpoint]# tar xf apache-tomcat-8.0.36.tar.gz 
[root@pinpoint pinpoint]# mv apache-tomcat-8.0.36/ /data/service/pinpoint-web#修改tomcat的配置
#修改端口,避免与后续的pinpoint-col的端口冲突。如果使用云主机,请开启安全组的响应端口,如果使用防火墙,请开启相应端口
[root@pinpoint pinpoint]# cd /data/service/pinpoint-web/conf/
[root@pinpoint conf]# sed -i 's/port="8005"/port="28005"/g' server.xml
[root@pinpoint conf]# sed -i 's/port="8080"/port="28080"/g' server.xml
[root@pinpoint conf]# sed -i 's/port="8443"/port="28443"/g' server.xml
[root@pinpoint conf]# sed -i 's/port="8009"/port="28009"/g' server.xml
[root@pinpoint conf]# sed -i 's/redirectPort="8443"/redirectPort="28443"/g' server.xml#将tomcat的私有IP开放。
[root@pinpoint conf]# sed -i 's/localhost/47.103.24.126/g' server.xml #部署pinpoint-web.war包(如果没有unzip命令,使用“yum install unzip -y”下载)
[root@pinpoint conf]# rm -rf /data/service/pinpoint-web/webapps/* 
[root@pinpoint conf]# unzip /root/pinpoint/pinpoint-web-1.5.2.war -d /data/service/pinpoint-web/webapps/ROOT#启动tomcat
[root@pinpoint conf]# cd /data/service/pinpoint-web/bin/
[root@pinpoint bin]# ./startup.sh 
Using CATALINA_BASE:   /data/service/pinpoint-web
Using CATALINA_HOME:   /data/service/pinpoint-web
Using CATALINA_TMPDIR: /data/service/pinpoint-web/temp
Using JRE_HOME:        /usr/java/jdk7/
Using CLASSPATH:       /data/service/pinpoint-web/bin/bootstrap.jar:/data/service/pinpoint-web/bin/tomcat-juli.jar
Tomcat started.#查看日志,查看是否启动成功
[root@pinpoint bin]# tail -f ../logs/catalina.out 
14:57:00 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/userGroup/member.*] onto handler 'userGroupController'
14:57:00 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/userGroup/member/] onto handler 'userGroupController'
14:57:00 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/userGroup] onto handler 'userGroupController'
14:57:00 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/userGroup.*] onto handler 'userGroupController'
14:57:00 INFO (m.a.DefaultAnnotationHandlerMapping:314) Mapped URL path [/userGroup/] onto handler 'userGroupController'
14:57:00 INFO (o.s.w.s.DispatcherServlet          :504) FrameworkServlet 'pinpoint-web': initialization completed in 908 ms
03-Nov-2021 14:57:00.659 INFO [47.103.24.126-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /data/service/pinpoint-web/webapps/ROOT has finished in 8,734 ms
03-Nov-2021 14:57:00.676 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-28080"]
03-Nov-2021 14:57:00.715 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-28009"]
03-Nov-2021 14:57:00.754 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 8899 ms

此时访问地址http://ip:28080/#/main

出现主界面,成功!!! 

    2、配置快速启动

    pinpoint-web的快速启动配置和pinpoint- collector的配置相同。

   pp-web.init的内容如下:

#!/bin/bash
#
# chkconfig: 345 99 28
# description: Starts/Stops Apache Tomcat
#
# Tomcat 7 start/stop/status script
# Forked from: https://gist.github.com/valotas/1000094
# @author: Miglen Evlogiev <bash@miglen.com>
#
# Release updates:
# Updated method for gathering pid of the current proccess
# Added usage of CATALINA_BASE
# Added coloring and additional status
# Added check for existence of the tomcat user
##Location of JAVA_HOME (bin files)
export JAVA_HOME=/usr/java/default/#Add Java binary files to PATH
export PATH=$JAVA_HOME/bin:$PATH#CATALINA_HOME is the location of the bin files of Tomcat  
export CATALINA_HOME=/data/service/pinpoint-web/#CATALINA_BASE is the location of the configuration files of this instance of Tomcat
export CATALINA_BASE=/data/service/pinpoint-web/#TOMCAT_USER is the default user of tomcat
export TOMCAT_USER=root#TOMCAT_USAGE is the message if this script is called without any options
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
SHUTDOWN_WAIT=3tomcat_pid() {echo `ps -fe | grep $CATALINA_BASE | grep -v grep | tr -s " "|cut -d" " -f2`
}start() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"else# Start tomcatecho -e "\e[00;32mStarting tomcat\e[00m"#ulimit -n 100000#umask 007#/bin/su -p -s /bin/sh tomcatif [ `user_exists $TOMCAT_USER` = "1" ]thensu $TOMCAT_USER -c $CATALINA_HOME/bin/startup.shelsesh $CATALINA_HOME/bin/startup.shfistatusfireturn 0
}status(){pid=$(tomcat_pid)if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"else echo -e "\e[00;31mTomcat is not running\e[00m"fi
}stop() {pid=$(tomcat_pid)if [ -n "$pid" ]thenecho -e "\e[00;31mStoping Tomcat\e[00m"#/bin/su -p -s /bin/sh tomcatsh $CATALINA_HOME/bin/shutdown.shlet kwait=$SHUTDOWN_WAITcount=0;until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]doecho -n -e "\n\e[00;31mwaiting for processes to exit\e[00m";sleep 1let count=$count+1;doneif [ $count -gt $kwait ]; thenecho -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"kill -9 $pidfielseecho -e "\e[00;31mTomcat is not running\e[00m"fireturn 0
}user_exists(){if id -u $1 >/dev/null 2>&1; thenecho "1"elseecho "0"fi
}case $1 instart)start;;stop)  stop;;restart)stopstart;;status)status;;*)echo -e $TOMCAT_USAGE;;
esac    
exit 0

同样进行修改默认配置,之后加入启动项。

测试:

[root@pinpoint pinpoint]# /etc/init.d/pp-web restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pinpoint-web/
Using CATALINA_HOME:   /data/service/pinpoint-web/
Using CATALINA_TMPDIR: /data/service/pinpoint-web//temp
Using JRE_HOME:        /usr/java/jdk7/
Using CLASSPATH:       /data/service/pinpoint-web//bin/bootstrap.jar:/data/service/pinpoint-web//bin/tomcat-juli.jarwaiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pinpoint-web/
Using CATALINA_HOME:   /data/service/pinpoint-web/
Using CATALINA_TMPDIR: /data/service/pinpoint-web//temp
Using JRE_HOME:        /usr/java/jdk7/
Using CLASSPATH:       /data/service/pinpoint-web//bin/bootstrap.jar:/data/service/pinpoint-web//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 30554

配置成功!!!

(6)部署pinpoint- agent采集监控数据

     需要另一台服务器,用来部署pinpoint-agent来采集服务器上的数据,返回给pinpoint,用来分析形成拓扑图。

     1、上传安装包以及测试项目

     网盘链接:

链接:https://pan.baidu.com/s/1Deu4QYoJwr7t78qs6R5Y9A 
提取码:74ep

     2、配置模拟环境的tomcat

     配置jdk,配置方式与pinpoint方法相同   

  配置tomcat

[root@tomcat ~]# tar xf apache-tomcat-8.0.36.tar.gz 
[root@tomcat ~]# cd apache-tomcat-8.0.36/conf/
[root@tomcat conf]# sed -i "s/localhost/116.63.208.164/g" server.xml 

解压测试用的war包

[root@tomcat ~]# rm -rf apache-tomcat-8.0.36/webapps/*
[root@tomcat ~]# unzip test.war -d apache-tomcat-8.0.36/webapps/ROOT
Archive:  test.warinflating: apache-tomcat-8.0.36/webapps/ROOT/index.jsp  creating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/creating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/lib/inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/lib/commons-beanutils-1.7.0.jar  inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/lib/commons-collections-3.1.jar  inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/lib/commons-lang-2.5.jar  inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/lib/commons-logging.jar  inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/lib/ezmorph-1.0.3.jar  inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/lib/json-lib-2.1-jdk15.jar  inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/web.xml  creating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/classes/creating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/classes/com/creating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/classes/com/yy/creating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/classes/com/yy/test/inflating: apache-tomcat-8.0.36/webapps/ROOT/WEB-INF/classes/com/yy/test/test.class 

    3、配置pp-agent采集器

 云主机开启pinpoint-collector的端口 9994,9995,9996

#解压pp-agent
[root@tomcat ~]# tar xf pinpoint-agent-1.5.2.tar.gz 
[root@tomcat ~]# mkdir -p /data/pp-agent
[root@tomcat ~]# mv pinpoint-agent-1.5.2 /data/pp-agent#编辑配置文件
[root@tomcat ~]# cd /data/pp-agent/
[root@tomcat pp-agent]# vim pinpoint-agent-1.5.2/pinpoint.config profiler.collector.ip=47.103.24.126  #修改它为pinpoint-collector的IP地址#修改启动文件,增加探针
[root@tomcat ~]# cd apache-tomcat-8.0.36/bin/
[root@tomcat bin]# vim catalina.sh 
#在大概20行左右的位置添加如下内容
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/pp-agent/pinpoint-agent-1.5.2/pinpoint-bootstrap-1.5.2.jar" #添加pinpoint-bootstrap-1.5.2.jar的位置CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=pp123456"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=MyTestPP"

    4、监控tomcat

配置完成了,开始监控,启动测试的tomcat服务器。

[root@tomcat ~]# cd apache-tomcat-8.0.36/bin/
[root@tomcat bin]# ./startup.sh 
Using CATALINA_BASE:   /root/apache-tomcat-8.0.36
Using CATALINA_HOME:   /root/apache-tomcat-8.0.36
Using CATALINA_TMPDIR: /root/apache-tomcat-8.0.36/temp
Using JRE_HOME:        /usr/java/jdk7
Using CLASSPATH:       /root/apache-tomcat-8.0.36/bin/bootstrap.jar:/root/apache-tomcat-8.0.36/bin/tomcat-juli.jar
Tomcat started.

访问:http://ip:8080

 访问http://ip:8080/test

此时访问pinpoint-web可以发现

                           至此,pinpoint全链路监控搭建成功! 


http://chatgpt.dhexx.cn/article/g9gUZRRJ.shtml

相关文章

APM链路监控:pinpoint安装部署实战详细手册

文章目录 一、pinpoint介绍1.pinpoint简介2.架构组成 二、安装环境准备三、HBase单机安装四、pinpoint安装1.安装pinpoint-collector2.安装pinpoint-web3.安装pinpoint-agent 五、pinpoint优化1.collector日志输出级别优化2.Hbase GC优化&#xff08;jdk1.8&#xff09; 结尾 一…

pinpoint使用详解(图文版)

pinpoint使用详解 用了一段时间的pinpoint发现确实挺好用的&#xff0c;就是功能超级多&#xff0c;大概整理了一下各功能的使用用法 1.首页 2.查看应用详细信息 2.1点击查看单个信息 2.2查看应用更详细信息 3.查看详细数据 错误的信息会用红色显示&#xff0c;可以查看错误…

synology 群晖 syslog

群晖真是太强大了&#xff0c;居然还有syslog功能。而且配置非常简单。在日志中心-》接收日志中就可以非常容易的配置。 以后在不方便调试的场合&#xff0c;就可以直接把调试信息发送到我的群晖服务器&#xff0c;打开看看就知道问题所在了 syslog

linux syslog原理,Linux日志管理之詳解 syslog/vsyslog

1、syslog簡介 syslog 是一種工業標准的協議,可用來記錄設備的日志。在UNIX系統,路由器、交換機等網絡設備中,系統日志(System Log)記錄系統中任何時間發生的大小事件。管理者可以通過查看系統記錄,隨時掌握系統狀況。UNIX的系統日志是通過syslogd這個進程記錄系統有關事件…

syslog RFC5424协议详解

官方说明 一个很不错的rfc文档下载网址。 Document Retrieval RFC Editor RFC 5424: The Syslog Protocol 6. Syslog Message FormatThe syslog message has the following ABNF [RFC5234] definition:SYSLOG-MSG HEADER SP STRUCTURED-DATA [SP MSG]HEADER …

kiwi syslog mysql_KIWI Syslog配置

默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令netstat –ano查看服务器监听状态,如果服务没起来,则重新启动服务Kiwi Syslog Daemon 任务:把当天的日志保存在G:\event,历史日志保存在G:\eventold,自动删除1一个月前的日志记录 第一步:新建规…

oracle 发syslog,Syslog转发管理

Syslog转发管理 网络设备会生成各种事件,这些事件在本地记录,管理员可以在其中查看和分析事件。但是,如果您的网络托管大量设备,则从这些设备中的每一个收集事件日志将既耗时又不切实际。 Syslog或系统日志记录协议是一种标准协议,可通过将系统日志或事件消息发送到中央sy…

syslog watcher syslog4j

1.下载syslog watcher SyslogWatcherSetup-5.2.3.msihttps://www.aliyundrive.com/s/8C6Cw7RuyUV2.设置编码 3.java&#xff1a; <dependency><groupId>org.syslog4j</groupId><artifactId>syslog4j</artifactId><version>0.9.46</ve…

python syslog

最近在写一些命令行守护程序&#xff0c;类似于 Linux 下的一些常运行的程序&#xff0c;除了用到一些常见的IO 以及进程间通信的内容之外&#xff0c;还尝试了一下 Unix 系列的 syslog&#xff0c;在尝试过程中&#xff0c;发现 Python 已经在 logging 模块中很方便得集成了 s…

linux syslog

linux syslog 1. syslog 定义1.1 RFC3195 2. syslog 组成3. syslog配置3.1 3CD 配置syslog 日志服务器 4. syslog api4.1. c api 代码示例&#xff1a;4.2 syslog 例子2&#xff1a; 1. syslog 定义 在Unix类操作系统上&#xff0c;syslog广泛应用于系统日志。syslog日志消息既…

Syslog 教程:工作原理、示例、最佳实践等

Syslog 是用于从各种网络设备以特定格式发送和接收通知消息的标准。这些消息包括时间戳、事件消息、严重性、主机 IP 地址、诊断等。就其内置的严重性级别而言&#xff0c;它可以传达 0 级、紧急、5 级、警告、系统不稳定、严重和 6 级和 7 级&#xff08;信息和调试&#xff0…

关于fidder

fidder教程 https://www.cnblogs.com/R-bear/p/7508133.html fidder抓包工具总结 https://www.cnblogs.com/yyhh/p/5140852.html 从别人那里截了几张图。觉得写的挺好的&#xff0c;保存下来&#xff0c;日后复看。

Python fidder的简单实用

Fidder 对中间数据进行拷贝 然后再发送给服务器 Winconfig->勾选IE->浏览IE->一点一拖看数据(选项卡定位到composer)

Fidder下载安装

一、登录Fidder官网&#xff1a;https://www.telerik.com/fiddler 二、在Fidder官网页点击下载 三、输入信息&#xff0c;点击下载windows版 四、对于弹出的Fidder可执行文件&#xff0c;点击“保存文件”进行下载 五、执行下载好的Fidder可执行程序&#xff0c;在弹出的条款…

Fidder显示抓取IP地址

1.打开fiddler, 快捷键CtrlR 或者 菜单->Rules->Customize Rules…&#xff0c;然后在CustomRules.js文件里CtrlF查找字符串&#xff1a;static function Main()&#xff0c;然后添加一行代码即可显示IP&#xff0c;代码如下&#xff1a; FiddlerObject.UI.lvSessions.…

学习Fidder和willow

自学fidder和willow Fidder是什么 一种Web调试工具可以记录所有客户端和服务器的http和https请求允许监视、设置断点、修改输入输出数据其包含了一个强大的基于事件脚本的子系统&#xff0c;并且能使用.net语言进行扩展 Fidder的工作原理 Fiddler是以代理web服务器的形式工…

fidder classic 界面介绍

界面划分 开始抓包 &#xff08;1&#xff09;默认情况下都是开启的&#xff0c;点击下图可以关闭或开启抓包。 &#xff08;2&#xff09;点击“file”----“capture traffic”也可以开始抓包 菜单栏 重要的菜单栏 reset script 重置你修改的脚本&#xff1b;在rules里&…

Fidder下抓取https

1、首先需要手机连接上Fiddler代理&#xff0c;而Fiddler默认是不允许其他设备进行连接的&#xff0c;点击 Tools > Options...&#xff0c;在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接 点击 Tools > Options...&#xff0c;在 HTTPS 面…

fidder使用

前言 本文会对Fidder这款工具的一些重要功能&#xff0c;进行详细讲解&#xff0c;带大家进入Fidder的世界&#xff0c;本文会让你明白&#xff0c;Fidder不仅是一个抓包分析工具&#xff0c;也是一个请求发送工具&#xff0c;更加可以当作为Mock Server使用&#xff0c;而且可…

Fidder应用(一)

Fiddler调式使用(一)深入研究 阅读目录 Fiddler的基本概念如何安装Fiddler了解下Fiddler用户界面理解不同图标和颜色的含义web session的常用的快捷键了解web Session上下文菜单Fiddler如何捕获firefox中的会话Fiddler如何捕获Https会话Fiddler的HTTP统计视图移动开发如何使用…