pinpoint部署文档

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


image.png

Pinpoint-Collector:收集各种性能数据
Pinpoint-Agent:和自己运行的应用关联起来的探针
Pinpoint-Web:将收集到的数据显示成WEB网页形式
HBase Storage:收集到的数据存到HBase中

安装步骤

一.安装 JDK1.8

二.安装Zookeeper

tickTime=20000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.9/data
clientPort=2181
MaxSessionTimeout=200000

注解 生产环境中建议搭Zookeeper集群,这里暂时只搭单节点。

  • 启动Zookeeper
    cd /usr/local/zookeeper-3.4.9/bin
    ./zkServer.sh start
    输出以下内容表示Zookeeper启动成功:
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

ps -ef|grep zookeeper
Zookeeper启动成功后,绑定到2181端口提供服务。

三.安装HBase

#HBASE_HOME
export HBASE_HOME=/usr/local/hbase-1.2.4

使配置生效:
source /etc/profile

  • 配置HBase配置文件
    cd /usr/local/hbase-1.2.4/conf
    vim hbase-site.xml
    hbase-site.xml中添加以下内容:
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:/usr/local/hbase-1.2.4/data</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.regionserver.handler.count</name>
    <value>20</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
  <property>
    <name>zookeeper.session.timeout</name>
    <value>200000</value>
  </property>
</configuration>

注意:这里不是直接加在文件末尾处,直接加需要删除本来带的<configuration></configuration>
注:HBase支持HDFS存储,但是需要安装Hadoop等组件,这里为了方便,暂时先不使用HDFS。另外,生产环境建议搭HBase集群,这里暂时只搭HBase单节点。

  • 修改hbase-env.sh:
    vim hbase-env.sh
    添加配置行:
export HBASE_MANAGES_ZK=false

使得HBase不使用内置Zookeeper,而使用前面安装好的外置Zookeeper。

  • 启动HBase (jdk 1.7+安装略)
    cd /usr/local/hbase-1.2.4/bin
    ./start-hbase.sh
    HBase日志文件位于 /usr/local/hbase-1.2.4/logs ,可以查看HBase启动日志。
    tail -f /usr/local/hbase-1.2.4/logs/hbase-root-1-regionserver-VM_0_12_centos.out
    cat /usr/local/hbase-1.2.4/logs/hbase-root-1-regionserver-VM_0_12_centos.log
  • 查看HBase状态
    HBase启动成功以后,可以通过浏览器访问 http://ip:16010 查看HBase有关信息,我这里是访问
    http://129.211.24.177:16010/
    image.png

注解
如果发现成功启动了HBase,但是却无法在浏览器中访问 http://ip:16010,这是因为CentOS7默认开启了防火墙,可以先将防火墙关掉 systemctl stop firewalld.service,再尝试访问。

四. 初始化Pinpoint表结构

TABLE                                                                                                                                                                                                            
AgentEvent                                                                                                                                                                                                       
AgentInfo                                                                                                                                                                                                        
AgentLifeCycle                                                                                                                                                                                                   
AgentStat                                                                                                                                                                                                        
AgentStatV2                                                                                                                                                                                                      
ApiMetaData                                                                                                                                                                                                      
ApplicationIndex                                                                                                                                                                                                 
ApplicationMapStatisticsCallee_Ver2                                                                                                                                                                              
ApplicationMapStatisticsCaller_Ver2                                                                                                                                                                              
ApplicationMapStatisticsSelf_Ver2                                                                                                                                                                                
ApplicationTraceIndex                                                                                                                                                                                            
HostApplicationMap_Ver2                                                                                                                                                                                          
SqlMetaData_Ver2                                                                                                                                                                                                 
StringMetaData                                                                                                                                                                                                   
TraceV2                                                                                                                                                                                                          
Traces                                                                                                                                                                                                           
16 row(s) in 0.0430 seconds

五.安装Pinpoint Collector

  • 下载Pinpoint Collector并解压
    Pinpoint Collector、Pinpoint Web的部署均需要Tomcat,所以先下载Tomcat。
cd /usr/local
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/apache-tomcat-8.5.14.zip
unzip apache-tomcat-8.5.14.zip
mv apache-tomcat-8.5.14 pinpoint-collector-1.6.1
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-collector-1.6.1.war
cd /usr/local/pinpoint-collector-1.6.1/webapps
rm -rf *
unzip /usr/local/pinpoint-collector-1.6.1.war -d ROOT
  • 修改配置文件
    由于我这里HITOA的全部组件都部署在同一台机器上,为了避免端口冲突,需要对Tomcat的端口做一些设置,可以直接下载已经设置好的配置文件:
cd /usr/local/pinpoint-collector-1.6.1/conf
curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-collector-server.xml -o server.xml
  • 启动Pinpoint Collector
    cd /usr/local/pinpoint-collector-1.6.1/bin
    chmod +x catalina.sh shutdown.sh startup.sh
    ./startup.sh
    注解
    启动Pinpoint Collector时请确保HBase、Zookeeper都是正常启动的,否则会报错Connection Refused。
  • 查看Pinpoint Collector日志
    cd /usr/local/pinpoint-collector-1.6.1/logs
    tail -f catalina.out
    catalina.out 中有详细的Pinpoint Collector日志,如果输出如下内容,则表明启动成功:


    image.png

    另外,可以随时通过查看Pinpoint Collector日志来了解Pinpoint Collector运行情况 。

