1. Pinpoint简介与版本说明
Pinpoint是NAVER开源的APM(应用性能监控)工具,专为大规模分布式系统设计。Pinpoint提供代码级别的可见性,帮助开发者分析系统架构和定位性能问题。更多学习教程www.fgedu.net.cn
Pinpoint最新版本:
Pinpoint 3.0.2(2026年3月发布)- 最新稳定版
Pinpoint 2.5.4(2026年2月发布)- 稳定版
Pinpoint 2.4.5(2026年1月发布)- 稳定版
Pinpoint 2.3.3(2025年12月发布)- LTS长期支持版
Pinpoint核心组件:
Pinpoint Collector:数据收集器,接收Agent发送的数据
Pinpoint Web:Web可视化界面
Pinpoint Agent:Java应用探针
HBase:数据存储后端
2. Pinpoint下载地址
Pinpoint支持多种部署方式,可以从官方发布页面获取。学习交流加群风哥微信: itpux-com
官方下载地址:
Pinpoint官方网站:https://pinpoint-apm.github.io/pinpoint/
Pinpoint GitHub发布页面:https://github.com/pinpoint-apm/pinpoint/releases
Pinpoint Docker镜像:https://hub.docker.com/u/pinpointdocker
$ curl -s “https://api.github.com/repos/pinpoint-apm/pinpoint/releases/latest” | grep -E ‘”tag_name”|”name”|”published_at”‘
输出示例如下:
“tag_name”: “v3.0.2”,
“name”: “Pinpoint 3.0.2”,
“published_at”: “2026-03-15T10:00:00Z”,
# 查看所有可用版本
$ curl -s “https://api.github.com/repos/pinpoint-apm/pinpoint/releases” | grep ‘”tag_name”‘ | head -10
输出示例如下:
“tag_name”: “v3.0.2”,
“tag_name”: “v2.5.4”,
“tag_name”: “v2.4.5”,
“tag_name”: “v2.3.3”,
各组件下载链接:
Pinpoint Collector:https://github.com/pinpoint-apm/pinpoint/releases/download/v3.0.2/pinpoint-collector-boot-3.0.2.jar
Pinpoint Web:https://github.com/pinpoint-apm/pinpoint/releases/download/v3.0.2/pinpoint-web-boot-3.0.2.jar
Pinpoint Agent:https://github.com/pinpoint-apm/pinpoint/releases/download/v3.0.2/pinpoint-agent-3.0.2.tar.gz
3. Pinpoint Collector安装部署
Pinpoint Collector负责接收Agent发送的监控数据,并存储到HBase。风哥提示:生产环境建议部署多个Collector实例实现负载均衡。
步骤1:安装HBase
# cd /fgedudb
# wget https://archive.apache.org/dist/hbase/2.5.5/hbase-2.5.5-bin.tar.gz
输出示例如下:
–2026-04-04 10:00:00– https://archive.apache.org/dist/hbase/2.5.5/hbase-2.5.5-bin.tar.gz
Resolving archive.apache.org… 163.172.17.199
Connecting to archive.apache.org|163.172.17.199|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 250000000 (238M) [application/x-gzip]
Saving to: ‘hbase-2.5.5-bin.tar.gz’
# 解压文件
# tar -xzf hbase-2.5.5-bin.tar.gz
# mv hbase-2.5.5 hbase
# 配置HBase
# vi /fgedudb/hbase/conf/hbase-site.xml
# 启动HBase
# /fgedudb/hbase/bin/start-hbase.sh
输出示例如下:
running master, logging to /fgedudb/hbase/logs/hbase-root-master-fgedu.out
# 验证HBase状态
# /fgedudb/hbase/bin/hbase shell
hbase(main):001:0> status
输出示例如下:
1 active master, 0 backup masters, 1 servers, 0 dead
步骤2:初始化HBase表
# cd /fgedudb
# wget https://raw.githubusercontent.com/pinpoint-apm/pinpoint/master/hbase/scripts/hbase-create.hbase
# 执行初始化脚本
# /fgedudb/hbase/bin/hbase shell hbase-create.hbase
输出示例如下:
HBase Shell
Use “help” to get list of supported commands.
Use “exit” to quit this interactive shell.
Version 2.5.5, rUnknown, Mon Mar 15 10:00:00 PST 2026
Created table AgentInfo
Created table AgentStatV2
Created table ApplicationStatAggre
Created table ApplicationIndex
Created table HostApplicationMap_Ver2
Created table TracesV2
Created table ApiMetaData
Created table SqlMetaData_Ver2
Created table StringMetaData
Created table TraceV2
# 验证表创建
# /fgedudb/hbase/bin/hbase shell
hbase(main):001:0> list
输出示例如下:
TABLE
AgentInfo
AgentStatV2
ApplicationIndex
ApplicationStatAggre
HostApplicationMap_Ver2
TracesV2
ApiMetaData
SqlMetaData_Ver2
StringMetaData
TraceV2
10 row(s)
步骤3:启动Pinpoint Collector
# mkdir -p /fgedudb/pinpoint/{collector,web,agent}
# 下载Collector
# cd /fgedudb/pinpoint/collector
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v3.0.2/pinpoint-collector-boot-3.0.2.jar
# 创建配置文件
# cat > /fgedudb/pinpoint/collector/application.yml << 'EOF'
server:
port: 8080
pinpoint:
collector:
span:
port: 9996
stat:
port: 9995
tcp:
port: 9994
hbase:
client:
host: 192.168.1.51
port: 2181
EOF
# 启动Collector
# java -jar -Dspring.config.location=/fgedudb/pinpoint/collector/application.yml pinpoint-collector-boot-3.0.2.jar &
输出示例如下:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.0)
Started PinpointCollector in 15.234 seconds
Pinpoint Collector started successfully on port(s): 8080
# 验证Collector状态
# curl http://localhost:8080/health
输出示例如下:
{"status":"UP"}
4. Pinpoint Web安装配置
Pinpoint Web提供可视化界面,用于查看应用拓扑和链路追踪。学习交流加群风哥QQ113257174
步骤1:下载并启动Pinpoint Web
# cd /fgedudb/pinpoint/web
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v3.0.2/pinpoint-web-boot-3.0.2.jar
# 创建配置文件
# cat > /fgedudb/pinpoint/web/application.yml << 'EOF'
server:
port: 8080
pinpoint:
web:
hbase:
client:
host: 192.168.1.51
port: 2181
admin:
password: admin
EOF
# 启动Web
# java -jar -Dspring.config.location=/fgedudb/pinpoint/web/application.yml pinpoint-web-boot-3.0.2.jar &
输出示例如下:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.0)
Started PinpointWeb in 20.345 seconds
Pinpoint Web started successfully on port(s): 8080
# 访问Web界面
# http://192.168.1.51:8080
步骤2:创建Systemd服务
# cat > /etc/systemd/system/pinpoint-collector.service << 'EOF' [Unit] Description=Pinpoint Collector After=network.target [Service] Type=simple User=root WorkingDirectory=/fgedudb/pinpoint/collector ExecStart=/usr/bin/java -jar -Dspring.config.location=/fgedudb/pinpoint/collector/application.yml pinpoint-collector-boot-3.0.2.jar Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target EOF # 创建Web服务文件 # cat > /etc/systemd/system/pinpoint-web.service << 'EOF' [Unit] Description=Pinpoint Web After=network.target [Service] Type=simple User=root WorkingDirectory=/fgedudb/pinpoint/web ExecStart=/usr/bin/java -jar -Dspring.config.location=/fgedudb/pinpoint/web/application.yml pinpoint-web-boot-3.0.2.jar Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target EOF # 启动服务 # systemctl daemon-reload # systemctl start pinpoint-collector pinpoint-web # systemctl enable pinpoint-collector pinpoint-web 输出示例如下: Created symlink /etc/systemd/system/multi-user.target.wants/pinpoint-collector.service → /etc/systemd/system/pinpoint-collector.service. Created symlink /etc/systemd/system/multi-user.target.wants/pinpoint-web.service → /etc/systemd/system/pinpoint-web.service.
5. Pinpoint Agent配置实战
Pinpoint Agent是Java应用探针,负责采集监控数据。更多学习教程公众号风哥教程itpux_com
步骤1:下载并配置Agent
# cd /fgedudb/pinpoint
# wget https://github.com/pinpoint-apm/pinpoint/releases/download/v3.0.2/pinpoint-agent-3.0.2.tar.gz
# 解压文件
# tar -xzf pinpoint-agent-3.0.2.tar.gz
# mv pinpoint-agent-3.0.2 agent
# 编辑Agent配置
# vi /fgedudb/pinpoint/agent/pinpoint-root.config
# 配置Collector地址
profiler.collector.ip=192.168.1.51
profiler.collector.span.port=9996
profiler.collector.stat.port=9995
profiler.collector.tcp.port=9994
# 配置应用名称
profiler.application.name=fgedu-app
profiler.application.service_type=SPRING_BOOT
# 配置采样率
profiler.sampling.rate=1
profiler.sampling.new.throughput=1
profiler.sampling.continue.throughput=1
# 查看Agent目录
# ls -la /fgedudb/pinpoint/agent/
输出示例如下:
total 16
drwxr-xr-x 3 root root 85 Apr 4 10:00 .
drwxr-xr-x 3 root root 26 Apr 4 10:00 ..
drwxr-xr-x 2 root root 4096 Apr 4 10:00 lib
-rw-r–r– 1 root root 1523 Apr 4 10:00 pinpoint-bootstrap-3.0.2.jar
-rw-r–r– 1 root root 1523 Apr 4 10:00 pinpoint-root.config
步骤2:应用接入Agent
$ java -javaagent:/fgedudb/pinpoint/agent/pinpoint-bootstrap-3.0.2.jar \
-Dpinpoint.agentId=fgedu-app-01 \
-Dpinpoint.applicationName=fgedu-app \
-Dpinpoint.config=/fgedudb/pinpoint/agent/pinpoint-root.config \
-jar fgedu-app.jar
输出示例如下:
[PinpointAgent] INFO Agent started with application name: fgedu-app
[PinpointAgent] INFO Agent ID: fgedu-app-01
[PinpointAgent] INFO Connecting to collector: 192.168.1.51:9994
[PinpointAgent] INFO Agent successfully connected to collector
# 方式2:Tomcat应用接入
# vi /fgedudb/tomcat/bin/catalina.sh
CATALINA_OPTS=”$CATALINA_OPTS -javaagent:/fgedudb/pinpoint/agent/pinpoint-bootstrap-3.0.2.jar”
CATALINA_OPTS=”$CATALINA_OPTS -Dpinpoint.agentId=fgedu-web-01″
CATALINA_OPTS=”$CATALINA_OPTS -Dpinpoint.applicationName=fgedu-web”
CATALINA_OPTS=”$CATALINA_OPTS -Dpinpoint.config=/fgedudb/pinpoint/agent/pinpoint-root.config”
export CATALINA_OPTS
# 方式3:Spring Boot应用接入
$ java -javaagent:/fgedudb/pinpoint/agent/pinpoint-bootstrap-3.0.2.jar \
-Dpinpoint.agentId=${HOSTNAME} \
-Dpinpoint.applicationName=fgedu-api \
-jar fgedu-api.jar
6. Pinpoint生产环境配置
生产环境需要对Pinpoint进行优化配置,确保稳定性和性能。from:www.itpux.com
步骤1:配置HBase集群
# vi /fgedudb/hbase/conf/hbase-site.xml
# 配置RegionServer
# vi /fgedudb/hbase/conf/regionservers
192.168.1.51
192.168.1.52
192.168.1.53
步骤2:配置Collector集群
# 节点1配置
# vi /fgedudb/pinpoint/collector/application.yml
pinpoint:
collector:
span:
port: 9996
stat:
port: 9995
tcp:
port: 9994
cluster:
enable: true
zookeeper:
address: 192.168.1.51,192.168.1.52,192.168.1.53
port: 2181
sessionTimeout: 30000
# 节点2配置(修改端口)
pinpoint:
collector:
span:
port: 19996
stat:
port: 19995
tcp:
port: 19994
# 配置Agent连接Collector集群
# vi /fgedudb/pinpoint/agent/pinpoint-root.config
profiler.collector.cluster.enable=true
profiler.collector.cluster.zookeeper.address=192.168.1.51,192.168.1.52,192.168.1.53
profiler.collector.cluster.zookeeper.sessiontimeout=30000
步骤3:配置告警
# vi /fgedudb/pinpoint/web/application.yml
pinpoint:
web:
alarm:
enable: true
mail:
host: smtp.fgedu.net.cn
port: 587
username: alert@fgedu.net.cn
password: Alert@2026
from: alert@fgedu.net.cn
webhook:
enable: true
url: http://192.168.1.51:8080/alarm/webhook
# 配置告警规则
# vi /fgedudb/pinpoint/web/batch-hbase.properties
alarm.sms.enable=true
alarm.email.enable=true
alarm.webhook.enable=true
# 重启服务
# systemctl restart pinpoint-collector pinpoint-web
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
