pinpoint 安装 for spring cloud

article/2025/8/23 14:14:57

pinpoint 安装 for spring cloud

  • 1.环境说明
  • 2.安装步骤
    • 2.1 安装pinpoint
    • 2.2 安装agent
      • 2.2.1 下载
      • 2.2.2 agent配置
      • 2.2.3 JVM 配置
      • 2.2.4 日志中输出traceId
  • 3.部署问题
    • 3.1 多个相同名称的项目放在一个pinpoint下监控
    • 3.2 agent id 过长问题(最大长度不能超过24个字符)
    • 3.2 k8s 多个副本pod ,agentId重复
  • 4.参考

1.环境说明

spring boot 、spring cloud、mysql 、mybatis 、k8s、docker、redis、rocketmq

2.安装步骤

2.1 安装pinpoint

git clone https://github.com/pinpoint-apm/pinpoint-docker.git
cd pinpoint-docker
docker-compose pull && docker-compose up -d

安装过程

[root@monitor pinpoint-docker]# docker-compose pull && docker-compose up -dPulling pinpoint-mysql      ... done
Pulling zoo1                ... done
Pulling pinpoint-hbase      ... done
Pulling pinpoint-batch      ... done
Pulling pinpoint-collector  ... done
Pulling pinpoint-agent      ... done
Pulling pinpoint-quickstart ... done
Pulling pinpoint-web        ... done
Pulling zoo2                ... done
Pulling zoo3                ... done
Pulling jobmanager          ... done
Pulling taskmanager         ... done
Creating network "pinpoint-docker_pinpoint" with driver "bridge"
Creating volume "pinpoint-docker_data-volume" with default driver
Creating volume "pinpoint-docker_mysql_data" with default driver
Creating volume "pinpoint-docker_hbase_data" with default driver
Creating pinpoint-docker_zoo3_1 ... done
Creating pinpoint-docker_zoo2_1 ... done
Creating pinpoint-docker_zoo1_1 ... done
Creating pinpoint-mysql         ... done
Creating pinpoint-flink-jobmanager ... done
Creating pinpoint-hbase             ... done
Creating pinpoint-flink-taskmanager ... done
Creating pinpoint-batch             ... done
Creating pinpoint-collector         ... done
Creating pinpoint-web               ... done
Creating pinpoint-agent             ... done
Creating pinpoint-quickstart        ... done

安装后启动的docker 容器

