Pinpoint搭建

一、介绍

Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统。仿照 Google Dapper , Pinpoint 通过跟踪分布式应用之间的调用来提供解决方案,以帮助分析系统的总体结构和内部模块之间如何相互联系.

基本架构:pinpoint-collector,pinpoint-web,pinpoint-agent,hbase构成。

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

开源地址:https://github.com/naver/pinpoint

二、搭建所需

1.pinpoint-collector,pinpoint-web,pinpoint-agent,jdk,tomcat,pinpoint所需模块可由开源地址clone,使用maven自行构建,也可在release下直接下载war包。

各版本兼容情况请参照github中的readme

三、开始搭建

1.jdk安装略过。

2.搭建hbase:

1.hbase下载路径:http://hbase.apache.org/downloads.html

2.下载所需版本并解压:tar -xzvf 

3.修改环境变量:

vim /etc/profile
export HBASE_HOME=自己的安装路径

   使配置生效:source /etc/profile

4.修改配置:修改HBASE_HOME/conf下的hbase-env.sh文件可指定内存大小

   export HBASE_HEAPSIZE=1024

5.启动hbase

bin目录下的 ./start-hbase.sh 

6.用jps命令查看Hbase是否启动成功,如果启动成功的会看到”HMaster”的进程 。可通过ip:16010访问,如失败通过查看logs下启动日志

7.初始化表结构

下载初始化脚本:curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-hbase-create.hbase

通过hbase bin目录下./hbase shell pinpoint-hbase-create.hbase

Pinpoint搭建_第1张图片

3.部署Pinpoint Collector

将原先下载好的Pinpoint Collector的war包,部署在tomcat中(不清楚的可的自行百度tomcat如何部署war包),因服务器有限(都是一台)为,防止端口冲突,需修改tomcat的server.xml配置,可通过通tomcat的日志文件查看是否启动成功

修改配置文件 /webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties中的ip为127.0.0.1,默认为0.0.0.0?

4.安装Pinpoint Web

将原先下载好的Pinpoint web的war包,部署在tomcat中(不清楚的可的自行百度tomcat如何部署war包),因服务器有限(都是一台)为,防止端口冲突,需修改tomcat的server.xml配置,可通过通tomcat的日志文件查看是否启动成功

访问pinpoint界面:http://ip:19080/#/main

5.安装Pinpoint Agent

解压下载好的tar包,修改pinpoint.config配置:

Pinpoint Agent默认的配置文件是适用于监控OpenJDK的应用,对于Oracle JDK的应用需要添加:

profiler.jvm.vendor.name=Oracle


另外,默认的采样率(Sampling Rate)是5%,为了使采集数据更完整,暂时设置为100%,修改以下配置:

profiler.sampling.rate=1
profiler.collector.ip=   #设置为采集器所在服务器的ip

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

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/agent安装目录/pinpoint-bootstrap-1.6.1.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=xxxx.xxxx.xxxx.xxxx"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=applicationName"

其中,第一个路径指向pinpoint-bootstrap的jar包位置(pinpoint-agent目录下的文件),第二个pinpoint.applicationName表示监控的目标应用的名称,第三 个pinpoint.agentId表示监控目标应用的ID,其中pinpoint.applicationName可以不唯一,pinpoint.agentId要求唯一,如果 pinpoint.applicationName相同但pinpoint.agentId不同,则表示的是同一个应用的集群。

启动 应用tomcat,agent会将追踪的数据发送给collector,collector会将收集的数据存入hbase,访问pinpoint-web即可看到调用链信息。

你可能感兴趣的:(Pinpoint搭建)