pinpoint全链路监控环境搭建(代码片段)

zhangshaoning zhangshaoning     2022-12-01     198

关键词:

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

 技术图片

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

pinpoint2.5.0环境搭建监控预警钉钉推送(代码片段)

...dk:jdk8,JDk11hbase:habse-1.7.2需与hbase-client版本一致,pinpoint-2.5.0使用的hbase-client版本为1.7.2hbase初始化脚本:hbase-create.hbasepinpoint-collect(监控采集服务-jdk11):pinpoint-collector-boot-2.5.0.jarpinpoint-web(监控管理服务-j... 查看详情

springcloud微服务安全实战-7-11pinpoint+springboot环境搭建

...分析你的系统如果出现瓶颈以后,瓶颈到底在什么地方。pinpoint点击看一下在线的demo提供的一些应用的列表选择order。这张图就是order这个服务的调用图。出去调用的一层,分别调用了product和payment还有m 查看详情

apm链路监控:pinpoint使用手册

文章目录一、PinPoint简介二、PinPoint架构组成三、PinPoint使用说明1.首页2.请求调用栈3.服务状态4.链路事务筛选结尾一、PinPoint简介pinpoint是开源在github上的一款APM监控工具,它是由java编写的,用于大规模分布式系统的监控&... 查看详情

apm链路监控:pinpoint使用手册

文章目录一、PinPoint简介二、PinPoint架构组成三、PinPoint使用说明1.首页2.请求调用栈3.服务状态4.链路事务筛选结尾一、PinPoint简介pinpoint是开源在github上的一款APM监控工具,它是由java编写的,用于大规模分布式系统的监控&... 查看详情

pinpoint在win7下搭建(代码片段)

Pinpoint在Win7下搭建注:原创作品,未经允许严禁转载对于Pinpoint是什么这个问题,在此不做任何讨论,因此本篇文章适用人群为了解Pinpoint相关基础理论知识,需要进行Windows系统下环境搭建者1.Pinpoint框架结构: 2.Pinpoint资源下载:h... 查看详情

sleuth+zipkin实现springcloud链路追踪(代码片段)

...入客户端2、配置文件3、运行效果七、小结一、前言在全链路监控:方案概述与比较一文中,我们有详细介绍过分布式链路跟踪的实现理论基础。我们看到 查看详情

架构师如何技术选型-全链路监控

...匮乏结果和关系导向2.2技术选型技术选型范围:Openzipkin、Pinpoint、Incubator-skywalking、Lightstep、Appdash、Jaeger 查看详情

字节码基于javaagent的全链路监控六开发应用级监控(代码片段)

1.概述上一篇文章:【字节码】基于JavaAgent的全链路监控五-ThreadLocal链路追踪本章节转载:基于JavaAgent的全链路监控六《开发应用级监控》在我们的监控程序中,需要对各种模块进行监控;servlet、rpc、http、jdbc、re... 查看详情

字节码基于javaagent的全链路监控五-threadlocal链路追踪(代码片段)

1.概述转载:基于JavaAgent的全链路监控五《ThreadLocal链路追踪》Google开源的Dapper链路追踪组件,并在2010年发表了论文《Dapper,aLarge-ScaleDistributedSystemsTracingInfrastructure》,这篇文章是业内实现链路追踪的标杆和理论基础&#x... 查看详情

springcloudsleuth全链路日志跟踪解决方案(强烈推荐)(代码片段)

...时了解概述分布式系统面临的问题Sleuth是什么Zipkin是什么链路监控相关术语实战练习入门练习Zipkin下载与启动搭建链路监控步骤sleuth相关配置向Zipkin发送消息的方式Sleuth到底给Zipkin都发送了哪些数据?Zipkin配置持久化引入sleu... 查看详情

skywalking全链路监控集群和动态部署(代码片段)

...诊断也会显的更加复杂。skywalking监控主要用于用户请求链路和路径的监控(拓扑图),能追踪到调用链路各个环节是否正常(错误的原因)和耗时(DB查询、缓存查询等等),能快速定位程序的bug或者慢的原因,主要用于业务层... 查看详情

字节码基于javaagent的全链路监控六基于jvmti定位java异常信息(代码片段)

1.概述上一篇文章:【字节码】基于JavaAgent的全链路监控六开发应用级监控本章节转载:基于JavaAgent的全链路监控六《开发应用级监控》JVMTI(JVMToolInterface)位于jpda最底层,是Java虚拟机所提供的native编程接口。JVMTI可以... 查看详情

pinpoint完整集群实现,包括flink集群的加入(代码片段)

 Pinpoint是韩国人开发的一套基于java的Apm(应用性能监控),具有低延迟、实时监控、拓扑发现、低性能损耗的特点(官方预估是3%),同事有一个完善的web后台,一目了然查看应用拓扑。安装使用前我搜索了网上一堆的文档... 查看详情

pinpoint监控(代码片段)

####Hbase数据################参考:然而没有卵用:https://blog.csdn.net/iamlihongwei/article/details/52882749?utm_source=blogxgwz2https://my.oschina.net/LaravelShao/blog/1803428####访问地址################Hbase数据库地址:h 查看详情

pinpoint修改hbase表ttl值(代码片段)

参考文档https://greatwqs.iteye.com/blog/1741330缘起Pinpoint接入业务监控后数据量大涨,平均每天Hbase数据增量20G左右,数据量太大,需要对数据进行定期清理,否则监控可用性降低,由于之前环境是由docker-compose部署,查到hbase可以修改... 查看详情

字节码javaagent的全链路监控篇二,通过字节码增加监控执行耗时(代码片段)

1.概述上一篇文章:【字节码】javaagent入门案例最简单的案例转载:https://github.com/fuzhengwei/itstack-demo-bytecode通过上一章节的介绍,我们已经知道通过配置-javaagent:文件.jar后,在java程序启动时候会执行premain方法。接... 查看详情

字节码基于javaagent的全链路监控四-jvm内存与gc信息(代码片段)

1.概述转载:基于JavaAgent的全链路监控四《JVM内存与GC信息》2.案例简述除了监控java方法的执行耗时,我们还需要获取应用实例的jvm内存与gc信息,以实时把控我们的服务器性能是否在安全范围。监控jvm内存与gc信息是... 查看详情

手把手这篇全链路压测实践教程(代码片段)

Hello,大家好呀,前两篇文章,我们说了下关于全链路压测的意义、整体架构,以及5种压测的方案。前面两篇基本都属于比较理论的内容,今天这篇咱们来点实践的东西,手把手带你搞出一个压测来如果不清楚之前两篇的文章的... 查看详情