[root@datalink ~]# docker ps 
CONTAINER ID   IMAGE                                     COMMAND                  CREATED      STATUS      PORTS                                                                                                                                                                                        NAMES
fb54699553bf   lihaixin/portainer                        "/portainer --templa…"   8 days ago   Up 8 days   8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp                                                                                                                                          portainer
e2ea6fab2277   pinpointdocker/pinpoint-batch:2.4.1       "sh /pinpoint/script…"   8 days ago   Up 8 days                                                                                                                                                                                                pinpoint-batch
827ee01929f6   pinpointdocker/pinpoint-web:2.4.1         "sh /pinpoint/script…"   8 days ago   Up 8 days   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:9997->9997/tcp, :::9997->9997/tcp                                                                                                         pinpoint-web
204c8526992f   pinpointdocker/pinpoint-quickstart        "catalina.sh run"        8 days ago   Up 8 days   0.0.0.0:8085->8080/tcp, :::8085->8080/tcp                                                                                                                                                    pinpoint-quickstart
ff6d1a502934   pinpointdocker/pinpoint-agent:2.4.1       "/usr/local/bin/conf…"   8 days ago   Up 8 days                                                                                                                                                                                                pinpoint-agent
5564d90ef82a   pinpointdocker/pinpoint-collector:2.4.1   "sh /pinpoint/script…"   8 days ago   Up 8 days   0.0.0.0:9991-9996->9991-9996/tcp, :::9991-9996->9991-9996/tcp, 0.0.0.0:9995-9996->9995-9996/udp, :::9995-9996->9995-9996/udp                                                                 pinpoint-collector
c78f83d41893   pinpointdocker/pinpoint-flink:2.4.1       "/docker-bin/docker-…"   8 days ago   Up 8 days   6123/tcp, 0.0.0.0:6121-6122->6121-6122/tcp, :::6121-6122->6121-6122/tcp, 0.0.0.0:19994->19994/tcp, :::19994->19994/tcp, 8081/tcp                                                             pinpoint-flink-taskmanager
7589edc596a1   pinpointdocker/pinpoint-flink:2.4.1       "/docker-bin/docker-…"   8 days ago   Up 8 days   6123/tcp, 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp                                                                                                                                          pinpoint-flink-jobmanager
92425aa237df   pinpointdocker/pinpoint-hbase:2.4.1       "/bin/sh -c '/usr/lo…"   8 days ago   Up 8 days   0.0.0.0:16010->16010/tcp, :::16010->16010/tcp, 0.0.0.0:16030->16030/tcp, :::16030->16030/tcp, 0.0.0.0:60000->60000/tcp, :::60000->60000/tcp, 0.0.0.0:60020->60020/tcp, :::60020->60020/tcp   pinpoint-hbase
3eab4570bf20   zookeeper:3.4.13                          "/docker-entrypoint.…"   8 days ago   Up 8 days   2888/tcp, 3888/tcp, 0.0.0.0:49154->2181/tcp, :::49154->2181/tcp                                                                                                                              pinpoint-docker_zoo3_1
f5eb8cb5aaa8   zookeeper:3.4.13                          "/docker-entrypoint.…"   8 days ago   Up 8 days   2888/tcp, 3888/tcp, 0.0.0.0:49153->2181/tcp, :::49153->2181/tcp                                                                                                                              pinpoint-docker_zoo1_1
637ae4c0084c   zookeeper:3.4.13                          "/docker-entrypoint.…"   8 days ago   Up 8 days   2888/tcp, 3888/tcp, 0.0.0.0:49155->2181/tcp, :::49155->2181/tcp                                                                                                                              pinpoint-docker_zoo2_1
bc67523a7afe   pinpointdocker/pinpoint-mysql:2.4.1       "docker-entrypoint.s…"   8 days ago   Up 8 days   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                                                                                                                         pinpoint-mysql

进入到web页面效果

在这里插入图片描述

2.2 安装agent

2.2.1 下载

在这里插入图片描述

2.2.2 agent配置

下载,解压后进入/pinpoint-agent-2.4.1/profiles目录,复制release文件夹,新增dev,prod,test文件夹
一个环境一个文件夹。
在这里插入图片描述
修改以下配置

1.收集服务的ip
profiler.transport.grpc.collector.ip=10.50.10.xx
profiler.collector.ip=10.50.10.xx
2.指定采集的是Tomcat或者Spring boot等
profiler.applicationservertype=SPRING_BOOT 
3.if it's COUNTING(the default), then 1 out of n transactions will be sampled where n is the rate.
# eg. 1: 100%     20: 5%     50: 2%      100: 1%
profiler.sampling.counting.sampling-rate=14.数据采样率,搜集数据的比率,默认为20即为1/20 5%,如想改为100%即设为1
profiler.sampling.rate=1

2.2.3 JVM 配置

