PinPoint全链路监控环境搭建

Posted zhangshaoning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PinPoint全链路监控环境搭建相关的知识,希望对你有一定的参考价值。

PinPoint全链路监控

简介

Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文。

仿照 Google Dapper , Pinpoint 通过跟踪分布式应用之间的调用来提供解决方案, 以帮助分析系统的总体结构和内部模块之间如何相互联系。

如今的服务通常由很多不同模块组成,前端向后台发起一个查询请求,后台服务可能要调用多个服务,每个服务可能又会调用其它服务,最终将结果返回,汇总到页面上。如果某个环节发生异常,工程师很难准确定位这个问题到底是由哪个服务调用造成的,Pinpoint的作用就是追踪每个请求的完整调用链路,收集调用链路上每个服务的性能数据,方便工程师能够快速定位问题。

 

架构图

 技术图片

 

 

如图所示,为Pinpoint的架构图,主要由四部分组成:

 

Pinpoint-Collector:收集器,收集各种性能数据

Pinpoint-Agent:探针,与应用服务器关联,采集性能数据,传给Collector

Pinpoint-Web:UI,展示性能数据

HBase Storage:存储,保存性能数据

 

优点

1、分布式事务跟踪,跟踪跨分布式应用的消息

2、自动检测应用拓扑,帮助你搞清楚应用的架构

3、水平扩展以便支持大规模服务器集群

4、提供代码级别的可见性以便轻松定位失败点和瓶颈

5、使用字节码增强技术,添加新功能而无需修改代码

 

功能

1、故障快速定位

2、各个调用环节的性能分析

3、数据分析等

4、生成服务调用拓扑图

 

支持的模块

ü  JDK 6+

ü  Tomcat 6/7/8, Jetty 8/9, JBoss EAP 6

ü  Spring, Spring Boot

ü  Apache HTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient

ü  Thrift Client, Thrift Service, DUBBO PROVIDER, DUBBO CONSUMER

ü  mysql, Oracle, MSSQL, CUBRID, DBCP, POSTGRESQL, MARIA

ü  Arcus, Memcached, Redis, CASSANDRA

ü  iBATIS, MyBatis

ü  gson, Jackson, Json Lib

ü  log4j, Logback

 

环境搭建所需要的工具

1、JDK 1.8

2、Tomcat 8.5.3    发布用

3、Pinpoint-Web   将收集到的数据显示成WEB网页形式

4、Pinpoint-Collector 收集各种性能数据

5、Pinpoint-Agent 和自己运行的应用关联起来的探针

6、HBase Storage  收集到的数据存到HBase中

7、hbase_scripts  Pinpoint初始化数据库

 

HBase脚本介绍

l  hbase-create.hbase - 创建pinpoint必须的表。

l  hbase-drop.hbase - 删除pinpoint必须的所有表

l  hbase-flush-table.hbase - 刷新所有表

l  hbase-major-compact-htable.hbase- 压缩主要的所有表

 

JDK和Tomcat的搭建这里就不再介绍了。

 

1、安装HBase

下载地址:http://archive.apache.org/dist/hbase/

 技术图片

这里下载hbase-1.4.12来进行安装

将hbase-1.4.12-bin.tar.gz包移动到/apps/software目录下,然后解压

 技术图片

接下来进入到hbase目录下的conf文件夹夹中修改hbase-env.sh文件对JAVA的配置,找到JAVA_HOME的位置,打开JAVA_HOME的注释行并修改,或者直接添加一行,如下图

 技术图片

然后回到bin目录下启动hbase服务 sh start-hbase.sh

启动如果遇到错误,可以检查一下虚拟机cpu的核心数,貌似至少得双核以上才能起得来。启动成功会显示如下画面

 技术图片

Hbase默认端口是16010,在网页上访问http://192.168.3.31:16010

 技术图片

然后初始化Hbase的pinpoint库,执行

 技术图片

技术图片

登录web,来查看HBase的数据是否初始化成功

 技术图片

2、安装pinpoint

为了方便省事,我们把pinpoint-web 和 pinpoint-collector 都放进一个Tomcat中

 技术图片

为了方便访问将pinpoint-web-1.1.2.war改名为pinpoint

 技术图片

启动tomcat然后访问http://192.168.3.31:8080/pinpoint

 技术图片

到这里我们的环境就发布好了

以上是关于PinPoint全链路监控环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

1,pinpoint全链路监控

全链路监控pinpoint安装部署

基于Pinpoint对SpringCloud微服务项目实现全链路监控 #yyds干货盘点#

APM链路监控:pinpoint安装部署实战详细手册

APM链路监控:pinpoint安装部署实战详细手册

工作随笔——pinpoint分布式性能监控工具(docker安装)