pinpoint链路跟踪运用及日志logback配置

本文将讲述pinpoint的安装,使用及与java logback 日志的集成。

介绍

是什么

  • 是一款 APM监控工具(Application Performance Management/应用性能管理)
  • 基于java编写
  • 用于 大规模分布式系统 的监控,是 分析 大规模分布式系统 的平台
  • 基于google Dapper开发,目标就是为n(n>=1)层架构开发新的跟踪平台,为n层架构的系统 提供 处理大量跟踪数据 的 解决方案
  • 能够对 基于java的 大规模分布式系统和应用 做调用链的跟踪
  • 提供了一个web页面 展示 分布式系统的拓扑图 以及 系统这各个组件之间关系

特点

  • 分布式事务追踪,跟踪跨分布式应用的消息
  • 自动检测应用拓扑,帮助你搞清楚应用的架构
  • 水平扩展,以便支持大规模服务器集群
  • 提供代码级别的可见性,以便轻松定位失败点和瓶颈
  • 提供字节码增强技术,添加新功能无需修改代码
  • 安装探针不需要修改哪怕一行代码及trace server端部署简单,支持hdfs存储
  • 具有简单的阀值触发报警功能
  • 移植性比较强的,会比较讨人喜欢(相比cat)
  • 自定义插件功能(参考https://github.com/naver/pinpoint/wiki/Pinpoint-Plugin-Developer-Guide)

具体请参考:

Pinpoint–基础–01–介绍
网友专栏: https://blog.csdn.net/zhou920786312/category_12110038.html

环境搭建

这里推荐一篇网友的安装步骤,照着步骤基本没什么问题。
性能测试利器 — 全链路监控工具Pinpoint安装教程

其中这个hbase的初始化脚本特别说明下:
https://github.com/pinpoint-apm/pinpoint/tree/v2.3.3/hbase/scripts 在这个目录里面下载。

这里提供一个百度网盘的下载地址(包含了所有的安装包及文件):
链接:https://pan.baidu.com/s/19wdQ0rdlA4jcC1GujNKRMg?pwd=c4ko
提取码:c4ko

在这里插入图片描述

iccboy@DESKTOP-JAG3NND:~/pinpoint$ ll
total 331652
drwxr-xr-x 5 iccboy iccboy      4096 Nov 26 23:38 ./
drwxr-xr-x 6 iccboy iccboy      4096 Nov 27 22:58 ../
-rwxr--r-- 1 iccboy iccboy       170 Nov 26 23:32 collector.sh*
drwxr-xr-x 8 iccboy iccboy      4096 Nov 26 23:14 hbase-1.2.6/
-rwxr-xr-x 1 iccboy iccboy 104659474 Nov 26 22:59 hbase-1.2.6-bin.tar.gz*
-rw-r--r-- 1 iccboy iccboy     15763 Nov 26 23:28 hbase-create.hbase
drwxr-xr-x 2 iccboy iccboy      4096 Nov 27 00:01 logs/
drwxr-xr-x 9 iccboy iccboy      4096 Nov 27 22:37 pinpoint-agent-2.3.3/
-rwxr-xr-x 1 iccboy iccboy  28031866 Nov 26 23:00 pinpoint-agent-2.3.3.tar.gz*
-rw-r--r-- 1 iccboy iccboy  91303343 Nov 26 23:23 pinpoint-collector-boot-2.3.3.jar
-rw-r--r-- 1 iccboy iccboy 115567241 Nov 26 23:23 pinpoint-web-boot-2.3.3.jar
-rwxr--r-- 1 iccboy iccboy       158 Nov 26 23:35 pinpoint-web.sh*
iccboy@DESKTOP-JAG3NND:~/pinpoint$ jps
11585 HMaster
18053 Jps
13609 pinpoint-web-boot-2.3.3.jar
14093 pinpoint-collector-boot-2.3.3.jar
iccboy@DESKTOP-JAG3NND:~/pinpoint$ netstat -ntlp
(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      27462/./wslconnect
tcp6       0      0 127.0.1.1:42881         :::*                    LISTEN      11585/java
tcp6       0      0 127.0.1.1:37571         :::*                    LISTEN      11585/java
tcp6       0      0 :::46533                :::*                    LISTEN      11585/java
tcp6       0      0 :::2181                 :::*                    LISTEN      11585/java
tcp6       0      0 :::9991                 :::*                    LISTEN      14093/java
tcp6       0      0 :::9992                 :::*                    LISTEN      14093/java
tcp6       0      0 :::9993                 :::*                    LISTEN      14093/java
tcp6       0      0 :::9994                 :::*                    LISTEN      14093/java
tcp6       0      0 :::16010                :::*                    LISTEN      11585/java
tcp6       0      0 127.0.1.1:9997          :::*                    LISTEN      13609/java
tcp6       0      0 :::8080                 :::*                    LISTEN      13609/java
tcp6       0      0 :::8081                 :::*                    LISTEN      14093/java

pinpoint与logback日志MDC集成

  1. 修改代理模块的 pinpoint-agent-2.3.3/profiles/release/pinpoint.conf 配置

将profiler.logback.logging.transactioninfo 改为true,大概在1002行

###########################################################
# logback (guide url : https://github.com/naver/pinpoint/blob/master/doc/per-request_feature_guide.md)
###########################################################
profiler.logback.logging.transactioninfo=true
  1. 在项目的logback.xml中增加 [%X{PtxId}] 变量,则是pinpoint的traceId。
    如:
<property name="PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{PtxId}] [%level] %logger{36}-%L %.-2048msg%n"/>
  1. 启动项目
    记得带上参数
-javaagent:D:\sdk\pinpoint\pinpoint-agent-2.3.3\pinpoint-bootstrap-2.3.3.jar -Dpinpoint.agentId=iccboy-member -Dpinpoint.applicationName=iccboy-member

日志打印如下:

2023-11-27 23:56:35.482 [DubboServerHandler-10.10.125.42:20880-thread-10] [iccboy-member^1701100523841^2] [INFO] c.h.h.f.c.e.a.ExceptionLogInterceptor-176 [econfig-0]方法【queryCustomerList(客户列表查询)】调用开始,参数为:{"req":{"data":{"cusCertNo":"C9F4FYW4P","cusType":2,"pageIndex":1,"pageSize":10},"invokeId":"HHYLE377493204464ED3808AAB1C2FF03C29"}}
2023-11-27 23:56:35.597 [DubboServerHandler-10.10.125.42:20880-thread-10] [iccboy-member^1701100523841^2] [INFO] c.h.h.f.c.e.a.ExceptionLogInterceptor-214 [econfig-0]方法【queryCustomerList(客户列表查询)】调用正常,耗时:117ms,返回值为:{"invokeId":"HHYLE377493204464ED3808AAB1C2FF03C29","resultCode":"0000","resultMessage":"成功","data":{"list":[{"cusId":10179140,"cusName":"ADDTEST","cusType":2,"cusCertType":"2","cusCertNo":"C9F4FYW4P","cusSource":"hhyl-permission","cusOpenTime":"2023-11-24 11:38:50"}],"pagination":{"pageIndex":1,"pageSize":10,"totalRecord":1,"totalPage":1},"success":false}}
2023-11-27 23:57:00.540 [DubboServerHandler-10.10.125.42:20880-thread-11] [iccboy-member^1701100523841^3] [INFO] c.h.h.f.c.e.a.ExceptionLogInterceptor-176 [econfig-0]方法【queryCustomersRelation()】调用开始,参数为:{"req":{"data":{"cusIdFrom":"10171684","relationType":"01"},"invokeId":"HHYL120134CBDF904974B0D01855A6DBDEA2"}}
2023-11-27 23:57:00.597 [DubboServerHandler-10.10.125.42:20880-thread-11] [iccboy-member^1701100523841^3] [INFO] c.h.h.f.c.e.a.ExceptionLogInterceptor-214 [econfig-0]方法【queryCustomersRelation()】调用正常,耗时:57ms,返回值为:{"invokeId":"HHYL120134CBDF904974B0D01855A6DBDEA2","resultCode":"0000","resultMessage":"成功","data":[{"id":56068,"cusIdFrom":"10171684","cusIdTo":"10171686","relationType":"01"}]}
2023-11-27 23:57:00.606 [DubboServerHandler-10.10.125.42:20880-thread-12] [iccboy-member^1701100523841^4] [INFO] c.h.h.f.c.e.a.ExceptionLogInterceptor-176 [econfig-0]方法【queryRelationV2(用户客户关系查询接口2.0)】调用开始,参数为:{"req":{"data":{"cusIdList":["10171686"],"relation":"3"},"invokeId":"HHYLB3B6EC3D566B4FE2A0A0AA98F88F27F8"}}
2023-11-27 23:57:00.612 [DubboServerHandler-10.10.125.42:20880-thread-12] [iccboy-member^1701100523841^4] [INFO] c.h.h.m.b.s.impl.UserBizServiceImpl-976 用户客户关系查询2.0入参:QueryRelationV2Req(userId=null, cusIdList=[10171686], relation=3, userIdList=null)
2023-11-27 23:57:00.656 [DubboServerHandler-10.10.125.42:20880-thread-12] [iccboy-member^1701100523841^4] [INFO] c.h.h.f.c.e.a.ExceptionLogInterceptor-214 [econfig-0]方法【queryRelationV2(用户客户关系查询接口2.0)】调用正常,耗时:49ms,返回值为:{"invokeId":"HHYLB3B6EC3D566B4FE2A0A0AA98F88F27F8","resultCode":"0000","resultMessage":"成功","data":[{"userId":"40008483","cusId":"10171686","relation":"3","position":""}]}

上面的iccboy-member^1701100523841^2 就是pinpoint的TransactionId(TxId)

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Bitmap 模糊效果实现 (二)

文章目录 Android Bitmap 模糊效果实现 (二)使用 Vukan 模糊使用 RenderEffect 模糊使用 GLSL 模糊RS、Vukan、RenderEffect、GLSL 效率对比 Android Bitmap 模糊效果实现 (二) 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/134656140 最新更新地址 https:/…

2021年03月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共15题,每题2分,共30分) 第1题 运行如下图所示的程序后,以下描述正确的是? A:角色停留在(0,0)的位置,不会移动。 B:角色会在舞台上沿水平方向不停地左右往返移动,碰到边缘就反弹。 C:角色会向右沿水平方向…

【MVP矩阵】裁剪空间、NDC空间、屏幕空间

裁剪空间概述 裁剪空间是一个顶点乘以MVP矩阵之后所在的空间&#xff0c;Vertex Shader的输出就是在裁剪空间上&#xff08;划重点&#xff09; NDC空间概述 接上面&#xff0c;由GPU自己做透视除法将顶点转到NDC空间 两者的转换 透视除法将Clip Space顶点的4个分量都除以…

C语言SO EASY(ZZULIOJ1220: SO EASY)

题目描述 Superbin最近在研究初等数论&#xff0c;初等数论 是研究数的规律&#xff0c;特别是整数性质的数学分支。它是数论的一个最古老的分支。它以算术方法为主要研究方法&#xff0c;主要内容有整数的整除理论、同余理论、连分数理论和某些特殊不定方程。 是定义在正整数…

linux设置主机名

查看主机名&#xff1a;hostname 临时修改主机名&#xff1a;hostname 新主机名 [rootlocalhost ~]#hostname centos [rootlocalhost ~]#hostname centos 永久修改主机名&#xff1a; [rootlocalhost ~]#cat /etc/hostname localhost.localdomain

C#Backgroundworker与Thread的区别

前言 当谈到多线程编程时&#xff0c;C#中的BackgroundWorker和Thread是两个常见的选择。它们都可以用于实现并行处理和异步操作&#xff0c;但在某些方面有一些重要的区别。本文将详细解释BackgroundWorker和Thread之间的区别以及它们在不同场景中的使用。 目录 前言1. Backgr…

自动驾驶视觉感知技术

1、视觉感知 2、应用功能 3、视觉感知支持的功能 4、软硬件产品 5、DMS、手势识别、行为检测 6、DMS视觉检测 7、驾驶员离位检测 8、安全带检测 9、双手脱离方向盘检测 10、后排遗留物检测 11、360环视AVM倒车指引线MOD 12、盲区监测

上门预约互联网干洗店洗鞋店小程序开发

很多时候可能大家的衣服鞋子需要干洗&#xff0c;但又不想出门送去店里&#xff0c;大家就可以使用手机线上下单预约取货&#xff0c;会有专门的人上门来取衣服&#xff0c;让你能够轻松的进行洗护。 闪站侠洗衣洗鞋小程序&#xff0c;提供了足不出户就能预约人员上门去 衣送洗…

两部手机数据传输后备忘录不见了怎么回事

想必很多人都遇到过&#xff0c;当两部手机进行备忘录数据传输后&#xff0c;突然发现备忘录不见了&#xff0c;这让人不禁着急上火&#xff0c;我也曾经遇到过这种事情导致很多重要的内容都丢失了。 一般出现这种情况可能是因为&#xff0c;两部手机使用的是不同的云服务&…

中学课程辅导杂志中学课程辅导杂志社中学课程辅导编辑部2023年第10期目录

教育视点 核心素养导向下的初中化学大单元教学研究 陈玉霞; 3-5 核心素养下的英语大单元教学策略 马玲凤; 6-8 盲校初中语文课堂教学特点及教学策略 王瀚文;王彩云; 9-11 新课改背景下高中语文教学语言的运用探讨 王文静; 12-14《中学课程辅导》投稿&#xff1…

第二十章,多线程

创建线程 有两种方式&#xff0c;分别为继承Java.lang.Thread类与实现Java.lang.Runnable接口 继承Thread类 Thread常用的两个构造方法语法 public Thread&#xff08;&#xff09;&#xff1b; public Thread&#xff08;String threadName&#xff09;&#xff1b; 继承…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 5》(9)

《Linux操作系统原理分析之Linux 进程管理 5》&#xff08;9&#xff09; 4 Linux 进程管理4.5 Linux 信号4.5.1 信号的作用和种类1.信号机制2.信号种类 4.5.2 信号的处理4.5.3 信号处理函数1&#xff0e;数据结构2&#xff0e; 处理函数 signal3&#xff0e;程序例 4 Linux 进…

论文阅读:“Appearance Capture and Modeling of Human Teeth”

文章目录 AbstractIntroductionMethod OverviewTeeth Appearance ModelEnamelDentinGingiva and oral cavity Data AcquisitionImage captureGeometry capture ResultsReferences Abstract 如果要为电影&#xff0c;游戏或其他类型的项目创建在虚拟环境中显示的人类角色&#…

【RTP】4: 实例解析:一个SRTP的wireshark抓包:带padding、带扩展

抓取的是视频包。固定的pt是127从头部找到序号,快速找到这个包包大小因为是包括了SRTP的,所以318 个字节,实际RTP包是286个字节。SRTP 包 UDP总共 294个字节,payload部分286 RTP协议 RTP部分: B0 代表有padding、有扩展 从B0开始

Android 如何让路由器或者其他AP设备获取到主机名

问题原因: 连接到AP设备后,发现主机名在路由器或者其他AP设备都无法正常显示 抓取tcpdump log发现DHCP request option中没有携带host name(Option 12)字段 如下图所示 修改方法: 将config_dhcp_client_hostname配置true后,可以看到host name了 具体代码逻辑如下 pack…

Linux网络——数据链路层

目录 一.认识以太网 二.以太网帧格式 三.认识MAC地址 四.认识MTU 五.以太局域网的通信原理 六.其他重要协议 1.DNS协议 2.域名简介 3.ICMP协议 4.NAT技术 5.NAT技术的缺陷 6.NAT和代理服务器 一.认识以太网 "以太网" 不是一种具体的网络, 而是一种技术标…

浅谈基于EIoT能源物联网的工厂智能照明系统应用改造

【摘要】&#xff1a;随着物联网技术的发展&#xff0c;许多场所针对照明合理应用物联网照明系统&#xff0c;照明作为工厂的重要能耗之一&#xff0c;工厂的照明智能化控制&#xff0c;如何优化控制、提高能源的利用率&#xff0c;达到节约能源的目的。将互联网的技术应用到工…

Python字典合并

合并两个有部分key相同的字典&#xff0c;相同key保留两个字典中对应key的较大值。 (笔记模板由python脚本于2023年11月27日 18:12:15创建&#xff0c;本篇笔记适合熟悉Python字典的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Fr…

笔记十九*、选中高亮和嵌套路由使用

19.1 选中高亮 NavLink App.jsx import React from "react"; import {NavLink, useRoutes} from "react-router-dom"; import routes from "./routes/index.jsx"; import "./app.css"const App () > {const element useRoutes(…

SQL注入-HTTP头注入

目录 HTTP Header概述 HTTP Header注入 HTTP Header注入概述 HTTP Header注入实例 HTTP Header概述 HTTP工作原理 HTTP请求方法 HTTP报文类型 请求报文&#xff08;HTTP Request&#xff09;&#xff1a;由客户端发给服务器的消息&#xff0c;其组成包括请求行&#xff08;R…