把刚下载配置好的agent文件夹放到基础镜像中,然后在打镜像的时候配置以下几个参数

  <jvmFlag>-javaagent:/pinpoint-agent/pinpoint-bootstrap-2.4.1.jar</jvmFlag><jvmFlag>-Dpinpoint.agentId=${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.applicationName=${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.profiler.profiles.active=${spring.profiles.active}</jvmFlag>

2.2.4 日志中输出traceId

公司使用的slf4j实现类库是logback,如果你使用的是log4j的话,Pinpoint也提供了类似的配置项,大家可以自行查阅配置。

1.设置配置项

// 配置项在pinpoint.config中
profiler.logback.logging.transactioninfo = true

2.修改日志输出pattern,增加[%X{PtxId:-0}]

<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line]-[%X{PtxId:-0}] - %msg%n" />

3.效果
在这里插入图片描述
在这里插入图片描述

3.部署问题

3.1 多个相同名称的项目放在一个pinpoint下监控

解决方法:给相同项目指定不同的agentId和applicationName,如:

 <jvmFlag>-javaagent:/pinpoint-agent/pinpoint-bootstrap-2.4.1.jar</jvmFlag><jvmFlag>-Dpinpoint.agentId=${spring.profiles.active}-${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.applicationName=${spring.profiles.active}-${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.profiler.profiles.active=${spring.profiles.active}</jvmFlag>

3.2 agent id 过长问题(最大长度不能超过24个字符)

pinpoint invalid Id. SystemProperties(-D) applicationName can only contain [a-zA-Z0-9], '.', '-', '_'. maxLength:24

3.2 k8s 多个副本pod ,agentId重复

解决方法:去掉pinpoint.agentId的配置,让agent自动生成agentId

4.参考

1.k8s之炉火纯青之pinpoint链路追踪
2.Pinpoint作为链路追踪和报警(监控spring boot服务)基于docker 搭建
3.Pinpoint对k8s关键业务模块进行全链路监控(17)


http://chatgpt.dhexx.cn/article/kutwDCG2.shtml

相关文章

利用Pinpoint搭建全链路监控系统

随着项目微服务的进行&#xff0c;微服务数量逐渐增加&#xff0c;服务间的调用也越来越复杂&#xff0c;我们急切需要一个APM工具帮我们监控各个服务的性能及对服务间的调用进行跟踪&#xff0c;而通过调研多个开源APM工具后&#xff0c;最终我们选择了Pinpoint。 简介 Pinp…

pinpoint安装部署(相关博客合集)

pinpoint安装部署 说明一、PinPoint介绍及工作原理1.1 确定部署的组件及服务 二、相关组件版本兼容情况2.1 确定版本 三、部署3.1 HBASE3.2 agent 说明 本博客写在搭建PinPoint之前&#xff0c;主要是用来记录查阅的相关博客资料&#xff0c;等到动手搭建完再更新实际部署操作…

分布式跟踪工具Pinpoint技术入门

本文初衷 因为工作需要&#xff0c;这周研究了一下APM&#xff08;Application Performance Management&#xff09;相关技术&#xff0c;看了些许资料&#xff0c;对比了各种技术的特点&#xff0c;最终选择Pinpoint作为性能监控工具&#xff0c;本文的主要目的是记录本人部署…

【Pinpoint】安装

文章目录 一. 下载1. 版本&#xff08;2.3.3&#xff09;2. [下载地址](https://github.com/pinpoint-apm/pinpoint/releases/tag/v2.3.3)3. 下载内容4. [hbase](http://archive.apache.org/dist/hbase/1.2.6/) 二. 安装1. 安装JDK82. 安装hbase1.2.61. 解压文件2. 修改sh文件3…

2、Pinpoint-Server端安装

0、本章节简介 安装Pinpoint服务端 采用Docker安装所以需要提前安装 docker和 docker-compose 本文使用的版本是Pinpoint:2.1版本 ps 由于Pinpoint依赖了很多的基础镜像&#xff0c;所以推荐不要在已经部署了程序的机器上部署&#xff0c;以免造成端口号冲突&#xff0c;推荐使…

pinpoint 介绍

基本概念 APM (Application Performance Management/应用性能管理)工具 为大规模分布式系统. 开发语言:Java. 特点: ● 低侵入性 不用改一行业务代码 ● 低性能影响(大约3%资源增长) ServerMap 可以直观的看到分布式系统拓扑结构和节点的事务数量. Realtime Active Thr…

Pinpoint--基础--02--架构设计

Pinpoint–基础–02–架构设计 1、整体架构 1.1、Pinpoint Collector 数据收集模块&#xff0c;接收Agent发送过来的监控数据&#xff0c;并存储到HBase部署在 Web 容器上 1.2、Pinpoint Web 监控展示模块&#xff0c;展示系统调用关系、调用详情、应用状态等&#xff0c;并…

PinPoint(二)技术详解

英文原文&#xff1a;https://naver.github.io/pinpoint/1.8.4/techdetail.html 说明&#xff1a;【】中内容为方便解释自己加的 在这篇文章中&#xff0c;我们描述了Pinpoint的技术细节比如请求追踪&#xff08;transaction tracing&#xff09;和字节码插装&#xff08;byte…

pinpoint搭建及springboot接入使用

效果图&#xff1a; 搭建步骤 Pinpoint github地址&#xff1a;GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed systems. 下载对应的包以及安装hbase 首先安装hbase hbase版本是1.7.1&#xff0c; 下载地址…

APM链路监控:PinPoint使用手册

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

Pinpoint--基础--3.1--安装部署--环境准备

Pinpoint–基础–3.1–安装部署–环境准备 前提 使用hd用户登陆 完成基础环境搭建https://blog.csdn.net/zhou920786312/article/details/118212302代码位置 https://gitee.com/DanShenGuiZu/learnDemo/tree/master/pinpoint-learn/demo11、安装环境准备 1.1、jdk1.8 基础环…

Pinpoint分布式系统性能监控工具

Pinpoint分布式性能监控工具(docker安装) 在做性能压测的时候&#xff0c;你是不是有只能看到测试报告&#xff1f; 在做性能压测的时候&#xff0c;你是不是想知道每一个方法执行了多长时间&#xff1f; Pinpoint几乎可以帮助你查看你想看到的每一个细节。 Pinpoint是什么&…

PinPoint使用教程

这篇博客&#xff0c;应该是是目前为止&#xff0c;百度上能搜到的关于PinPoint使用教程中最详细的一份答案了。为什么这样说呢&#xff0c;因为我不想写PinPoint使用教程的&#xff0c;后来百度上搜了好久&#xff0c;搜烦了&#xff0c;一怒之下&#xff0c;自己出了一片最详…

Pinpoint详解(分布式链路追踪、链路监控)

英文原文&#xff1a;https://naver.github.io/pinpoint/1.8.4/techdetail.html 说明&#xff1a;【】中内容为方便解释自己加的 在这篇文章中&#xff0c;我们描述了Pinpoint的技术细节比如请求追踪&#xff08;transaction tracing&#xff09;和字节码插装&#xff08;byte…

Pinpoint(一)基本概念和安装部署

Pinpoint是韩国人编写的 APM 系统&#xff0c;是一个分析大规模分布式系统的平台&#xff0c;并提供处理大量跟踪数据的解决方案。 1. 特点 分布式事务追踪&#xff0c;跟踪跨分布式应用的消息自动检测应用拓展水平扩展&#xff0c;以便支持大规模服务器集群提供代码级了践行…

全链路监控之pinpoint

一、pinpoint出现与其他相似概念比较 &#xff08;1&#xff09;、pinpoint概念 pinpoint是由java/PHP编写而成的&#xff0c;用来对大规模的分布式系统提供应用性能管理。pinpoint可以解决复杂架构下的拓扑解析与性能分析。 &#xff08;2&#xff09;、pinpoint的特点 分布…

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

文章目录 一、pinpoint介绍1.pinpoint简介2.架构组成 二、安装环境准备三、HBase单机安装四、pinpoint安装1.安装pinpoint-collector2.安装pinpoint-web3.安装pinpoint-agent 五、pinpoint优化1.collector日志输出级别优化2.Hbase GC优化&#xff08;jdk1.8&#xff09; 结尾 一…

pinpoint使用详解(图文版)

pinpoint使用详解 用了一段时间的pinpoint发现确实挺好用的&#xff0c;就是功能超级多&#xff0c;大概整理了一下各功能的使用用法 1.首页 2.查看应用详细信息 2.1点击查看单个信息 2.2查看应用更详细信息 3.查看详细数据 错误的信息会用红色显示&#xff0c;可以查看错误…

synology 群晖 syslog

群晖真是太强大了&#xff0c;居然还有syslog功能。而且配置非常简单。在日志中心-》接收日志中就可以非常容易的配置。 以后在不方便调试的场合&#xff0c;就可以直接把调试信息发送到我的群晖服务器&#xff0c;打开看看就知道问题所在了 syslog

linux syslog原理,Linux日志管理之詳解 syslog/vsyslog

1、syslog簡介 syslog 是一種工業標准的協議,可用來記錄設備的日志。在UNIX系統,路由器、交換機等網絡設備中,系統日志(System Log)記錄系統中任何時間發生的大小事件。管理者可以通過查看系統記錄,隨時掌握系統狀況。UNIX的系統日志是通過syslogd這個進程記錄系統有關事件…