详解Java中的pinpoint1.8.5安装及使用手册

优采云 发布时间: 2020-08-21 15:01

  详解Java中的pinpoint1.8.5安装及使用手册

  详解Java中的pinpoint1.8.5安装及使用手册

  更新时间:2019年10月13日 09:15:53 转载作者:luozhiyun

  pinpoint是开源在github上的一款APM监控工具,它是用Java编撰的,用于*敏*感*词*分布式系统监控。这篇文章主要介绍了pinpoint1.8.5安装及使用手册,非常不错,具有一定的参考借鉴价值,需要的同学可以参考下

  pinpoint1.8.5安装及使用手册

  简介

  pinpoint是开源在github上的一款APM监控工具,它是用Java编撰的,用于*敏*感*词*分布式系统监控。它对性能的影响最小(只降低约3%资源利用率),安装agent是无侵入式的。

  各大APM工具,几乎都是按照google这篇精典的Dapper论文而至,一定要读一读。这里是它的源文地址:,感谢那位朋友的翻译:

  pinpoint提供了一些功能:

  服务映射:通过可视化其组件怎么互连来了解任何分布式系统的关联关系。单击节点可显示有关组件的详尽信息,例如其当前状态和事务计数。

  实时的活跃线程数

  请求/响应散点图

  调用栈

  查看有关应用程序的其他详尽信息,例如CPU使用率,内存/垃圾搜集,TPS和JVM参数

  

  整个pinpoint构架分为3部份:pinpoint-collector、pinpoint-agent、pinpoint-webUI。

  pinpoint-agent:用来搜集单个应用的信息,并将搜集好的应用信息发送到pinpoint-collector中

  pinpoint-collector:用来处理pinpoint-agent发送过来的信息,并将信息搜集好以后储存到HBase中

  pinpoint-webUI:查找出HBase中的数据并展示

  所以我这儿须要打算两台机器:

  10.200.201.xxx:用于安装pinpoint-collector、pinpoint-webUI、HBase

  10.200.201.yyy:用于安装pinpoint-agent,负责搜集应用的信息

  环境安装

  安装jdk

  我这儿用的是rpm包直接安装的:rpm -ivh jdk-8u171-linux-x64.rpm

  安装好后配置一下JAVA_HOME:

  使用vim配置一下环境变量:

  

vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_45

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

  然后加载一些profile文件:

  source /etc/profile

  安装HBase

  这里有个对照图:

  

  由前面我们可以看见HBase我们须要安装1.2.x版本的

  下载地址:

  我这儿下载的是1.2.12版本的。

  将Hbse放在指定目录

  

cd /app/install

tar -zxvf hbase-1.2.12-bin.tar.gz

  修改配置信息

  修改hbase-env.sh

  

vim /app/install/hbase-1.2.12/conf/hbase-env.sh

#加入JAVA_HOME

export JAVA_HOME=/usr/java/jdk1.8.0_45

  修改hbase-site.xml

  

vim /app/install/hbase-1.2.12/conf/hbase-site.xml

hbase.rootdir

file:///app/data/hbase

hbase.zookeeper.property.dataDir

/app/data/zookeeper

hbase.zookeeper.property.clientPort

2181

Property from ZooKeeper'sconfig zoo.cfg. The port at which the clients will connect.

hbase.cluster.distributed

false

  启动HBase

  

cd /app/install/hbase-1.2.12/bin

./start-hbase.sh

# 查看Hbase是否启动成功,如果启动成功的会看到"HMaster"的进程

[root@localhost bin]# jps

12075 Jps

11784 HMaster

  初始化pinpoint库

  下载脚本:

  

#进入到hbase的bin目录中

cd /app/install/hbase-1.2.12/bin

#执行脚本

./bin/hbase shell /app/install/pinpoint/hbase/scripts/hbase-create.hbase

# 执行完了以后,进入Hbase

./hbase shell

#进入后可以看到Hbase的版本,还有一些相关的信息

2019-10-12 16:18:28,074 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

HBase Shell; enter 'help' for list of supported commands.

Type "exit" to leave the HBase Shell

Version 1.2.12, r91d5ec4c4dcd10ceec984c6e663ea82acf353995, Sat Apr 6 15:27:28 CDT 2019

# 输入"status 'detailed'"可以查看刚才初始化的表,是否存在

hbase(main):002:0> status 'detailed'

  也可以登入web,来查看HBase的数据是否初始化成功

  :16010/master-status

  

  安装pinpoint-collector

  制作一个tomcat容器,端口号为8081

  

#将pinpoint-collector的war包丢到Tomcat的webapps目录下

cp pinpoint-collector-1.8.5.war ../apache-tomcat-8081/webapps/

#将war包名字改一下

mv pinpoint-web-1.8.5.war pp-collector.war

#启动tomcat

./bin/startup.sh

# 查看日志,是否成功启动

tail -f ../logs/catalina.out

#如果hbase安装在别的机器下需要修改一下配置

cd /app/install/apache-tomcat-8081

vim webapps/pp-collector/WEB-INF/classes/hbase.properties

#修改hbase的ip和hbase所对应的端口号

hbase.client.host=10.200.201.xxx

hbase.client.port=2181

  安装pinpoint-web

  解压一个tomcat容器,端口号为8080

  

#将pinpoint-web放到tomcat的webapps容器中

cp pinpoint-web-1.8.5.war ../apache-tomcat-8080/webapps/

#修改一下war包名

mv pinpoint-web-1.8.5.war pp-web.war

#启动tomcat

./bin/startup.sh

# 查看日志,是否成功启动

tail -f ../logs/catalina.out

#如果hbase安装在别的机器下需要修改一下配置

cd /app/install/apache-tomcat-8080

