1. 简介
Pinpoint is an open source APM (Application Performance Management) tool for large-scale distributed systems written in Java. https://naver.github.io/pinpoint
功能及优势
- 自动检测应用及关联组件,并生成拓扑图
- 应用程序各个维度的实时监控(响应时长、活跃线程、内存监控、CPU使用率等关键指标)
- 对每个事务具有代码级别的可见性,从而能够轻松定位失败点和瓶颈
- 调用栈分析,可以对分布式环境下应用之间的调用做链路追踪
- 对程序代码没有任何侵入,且对程序本身的性能影响较小(大约3%的性能开销)
架构设计
- pinpoint-collector(数据采集)
- pinpoint-agent(java探针)
- pinpoint-web(UI界面)
- HBase(数据存储)
- Mysql(配置用户组、报警信息等,可选)
2. 开始安装
目前Pinpoint最新版本为1.8.0,参考官方给出的版本对应关系,选用1.2.9版本的Hbase
Pinpoint Version | HBase 0.94.x | HBase 0.98.x | HBase 1.0.x | HBase 1.2.x | HBase 2.0.x |
---|---|---|---|---|---|
1.0.x | yes | no | no | no | no |
1.1.x | no | not tested | yes | not tested | no |
1.5.x | no | not tested | yes | not tested | no |
1.6.x | no | not tested | not tested | yes | no |
1.7.x | no | not tested | not tested | yes | no |
1.8.x | no | not tested | not tested | yes | no |
2.1 安装Hbase
本文将以单机的方式部署,生产环境可根据实际情况选择集群或者单机部署
1.下载
[root@server]# wget http://mirror.bit.edu.cn/apache/hbase/hbase-1.2.9/hbase-1.2.9-bin.tar.gz
[root@server]# tar -zxvf hbase-1.2.9-bin.tar.gz -C /usr/local
2.配置
- 修改/usr/local/hbase-1.2.9/conf/hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_131
<!--若使用外部zookeeper-->
export HBASE_MANAGES_ZK=false
- 修改/usr/local/hbase-1.2.9/conf/hbase-site.xml,添加数据存放路径
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/hbase-1.2.9/data</value>
</property>
</configuration>
<!--若使用外部zookeeper-->
<configuration>
<!-- hbase数据存放的目录,若用本地目录,必须带上file://,否则hbase启动不起来 -->
<property>
<name>hbase.rootdir</name>
<value>file:///data/software/hbase-data</value>
</property>
<!-- zk的位置 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
<description>the pos of zk</description>
</property>
<!-- 此处必须为true,不然hbase仍用自带的zk,若启动了外部的zookeeper,会导致冲突,hbase启动不起来 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>菜单
<!-- hbase主节点的位置 -->
<property>
<name>hbase.master</name>
<value>localhost:2181</value>
</property>
</configuration>
- 启动hbase
[root@server hbase-1.2.9]# sh bin/start-hbase.sh
- 下载hbase-create.hbase文件,导入hbase ,下载地址: https://github.com/naver/pinpoint/blob/master/hbase/scripts/hbase-create.hbase
[root@server hbase-1.2.9]# sh bin/hbase shell /root/hbase-create.hbase
- 使用浏览器访问http://ip:16010/master-status#userTables,查看是否导入成功
2.2 安装Pinpoint
首先去github下载最新的安装包, https://github.com/naver/pinpoint/releases/tag/1.8.0
pinpoint-agent-1.8.0.tar.gz - java探针
pinpoint-collector-1.8.0.war - 数据收集
pinpoint-web-1.8.0.war - Web UI
- 安装pinpoint-collector
1. 配置tomct-collector运行端口为9001,解压pinpoint-collector-1.8.0.war到tomcat的webapps目录中
2. 修改WEB-INF/classes/pinpoint-collector.properties,修改zk配置信息
由于pinpoint-collector-1.8.0.war和pinpoint-web-1.8.0.war需要运行在web容器中,我们以两个独立的tomcat作为web容器,分别配置运行端口为9000,9001
将pinpoint-web-1.8.0.war拷贝至tomcat-9000的webapp文件夹中,改名为ROOT,
将pinpoint-collector-1.8.0.war拷贝至tomcat-9001的webapp文件夹,改名为ROOT