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

article/2025/8/23 16:16:08

Pinpoint–基础–02–架构设计


1、整体架构

在这里插入图片描述

1.1、Pinpoint Collector

  1. 数据收集模块,接收Agent发送过来的监控数据,并存储到HBase
  2. 部署在 Web 容器上

1.2、Pinpoint Web

  1. 监控展示模块,展示系统调用关系、调用详情、应用状态等,并支持报警等功能
  2. 部署在 Web 容器上

1.3、Pinpoint Agent

  1. 用于收集 Java应用端 的监控数据,无侵入式,只需要在启动命令中加入部分参数即可
  2. 附加到 Java应用端

1.4、HBase Storage

  1. 数据库,用于保存监控数据
  2. 采用HBase进行存储

2、流程

  1. 首先 通过 agent 收集调用 应用的数据
  2. 其次 将数据 发送到 collector,collector 处理和分析数据
  3. 最后 将数据 存储到 HBase 中,可以通过 Pinpoint Web UI 查看已经分析好的调用分析数据。

3、数据结构

3.1、Span

  1. RPC(远程过程调用)追踪的基本单元
  2. 代表了远程调用到达时处理的工作并且包含了追踪数据【直白点说,你可以把一个应用当作一个Span】,为了确保代码级别的可见性,Span有子节点,用SpanEvent【这个就相当于一次方法调用,故一个Span可能大部分都会有多个SpanEvent】表示,每个Span都包含一个TraceId,每个Span有一个SpanId和ParentSpanId,如果这个Span为请求的最原始的发起者,ParentSpanId为-1。

3.2、Trace

  1. Span的集合,由关联的RPC调用组成【这个也就是说在分布式系统中,每个应用代表一个Span,不同应用的一次全链路的请求表示一个Trace,即一个Trace会包含多个Span】
  2. 在同一个链路中的Spans共享同一个TransactionId
  3. Trace通过SpanIds和ParentSpanIds排序成分层树结构

3.3、TraceId

  1. 一系列key的集合,这些key包括

    1. TransactionId
    2. SpanId
    3. ParentSpanId
  2. TransactionId

    1. 代表消息id,来自单个事务的分布式系统发送、接收的消息id
    2. 这个id在一次追踪过程中唯一
  3. SpanId和ParentSpanId代表远程调用的父子关系

3.4、TransactionId(TxId)

一次事务(请求)中分布式系统发送/接收的消息id,在整个请求关联的所有应用服务中必须唯一

3.5、SpanId

处理接收RPC消息的应用id,在RPC消息到达某个节点时生成

3.6、ParentSpanId(pSpanId)

发起RPC调用的父span的 SpandId,如果某个节点是整个事务请求的发起者,那么它没有父span,对于这种情况,我们使用 -1表示这是整个事务请求的根span


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

相关文章

PinPoint(二)技术详解

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

pinpoint搭建及springboot接入使用

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

APM链路监控:PinPoint使用手册

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

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安装) 在做性能压测的时候,你是不是有只能看到测试报告? 在做性能压测的时候,你是不是想知道每一个方法执行了多长时间? Pinpoint几乎可以帮助你查看你想看到的每一个细节。 Pinpoint是什么&…

PinPoint使用教程

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

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

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

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

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

全链路监控之pinpoint

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

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

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

pinpoint使用详解(图文版)

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

synology 群晖 syslog

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

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

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

syslog RFC5424协议详解

官方说明 一个很不错的rfc文档下载网址。 Document Retrieval RFC Editor RFC 5424: The Syslog Protocol 6. Syslog Message FormatThe syslog message has the following ABNF [RFC5234] definition:SYSLOG-MSG HEADER SP STRUCTURED-DATA [SP MSG]HEADER …

kiwi syslog mysql_KIWI Syslog配置

默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令netstat –ano查看服务器监听状态,如果服务没起来,则重新启动服务Kiwi Syslog Daemon 任务:把当天的日志保存在G:\event,历史日志保存在G:\eventold,自动删除1一个月前的日志记录 第一步:新建规…

oracle 发syslog,Syslog转发管理

Syslog转发管理 网络设备会生成各种事件,这些事件在本地记录,管理员可以在其中查看和分析事件。但是,如果您的网络托管大量设备,则从这些设备中的每一个收集事件日志将既耗时又不切实际。 Syslog或系统日志记录协议是一种标准协议,可通过将系统日志或事件消息发送到中央sy…

syslog watcher syslog4j

1.下载syslog watcher SyslogWatcherSetup-5.2.3.msihttps://www.aliyundrive.com/s/8C6Cw7RuyUV2.设置编码 3.java&#xff1a; <dependency><groupId>org.syslog4j</groupId><artifactId>syslog4j</artifactId><version>0.9.46</ve…

python syslog

最近在写一些命令行守护程序&#xff0c;类似于 Linux 下的一些常运行的程序&#xff0c;除了用到一些常见的IO 以及进程间通信的内容之外&#xff0c;还尝试了一下 Unix 系列的 syslog&#xff0c;在尝试过程中&#xff0c;发现 Python 已经在 logging 模块中很方便得集成了 s…

linux syslog

linux syslog 1. syslog 定义1.1 RFC3195 2. syslog 组成3. syslog配置3.1 3CD 配置syslog 日志服务器 4. syslog api4.1. c api 代码示例&#xff1a;4.2 syslog 例子2&#xff1a; 1. syslog 定义 在Unix类操作系统上&#xff0c;syslog广泛应用于系统日志。syslog日志消息既…

Syslog 教程:工作原理、示例、最佳实践等

Syslog 是用于从各种网络设备以特定格式发送和接收通知消息的标准。这些消息包括时间戳、事件消息、严重性、主机 IP 地址、诊断等。就其内置的严重性级别而言&#xff0c;它可以传达 0 级、紧急、5 级、警告、系统不稳定、严重和 6 级和 7 级&#xff08;信息和调试&#xff0…