SpringCloud链路追踪实时流量最佳解决方案:Pinpoint分布式链路追踪、链路监控平台详细搭建步骤,SpringBoot/SpringCloud微服务注册到Pinpoint(2022年最新)

简介: SpringCloud链路追踪实时流量最佳解决方案:Pinpoint分布式链路追踪、链路监控平台详细搭建步骤,SpringBoot/SpringCloud微服务注册到Pinpoint(2022年最新)

@[toc]

前言

Pinpoint 是用 Java 编写的 APM(应用性能管理)工具,用于大规模分布式系统。在 Dapper 之后,Pinpoint 提供了一个解决方案,以帮助分析系统的总体结构以及分布式应用程序的组件之间是如何进行数据互联的。

  • 安装agent是无侵入式的
  • 对性能的影响最小(只增加约3%资源利用率)
  • 服务之间的调用链路图

在这里插入图片描述

  • 单个请求数据链路

在这里插入图片描述

1.下载

pinpoint github地址

  • pinpoint-agent-2.3.3.tar.gz
  • pinpoint-collector-boot-2.3.3.jar
  • pinpoint-web-boot-2.3.3.jar
  • Source code (zip) (解压完 pinpoint\pinpoint-2.3.3\hbase\scripts\hbase-create.hbase)- 初始化hbase脚本

hbase数据库

  • hbase-1.2.6-bin.tar.gz

在这里插入图片描述

2.安装

JDK是必备要求,自行安装

2.1 安装hbase

2.1.1 解压

tar -zxvf hbase-1.2.6-bin.tar.gz

2.1.2 修改配置文件

1.hbase-env.sh

vim hbase-1.2.6/conf/hbase-env.sh
注释46,47行 ,添加javahome配置。
export JAVA_HOME=/usr/local/jdk1.8.0_291
export HBASE_MANAGES_ZK=true
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

在这里插入图片描述


2.hbase-site.xml

vim  hbase-1.2.6/conf/hbase-site.xml
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///xxx/hbase/data</value>
    </property>
</configuration>

在这里插入图片描述


3.启动

启动hbase
 ./bin/start-hbase.sh

在这里插入图片描述
在这里插入图片描述

4.初始化hbase的pinpoint库

cd /hbase-1.2.6/bin 进入该目录,hbase shell是命令不是可执行脚本
 ./hbase shell /usr/local/pinpoint/hbase-create.hbase

在这里插入图片描述


初始化完成

2.2 部署pinpoint-collector

2.2.1 创建日志文件夹

在这里插入图片描述

2.2.2 启动

nohup java -jar -Dpinpoint.zookeeper.address=127.0.0.1 pinpoint-collector-boot-2.3.3.jar > log/collector.log 2>&1 &

在这里插入图片描述


2.3 部署pinpoint-web-boot

nohup java -jar -Dpinpoint.zookeeper.address=127.0.0.1 pinpoint-web-boot-2.3.3.jar > log/web.log 2>&1 &

在这里插入图片描述


2.4 pinpoint-agent配置(无需运行,后续将在微服务启动时引用)

2.4.1 解压

tar -zxvf pinpoint-agent-2.3.3.tar.gz
#进入该文件夹修改配置文件
cd pinpoint-agent-2.3.3/profiles/release/
vim pinpoint.config 
将这两个配置改为部署collector的ip,我的都在一台机器直接127.0.0.1就行

在这里插入图片描述


找到这一行

在这里插入图片描述

改为
profiler.sampling.rate=1

3 运行一个springboot

3.1 linux

java -javaagent:/usr/local/pinpoint/pinpoint-agent-2.3.3/pinpoint-bootstrap-2.3.3.jar -Dpinpoint.agentId=xdclass-redis -Dpinpoint.applicationName=xdclass-redis -jar xdclass-redis-0.0.1-SNAPSHOT.jar

在这里插入图片描述

3.2 windows

1.在win环境下解压pinpoint-agent-2.3.3

修改配置文件
pinpoint-agent-2.3.3/profiles/release/pinpoint.config

在这里插入图片描述
在这里插入图片描述

2.idea添加参数启动springboot

-javaagent:E:\pinpoint\pinpoint-agent-2.3.3\pinpoint-bootstrap-2.3.3.jar -Dpinpoint.agentId=UserApplication -Dpinpoint.applicationName=UserApplication

在这里插入图片描述


启动成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 k8s环境