vim webapps/pp-web/WEB-INF/classes/hbase.properties

#修改hbase的ip和hbase所对应的端口号

hbase.client.host=10.200.201.xxx

hbase.client.port=2181

  然后可以在浏览器中::8080/pp-web/

  

  部署pinpoint-agent采集监控数据

  传入pinpoint-agent包

  首先将pinpoint-agent-1.8.5.tar.gz传入到服务器10.200.201.yyy的/app/install/pinpoint-agent/中

  然后执行tar -zxvf pinpoint-agent-1.8.5.tar.gz解压

  配置pp-agent采集器

  

cd /app/install/pinpoint-agent

vim pinpoint.config

# 主要修改IP,只需要指定到安装pp-col的IP就行了,安装pp-col启动后,自动就开启了9994,9995,9996的端口了。这里就不需要操心了,如果有端口需求,要去pp-col的配置文件("pp-collector/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties")中,修改这些端口

profiler.collector.ip=10.200.201.xxx

如果监控的是tomcat

# 修改测试项目下的tomcat启动文件"catalina.sh",修改这个只要是为了监控测试环境的Tomcat,增加探针

vi catalina.sh

# 第一行是pp-agent的jar包位置

# 第二行是agent的ID,这个ID是唯一的,我是用pp + 今天的日期命名的,只要与其他的项目的ID不重复就好了

# 第三行是采集项目的名字,这个名字可以随便取,只要各个项目不重复就好了

CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar"

CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"

CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"

# 配置好了。就可以开始监控了,我们启动测试用的Tomcat的服务器

cd /data/pp-test/bin/

./startup.sh

# 查看启动日志,确实Tomcat启动

tail -f ../logs/catalina.out

  springboot包部署

  如果是jar包布署,直接在启动命令加启动参数:

  

nohup java -javaagent:/app/install/pinpoint-agent/pinpoint-bootstrap-1.8.5.jar -Dpinpoint.agentId=$AGENT_ID -Dpinpoint.applicationName=$APPLICATION_NAME

  功能设置

  设置监控

  如果根据前面的方式安装完了以后在进行监控设置的或则用户设置的时侯会报错的:

  

  所以须要配置一下mysql:

  首先须要跑两个sql脚本:

  然后步入到pinpoint-web的war所在的tomcat的容器中,修改配置文件:WEB-INF/classes/jdbc.properties

  并设值mysql的帐号密码

  

jdbc.url=jdbc:mysql://localhost:13306/pinpoint?characterEncoding=UTF-8

jdbc.username=admin

jdbc.password=admin

  我们可以在application上面给不同的应用设置不同的提醒规则,具体的提醒规则如下:

  

  SLOW COUNT:发送到应用程序的慢速恳求数超过配置的阀值时触发

  SLOW RATE

  发送到应用程序的慢速恳求的比率(%)超过配置的阀值时触发

  ERROR COUNT

  发送到应用程序的失败恳求数超过配置的阀值时触发。

  ERROR RATE

  发送到应用程序的失败恳求的比率(%)超过配置的阀值时触发。

  TOTAL COUNT

  发送到应用程序的所有恳求数超过配置的阀值时触发。

  SLOW COUNT TO CALLEE

  当应用程序发送的慢速恳求数超过配置的阀值时触发。 您必须在配置UI的“注释...”框中指定域或地址(IP,端口)

  例如),127.0.0.1:8080

  SLOW RATE TO CALLEE

  当应用程序发送的慢速恳求的比率(%)超过配置的阀值时触发。 您必须在配置UI的“注释...”框中指定域或地址(IP,端口)

  ex) , 127.0.0.1:8080

  ERROR COUNT TO CALLEE

  当应用程序发送的失败恳求数超过配置的阀值时触发。 您必须在配置UI的“注释...”框中指定域或地址(IP,端口)

  ex) , 127.0.0.1:8080

  ERROR RATE TO CALLEE

  当应用程序发送的失败恳求的比率(%)超过配置的阀值时触发。 您必须在配置UI的“注释...”框中指定域或地址(IP,端口)

  ex) , 127.0.0.1:8080

  TOTAL COUNT TO CALLEE

  当应用程序发送的所有恳求数超过配置的阀值时触发。 您必须在配置UI的“注释...”框中指定域或地址(IP,端口)

  ex) , 127.0.0.1:8080

  HEAP USAGE RATE

  当应用程序的堆使用率(%)超过配置的阀值时触发。

  JVM CPU USAGE RATE

  当应用程序的CPU使用率(%)超过配置的阀值时触发。

  SYSTEM CPU USAGE RATE

  当应用程序的CPU使用率(%)超过配置的阀值时发送警报。

  DATASOURCE CONNECTION USAGE RATE

  当应用程序的数据源联接使用率(%)超过配置的阀值时触发。

  FILE DESCRIPTOR COUNT

  当打开的文件描述符的数目超过配置的阀值时,发送警报。

  然后须要在webapps/pp-web/WEB-INF/classes/batch.properties上面配置一下邮件服务器的信息:

  

pinpoint.url= #pinpoint-web server url

alarm.mail.server.url= #smtp server address

alarm.mail.server.port= #smtp server port

alarm.mail.server.username= #username for smtp server authentication

alarm.mail.server.password= #password for smtp server authentication

alarm.mail.sender.address= #sender's email address

#例如

pinpoint.url=http://pinpoint.com

alarm.mail.server.url=stmp.server.com

alarm.mail.server.port=583

alarm.mail.server.username=pinpoint

alarm.mail.server.password=pinpoint

alarm.mail.sender.address=pinpoint_operator@pinpoint.com

  总结

  以上所述是小编给你们介绍的pinpoint1.8.5安装及使用手册,希望对你们有所帮助!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线