PinPoint分布式全链路监控搭建

什么是分布式全链路监控?不懂的同学请自行脑补了,这里不再阐述,目前开源中,比较接近生产应用的是pinpoint,是韩国棒子开源出来的,坦白讲,韩国棒子的IT也是有能人的。

环境准备:

系统环境:centos 7.1;

JAVA JDK:jdk1.6.0_45,jdk1.7.0_79,jdk1.8.0_111

maven:3.3.9(最低要求是3.2)

这些环境怎样安装,这里略过,不懂的自己找度娘

1、获取源码

从githup上面拉下来最新的代码,这里稳定版本是1.5.2,最新版本是1.6.1,我使用的是1.6.1,githup地址是https://github.com/naver/pinpoint,考虑到国内的同学情况,这里同步到oschina,地址为:http://git.oschina.net/netidol/pinpoint160

2、构建安装包

进入pinpoint160目录,进行构建

命令:mvn install -Dmaven.test.skip=true

3、安装Hbase数据库

由于大部分的jar包我本地都有了,所以我构建只花了3min就搞好了,这个看个人的情况而定,建议最好配置一下maven的镜像库,使用阿里云提供的,这样会快好多,构建完成后,编辑一下Hbase的下载地址,当然,如果你是肉身翻墙在外,可以忽略,否则绝对无法成功下载下来

vim quickstart/bin/start-hbase.sh

找到

HBASE_DL_URL=http://apache.mirror.cdnetworks.com/hbase/$HBASE_VERSION/$HBASE_FILE

更换为:

HBASE_DL_URL=http://mirrors.cnnic.cn/apache/hbase/$HBASE_VERSION/$HBASE_FILE

当然,中间的

http://mirrors.cnnic.cn/apache/hbase

这个地址你可以通过访问

http://www.apache.org/dyn/closer.cgi/hbase/

这里会自动找到你访问的最快的站点,来替换

保存一下,然后安装hbase

./quickstart/bin/start-hbase.sh

下载完毕后,你会发现会启动报错,提示找不到java_home,这是因为刚才下载的hbase没有配置java_home的原因

编辑一下配置文件

vim ./quickstart/hbase/hbase-1.0.3/conf/hbase-env.sh

这里的hbase-1.0.3需要看你实际使用的版本号修改为你对应的目录

然后找到JAVA_HOME,取消前面的注释,然后修改为你的路径

/home/jdk/jdk1.8.0_111

然后启动一下hbase,分别执行下面两个指令

./quickstart/bin/start-hbase.sh

./quickstart/bin/init-hbase.sh

4、部署收集器和web

在web目录和collector目录,分别把target目录下的war包复制到自己的web容器下面,我使用的是tomcat,直接把war包放到webapps下,然后新建一个虚拟机,指向刚才的web目录,这里是pinpoint-web-1.6.1-SNAPSHOT,然后把这个目录下的所有文件复制到ROOT下(不复制的话,有部分显示会有问题,复制过去以后,可以直接用localhost:8080访问,或者localhost:8080/pinpoint-web-1.6.1-SNAPSHOT都可以正常访问)

5、解压和部署代理agent

在pinpoint160目录下,找到agent目录,在target目录下找到pinpoint-agent-1.6.1-SNAPSHOT.tar.gz,进行解压

然后修改pinpoint的收集端地址

vim pinpoint.config

把地址修改为pinpoint所在服务器的地址

pinpoint.config配置

然后在启动jar的时候,加入参数

-javaagent:/usr/soft/code/pinpoint160/agent/target/pinpoint-agent-1.6.1-SNAPSHOT/pinpoint-bootstrap-1.6.1-SNAPSHOT.jar -Dpinpoint.agentId=节点名称,全局唯一 -Dpinpoint.applicationName=应用名称,可重复

启动完成后,可在web看到结果


PinPoint分布式全链路监控搭建_第1张图片
链路跟踪

我们可以看到这2000+的请求中,有几次是耗时2s以上的,我们进去可以看到

PinPoint分布式全链路监控搭建_第2张图片
耗时分析

耗时主要是在和mysql建立连接和redis的登陆上,由于使用的是连接池,首次登陆会慢一点,属于比较正常,可以不管。当然,还可以查看各个节点的情况


PinPoint分布式全链路监控搭建_第3张图片

你可能感兴趣的:(PinPoint分布式全链路监控搭建)