pinpoint安装与配置

pinpoint安装与配置

三丰 soft张三丰 html

Pinpoint是什么?

Pinpoint是一款全链路分析工具,提供了无侵入式的调用链监控、方法执行详情查看、应用状态信息监控等功能。基于GoogleDapper论文进行的实现,与另外一款开源的全链路分析工具Zipkin相似,但相比Zipkin提供了无侵入式、代码维度的监控等更多的特性。Pinpoint支持的功能比较丰富,能够支持以下几种功能:java

•服务拓扑图:对整个系统中应用的调用关系进行了可视化的展现,单击某个服务节点,能够显示该节点的详细信息,好比当前节点状态、请求数量等
•实时活跃线程图:监控应用内活跃线程的执行状况,对应用的线程执行性能能够有比较直观的了解
•请求响应散点图:以时间维度进行请求计数和响应时间的展现,拖过拖动图表能够选择对应的请求查看执行的详细状况
•请求调用栈查看:对分布式环境中每一个请求提供了代码维度的可见性,能够在页面中查看请求针对到代码维度的执行详情,帮助查找请求的瓶颈和故障缘由。
•应用状态、机器状态检查:经过这个功能能够查看相关应用程序的其余的一些详细信息,好比CPU使用状况,内存状态、垃圾收集状态,TPS和JVM信息等参数。git

架构组成

Pinpoint 主要由 3 个组件外加 Hbase 数据库组成,三个组件分别为:Agent、Collector 和 Web UI。github

•Agent组件:用于收集应用端监控数据,无侵入式,只须要在启动命令中加入部分参数便可
•Collector组件:数据收集模块,接收Agent发送过来的监控数据,并存储到HBase
•WebUI:监控展现模块,展现系统调用关系、调用详情、应用状态等,并支持报警等功能
下面是官方的一些截图,很帅,很直观web

pinpoint安装与配置
pinpoint安装与配置
pinpoint安装与配置
pinpoint安装与配置

安装与配置

我安装它用到的2台 CentOS6.8 虚拟机,一台主要部署pinpoint的主程序,一台模拟测试环境。配置以下:shell

pinpoint安装与配置
java 1.7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html数据库

pinpoint https://github.com/naver/pinpointbootstrap

我将须要的资源都整合起来了,上传至百度网盘tomcat

百度网盘: < 连接:https://pan.baidu.com/s/1WC3VhyhgicqMMmTgbxMziA 密码:vdp6服务器

安装依赖包

进入home目录,建立一个"pp_res"的资源目录,用来存放须要安装的包

mkdir /home/pp_res
cd /home/pp_res/

使用xshell等相似的工具,将须要的文件上传到Linux虚拟机中,主要要传的文件都在百度网盘中

•jdk7 --- Java运行环境
•hbase-1.0 --- 数据库,用来存储监控信息
•tomcat8.0 --- Web服务器
•pinpoint-collector.war --- pp的控制器
•pinpoint-web.war --- pp展现页面
•pp-collector.init --- 用来快速启动pp-col,不要也能够
•pp-web.init --- 用来快速启动pp-web,不要也能够
pinpoint安装与配置

配置JDK,安装hbase

修改Hbase的配置信息

vi hbase-site.xml

    hbase.rootdir
    file:///data/hbase

启动hbase

cd /data/service/hbase/bin
./start-hbase.sh

# 查看Hbase是否启动成功,若是启动成功的会看到"HMaster"的进程
[root@localhost bin]# jps
12075 Jps
11784 HMaster

初始化Hbase的pinpoint库

# 执行pinpoint提供的Hbase初始化语句,这时会初始化一会。
./hbase shell /home/pp_res/hbase-create.hbase

# 执行完了之后,进入Hbase
./hbase shell

# 进入后能够看到Hbase的版本,还有一些相关的信息
2016-11-15 01:55:44,861 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using built
in-java classes where applicableHBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 1.0.3, rf1e1312f9790a7c40f6a4b5a1bab2ea1dd559890, Tue Jan 19 19:26:53 PST 2016

hbase(main):001:0>

# 输入"status 'detailed'"能够查看刚才初始化的表,是否存在
hbase(main):001:0> status 'detailed'
version 1.0.3
0 regionsInTransition
master coprocessors: []
1 live servers
    localhost:50887 1478538574709
        requestsPerSecond=0.0, numberOfOnlineRegions=498, usedHeapMB=24, maxHeapMB=237, numberOfStores=626, numberOfStorefiles=0, storefileUncom
pressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=7714, writeRequestsCount=996, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, coprocessors=[MultiRowMutationEndpoint]        "AgentEvent,,1478539104778.aa1b3b14d0b48d83cbf4705b75cb35b7."
            numberOfStores=1, numberOfStorefiles=0, storefileUncompressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0,
readRequestsCount=0, writeRequestsCount=0, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, completeSequenceId=-1, dataLocality=0.0
...

也能够登陆web,来查看HBase的数据是否初始化成功

HbaseWeb : http://192.168.245.134:16010/master-status
pinpoint安装与配置

安装pinpoint-collector

部署war包,而后配置快速启动

# 配置快速启动须要修改pp-collector.init的路径( pp-collector在网盘里面有 ),能够"vi"进去,大概在18,24,27行处,修改相关的路径。我这边为了方便,直接就用替换的shell作了,若是路径与个人不一致,须要将路径修改为本身的路径。
cd /home/pp_res
sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-collector.init
sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-collector\//CATALINA_HOME=\/data\/service\/pp-col\//g" pp-collector.init
sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-collector\//CATALINA_BASE=\/data\/service\/pp-col\//g" pp-collector.init

# 将文件赋予"执行"的权限,把它放到"init.d"中去。之后就能够restart快速重启了。
chmod 711 pp-collector.init
mv pp-collector.init /etc/init.d/pp-col

# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-col restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jar

waiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pp-col/
Using CATALINA_HOME:   /data/service/pp-col/
Using CATALINA_TMPDIR: /data/service/pp-col//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-col//bin/bootstrap.jar:/data/service/pp-col//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 22824

安装pinpoint-web

部署war包 配置快速启动

# 须要修改"pp-web.init",与上面的步骤一致
cd /home/pp_res
sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk17\//g" pp-web.init
sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-web\//CATALINA_HOME=\/data\/service\/pp-web\//g" pp-web.init
sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-web\//CATALINA_BASE=\/data\/service\/pp-web\//g" pp-web.init

# 将文件赋予"执行"的权限,把让放到"init.d"中去。之后就能够restart快速重启了。
chmod 711 pp-web.init
mv pp-web.init /etc/init.d/pp-web

# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-web restart
Stoping Tomcat
Using CATALINA_BASE:   /data/service/pp-web/
Using CATALINA_HOME:   /data/service/pp-web/
Using CATALINA_TMPDIR: /data/service/pp-web//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-web//bin/bootstrap.jar:/data/service/pp-web//bin/tomcat-juli.jar

waiting for processes to exitStarting tomcat
Using CATALINA_BASE:   /data/service/pp-web/
Using CATALINA_HOME:   /data/service/pp-web/
Using CATALINA_TMPDIR: /data/service/pp-web//temp
Using JRE_HOME:        /usr/java/jdk17/
Using CLASSPATH:       /data/service/pp-web//bin/bootstrap.jar:/data/service/pp-web//bin/tomcat-juli.jar
Tomcat started.
Tomcat is running with pid: 22703

部署pp-agent采集监控数据

在测试系统中,部署pp-agent采集监控数据

部署采集器就很简单了,只须要加3句话就行了。我这边作一个测试的Tomcat,来模拟部署。

首先,先创建一个文件夹,放测试须要的包

mkdir /home/pp_test
cd /home/test

将测试须要的pp-agent拉到服务器上 配置模拟的Tomcat测试环境 配置pp-agent采集器

# 解压pp-agent
cd /home/pp_test
tar -zxvf pinpoint-agent-1.5.2.tar.gz
mv pinpoint-agent-1.5.2 /data/pp-agent

# 编辑配置文件
cd /data/pp-agent/
vi pinpoint.config

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

# 修改测试项目下的tomcat启动文件"catalina.sh",修改这个只要是为了监控测试环境的Tomcat,增长探针
cd /data/pp-test/bin
vi catalina.sh

# 在20行增长以下字段
# 第一行是pp-agent的jar包位置
# 第二行是agent的ID,这个ID是惟一的,我是用pp + 今天的日期命名的,只要与其余的项目的ID不重复就行了
# 第三行是采集项目的名字,这个名字能够随便取,只要各个项目不重复就行了
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/pp-agent/pinpoint-bootstrap-1.5.2.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=pp20161122"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=MyTestPP

启动了,咱们就能够访问测试环境了
pinpoint安装与配置

相关文章
相关标签/搜索