如果是在k8s环境下部署
需要每个物理机拷贝一份pinpoint-agent
相关实践学习
分布式链路追踪Skywalking
Skywalking是一个基于分布式跟踪的应用程序性能监控系统,用于从服务和云原生等基础设施中收集、分析、聚合以及可视化数据,提供了一种简便的方式来清晰地观测分布式系统,具有分布式追踪、性能指标分析、应用和服务依赖分析等功能。 分布式追踪系统发展很快,种类繁多,给我们带来很大的方便。但在数据采集过程中,有时需要侵入用户代码,并且不同系统的 API 并不兼容,这就导致了如果希望切换追踪系统,往往会带来较大改动。OpenTracing为了解决不同的分布式追踪系统 API 不兼容的问题,诞生了 OpenTracing 规范。OpenTracing 是一个轻量级的标准化层,它位于应用程序/类库和追踪或日志分析程序之间。Skywalking基于OpenTracing规范开发,具有性能好,支持多语言探针,无侵入性等优势,可以帮助我们准确快速的定位到线上故障和性能瓶颈。 在本套课程中,我们将全面的讲解Skywalking相关的知识。从APM系统、分布式调用链等基础概念的学习加深对Skywalking的理解,从0开始搭建一套完整的Skywalking环境,学会对各类应用进行监控,学习Skywalking常用插件。Skywalking原理章节中,将会对Skywalking使用的agent探针技术进行深度剖析,除此之外还会对OpenTracing规范作整体上的介绍。通过对本套课程的学习,不止能学会如何使用Skywalking,还将对其底层原理和分布式架构有更深的理解。本课程由黑马程序员提供。
相关文章
|
10月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
在数字化转型中,企业亟需从海量数据中快速提取价值并转化为业务增长动力。5月15日19:00-21:00,阿里云三位技术专家将讲解Kafka与Flink的强强联合方案,帮助企业零门槛构建分布式实时分析平台。此组合广泛应用于实时风控、用户行为追踪等场景,具备高吞吐、弹性扩缩容及亚秒级响应优势。直播适合初学者、开发者和数据工程师,参与还有机会领取定制好礼!扫描海报二维码或点击链接预约直播:[https://developer.aliyun.com/live/255088](https://developer.aliyun.com/live/255088)
652 35
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
|
10月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
292 12
|
6月前
|
消息中间件 监控 Java
Apache Kafka 分布式流处理平台技术详解与实践指南
本文档全面介绍 Apache Kafka 分布式流处理平台的核心概念、架构设计和实践应用。作为高吞吐量、低延迟的分布式消息系统,Kafka 已成为现代数据管道和流处理应用的事实标准。本文将深入探讨其生产者-消费者模型、主题分区机制、副本复制、流处理API等核心机制,帮助开发者构建可靠、可扩展的实时数据流处理系统。
577 4
|
Java 关系型数据库 MySQL
新一代 Cron-Job分布式任务调度平台 部署指南
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
422 107
|
Java 调度 Maven
新一代 Cron-Job 分布式任务调度平台 正式发布!
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
480 105
|
11月前
|
SQL 监控 Go
新一代 Cron-Job分布式调度平台,v1.0.8版本发布,支持Go执行器SDK!
现代化的Cron-Job分布式任务调度平台,支持Go语言执行器SDK,多项核心优势优于其他调度平台。
239 8
|
9月前
|
运维 监控 Linux
WGCLOUD运维平台的分布式计划任务功能介绍
WGCLOUD是一款免费开源的运维监控平台,支持主机与服务器性能监控,具备实时告警和自愈功能。本文重点介绍其计划任务功能模块,可统一管理Linux和Windows主机的定时任务。相比手动配置crontab或Windows任务计划,WGCLOUD提供直观界面,通过添加cron表达式、执行指令或脚本并选择主机,即可轻松完成任务设置,大幅提升多主机任务管理效率。
|
12月前
|
数据采集 监控 数据可视化
11.7K Star!这个分布式爬虫管理平台让多语言协作如此简单!
分布式爬虫管理平台Crawlab,支持任何编程语言和框架的爬虫管理,提供可视化界面、任务调度、日志监控等企业级功能,让爬虫开发管理效率提升300%!
510 1
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
4700 14
|
存储 Prometheus Cloud Native
分布式系统架构6:链路追踪
本文深入探讨了分布式系统中的链路追踪理论,涵盖追踪与跨度的概念、追踪系统的模块划分及数据收集的三种方式。链路追踪旨在解决复杂分布式系统中请求流转路径不清晰的问题,帮助快速定位故障和性能瓶颈。文中介绍了基于日志、服务探针和边车代理的数据收集方法,并简述了OpenTracing、OpenCensus和OpenTelemetry等链路追踪协议的发展历程及其特点。通过理解这些概念,可以更好地掌握开源链路追踪框架的使用。
1351 41