美文网首页我爱编程工作专题程序员
PinPoint分布式全链路监控搭建

PinPoint分布式全链路监控搭建

作者: 伦文聚 | 来源:发表于2016-12-12 11:09 被阅读0次

    什么是分布式全链路监控?不懂的同学请自行脑补了,这里不再阐述,目前开源中,比较接近生产应用的是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看到结果

    链路跟踪

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

    耗时分析

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


    相关文章

      网友评论

        本文标题:PinPoint分布式全链路监控搭建

        本文链接:https://www.haomeiwen.com/subject/pikmmttx.html