六.安装Pinpoint Web

  • 下载Pinpoint Web并解压
    同安装Pinpoint Collector一样,Pinpoint Web部署一样需要Tomcat,由于前面已经下载了tomcat,这里不再下载:
cd /usr/local
unzip apache-tomcat-8.5.14.zip
mv apache-tomcat-8.5.14 pinpoint-web-1.6.1
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-web-1.6.1.war
cd /usr/local/pinpoint-web-1.6.1/webapps
rm -rf *
unzip  /usr/local/pinpoint-web-1.6.1.war -d ROOT
  • 修改配置文件
    cd /usr/local/pinpoint-web-1.6.1/webapps/ROOT/WEB-INF/classes
    vim pinpoint-web.properties
    由于当前的Pinpoint Web并不是集群部署,所以将
    cluster.enable=true
    改为
    cluster.enable=false
    为了避免端口冲突,修改tomcat的一些设置,可以直接下载已经设置好的配置文件:
    cd /usr/local/pinpoint-web-1.6.1/conf
    curl http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-web-server.xml -o server.xml
  • 启动Pinpoint Web
    cd /usr/local/pinpoint-web-1.6.1/bin
    chmod +x catalina.sh shutdown.sh startup.sh
    ./startup.sh
  • 查看Pinpoint Web日志
    cd /usr/local/pinpoint-web-1.6.1/logs
    tail -f catalina.out
    catalina.out 中有详细的Pinpoint Web日志,如果输出如下内容,则表明启动成功:


    image.png
  • 访问Pinpoint Web
    Pinpoint Web启动成功以后,浏览器访问 http://ip:19080/,即可访问Pinpoint Web界面。
    http://129.211.24.177:19080/
    image.png

    注解
    Pinpoint Web原来的默认端口并不是19080,为了避免冲突,在 pinpoint-web-server.xml 文件中做了修改。
    Pinpoint Web内置了告警功能,需要安装MySQL,本快速安装文档暂时不提供此部分内容,后续手册中详细讲解Pinpoint Web告警功能的配置、开发及使用。
    至此,“调用链路分析平台”的服务端基本搭建完成,后面需要在监控的目标应用上安装Pinpoint Agent,自动采集调用链路数据发送至Pinpoint Collector,并在Pinpoint Web中展现。

七. 安装Pinpoint Agent

Pinpoint采用无侵入式的方式跟踪应用的请求调用链路,需要设置下目标应用的JVM参数即可。
这里以监控core为例:

  • 下载Pinpoint Agent并解压
cd /usr/local
mkdir pinpoint-agent-1.6.1
cd pinpoint-agent-1.6.1/
curl -OL http://files.saas.hand-china.com/hitoa/1.0.0/pinpoint-agent-1.6.1.tar.gz
tar -xzvf pinpoint-agent-1.6.1.tar.gz
  • 配置Pinpoint Agent
    Pinpoint Agent的配置文件是/usr/local/pinpoint-agent-1.6.1/pinpoint.config,修改:
    vim /usr/local/pinpoint-agent-1.6.1/pinpoint.config
    Pinpoint Agent默认的配置文件是适用于监控OpenJDK的应用,对于Oracle JDK的应用需要
    添加:
    profiler.jvm.vendor.name=Oracle
    另外,默认的采样率(Sampling Rate)是5%,为了使采集数据更完整,暂时设置为100%,修改以下配置:
    profiler.sampling.rate=1
    配置collector ip:
    profiler.collector.ip=129.211.24.177
    //如果collector装在本机则不需要修改这个ip地址
  • 配置JVM参数 Pinpoint Web和Agent关联
    因为我打算监控Pinpoint Web本身,而Pinpoint Web是部署在tomcat中,所以修改Pinpoint Web的JVM参数只需要修改 bin/catalina.sh 即可。
    注意:监控哪个tomcat就修改哪个tomcat的catalina.sh
    vim /usr/local/pinpoint-web-1.6.1/bin/catalina.sh
    或者自己所要监控的tomcat应用:
    vim /usr/local/apache-tomcat-8.5.14/bin/catalina.sh
    在 catalina.sh 头部添加以下内容:
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/pinpoint-agent-1.6.1/pinpoint-bootstrap-1.6.1.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=core"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=core01"

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

  • Spring boot应用的部署:
nohup java -javaagent: /usr/localpinpoint-agent-1.6.1/pinpoint-bootstrap-1.6.1.jar-Dpinpoint.applicationName=hap -Dpinpoint.agentId=hap01 –jar myapp.jar > log.log &

八.启动目标应用

配置完JVM参数以后,要启动下目标应用以使得生效。
由于我这里监控的是Pinpoint Web本身,前面已经启动过,这里先停止,再重启:
cd /usr/local/pinpoint-web-1.6.1/bin
./shutdown.sh
./startup.sh
重启成功以后,访问Pinpoint Web:http://ip:19080 ,如果能在应用列表中看到 hap,则说明监控成功。
如下图所示:

image.png

鼠标点击右上角箭头位置,鼠标左键按住不动,拉框查看。
image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355