首页
/ Pinpoint APM 快速入门指南:从零开始搭建分布式追踪系统

Pinpoint APM 快速入门指南:从零开始搭建分布式追踪系统

2025-07-06 02:47:22作者:柯茵沙

什么是Pinpoint APM

Pinpoint是一款开源的分布式应用性能管理(APM)系统,主要用于大规模分布式系统的性能监控和故障诊断。它通过分布式追踪技术,可以帮助开发人员快速定位微服务架构中的性能瓶颈和故障点。

环境准备

在开始之前,请确保您的系统满足以下基本要求:

  • JDK 8或更高版本
  • 至少4GB可用内存
  • 足够的磁盘空间用于存储监控数据

快速部署方案

使用Docker快速部署(推荐)

对于想要快速体验Pinpoint的用户,我们推荐使用Docker方式进行部署。这种方式简单快捷,大约10分钟即可完成整个环境的搭建。

  1. 首先确保您的系统已安装Docker和Docker Compose
  2. 获取Pinpoint的Docker镜像
  3. 使用提供的docker-compose配置文件启动所有组件

这种方式会自动部署Pinpoint Collector、Web界面以及HBase数据库,无需手动配置各组件。

手动安装步骤

对于生产环境或需要定制化部署的用户,可以选择手动安装方式。

1. HBase数据库安装

Pinpoint使用HBase作为数据存储后端,首先需要安装并配置HBase:

# 解压HBase安装包
$ tar xzvf hbase-x.x.x-bin.tar.gz
$ cd hbase-x.x.x/

# 启动HBase服务
$ ./bin/start-hbase.sh

# 初始化Pinpoint所需的HBase表结构
$ ./bin/hbase shell hbase-create.hbase

2. Pinpoint Collector部署

Collector是Pinpoint的核心组件,负责接收并处理来自各应用Agent的监控数据:

$ java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-collector-boot-2.3.1.jar

3. Pinpoint Web界面部署

Web界面提供了直观的数据可视化功能:

$ java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-web-boot-2.3.1.jar

应用集成指南

使用预编译Agent(推荐)

对于大多数用户,我们建议直接使用官方发布的预编译Agent:

# 解压Agent包
$ tar xvzf pinpoint-agent-2.3.1.tar.gz

# 启动应用并附加Agent
$ java -jar -javaagent:pinpoint-agent-2.3.1/pinpoint-bootstrap.jar \
  -Dpinpoint.agentId=test-agent \
  -Dpinpoint.applicationName=TESTAPP \
  pinpoint-quickstart-testapp-2.3.1.jar

从源码构建

如需自定义Agent功能,可以从源码构建:

# 构建整个Pinpoint项目
$ ./mvnw install -DskipTests=true

# 构建测试应用
$ cd quickstart/testapp
$ ./mvnw clean package

# 使用构建的Agent启动测试应用
$ cd ../../
$ java -jar -javaagent:agent/target/pinpoint-agent-2.3.1/pinpoint-bootstrap.jar \
  -Dpinpoint.agentId=test-agent \
  -Dpinpoint.applicationName=TESTAPP \
  quickstart/testapp/target/pinpoint-quickstart-testapp-2.3.1.jar

验证部署

成功启动后,您将看到类似以下的Spring Boot启动日志:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.2.RELEASE)

应用默认会在8082端口启动Web服务。打开浏览器访问http://localhost:8082,您应该能看到测试应用的界面。

常见问题解答

  1. 端口冲突问题:如果8082端口已被占用,可以在启动应用时通过--server.port参数指定其他端口。

  2. Agent连接问题:确保Collector服务已正确启动,并且Agent配置中的Collector地址与实际一致。

  3. HBase性能问题:对于生产环境,建议对HBase进行性能调优,特别是内存和RegionServer配置。

进阶配置

成功运行基础环境后,您可以进一步探索Pinpoint的高级功能:

  • 多应用监控:为不同应用设置不同的applicationName
  • 分布式追踪:在微服务架构中部署多个Agent
  • 告警配置:设置性能指标阈值和告警规则
  • 自定义插件开发:扩展Pinpoint的监控能力

通过本指南,您应该已经成功搭建了一个基础的Pinpoint监控环境。接下来可以开始探索Pinpoint提供的丰富监控功能,逐步将其应用到您的生产环境中。