开源APM工具pinpoint安装与使用

本文涉及的产品
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
简介: CentOS7 安装pinpoint(开源APM工具pinpoint安装与使用) 参考教程:http://naver.github.io/pinpoint/ Pinpoint是用Java编写的大型分布式系统的APM(应用程序性能管理)工具。

CentOS7 安装pinpoint(开源APM工具pinpoint安装与使用)

Pinpoint是用Java编写的大型分布式系统的APM(应用程序性能管理)工具。 受Dapper的启发,Pinpoint提供了一种解决方案,通过在分布式应用程序中跟踪事务来帮助分析系统的整体结构以及它们中的组件之间的相互关系。

Pinpoint-Collector:收集各种性能数据
Pinpoint-Agent:和自己运行的应用关联起来的探针
Pinpoint-Web:将收集到的数据显示成WEB网页形式
HBase Storage:收集到的数据存到HBase中

快速安装参考(http://naver.github.io/pinpoint/quickstart.html

安裝JDK

yum -y install java-1.* # 包含jdk1.6,1.7,1.8,笔者用到的1.9是下载的rpm包,手动安装的,安装完成配置JAVA_HOME,如下:

jdk9:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html

编辑/etc/profile,最后添加
# java8,笔者默认使用java8作为默认jdk
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JAVA_8_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

# java 6
export JAVA_6_HOME=/usr/lib/jvm/java-1.6.0-openjdk.x86_64

# java 7
export JAVA_7_HOME=/usr/lib/jvm/java-1.7.0-openjdk

# java 9
export JAVA_9_HOME=/usr/java/jdk-9.0.4

# 上面都需要设置,不然本地build的时候报错
  • 下载最新代码:
git clone https://github.com/naver/pinpoint.git 
./mvnw install -Dmaven.test.skip=true # 自己build会非常慢,而且会有些报错,建议下载war

这里写图片描述

安装并启动HBase


# 修改如下:
VERSION=2.0.0 
HBASE_VERSION=hbase-$VERSION
HBASE_FILE=$HBASE_VERSION-bin.tar.gz
HBASE_DL_URL=http://mirror.bit.edu.cn/apache/hbase/$VERSION/$HBASE_FILE
HBASE_ARCHIVE_DL_URL=http://mirror.bit.edu.cn/apache/hbase/$VERSION/$HBASE_FILE

#
Download & Start - Run quickstart/bin/start-hbase.sh # 注意,需要修改hbase的下载地址

Initialize Tables - Run quickstart/bin/init-hbase.sh

启动pinpoint服务

Collector - Run quickstart/bin/start-collector.sh

TestApp - Run quickstart/bin/start-testapp.sh

Web UI - Run quickstart/bin/start-web.sh

启动脚本完成后,Tomcat日志的最后10行将被拖尾到控制台:

  • Collector
    这里写图片描述
  • TestApp
    这里写图片描述
  • Web UI
    这里写图片描述

检查运行状态

一旦HBase和3个守护进程运行,可以访问以下地址来测试自己的Pinpoint实例。

可以使用TestApp UI将跟踪数据提供给Pinpoint,并使用Pinpoint Web UI检查它们。 TestApp将自己注册为TESTAPP下的测试代理

服务停止

Web UI - Run quickstart/bin/stop-web.sh

TestApp - Run quickstart/bin/stop-testapp.sh

Collector - Run quickstart/bin/stop-collector.sh

HBase - Run quickstart/bin/stop-hbase.sh

# 注意执行quickstart目录下名称时,要移动到pinpoint家目录,笔者目录:/opt/pinpoint,笔者克隆pinpoint代码是在opt进行的

按步骤安装

为了构建Pinpoint,必须满足以下要求:

http://hbase.apache.org/

  • 2、安装Java环境
  • 3、安装Pinpoint Collector
  • 4、安装Pinpoint Web
  • 5、安装Pinpoint Agent

支持的模块

JDK 6+
Tomcat 6/7/8, Jetty 8/9, JBoss EAP 6, Resin 4, Websphere 6/7/8, Vertx 3.3/3.4/3.5
Spring, Spring Boot (Embedded Tomcat, Jetty)
Apache HTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient
Thrift Client, Thrift Service, DUBBO PROVIDER, DUBBO CONSUMER
ActiveMQ, RabbitMQ
MySQL, Oracle, MSSQL, CUBRID,POSTGRESQL, MARIA
Arcus, Memcached, Redis, CASSANDRA
iBATIS, MyBatis
DBCP, DBCP2, HIKARICP
gson, Jackson, Json Lib
log4j, Logback

agent配置(tomcat)

# 把打包生成pinpoint-agent-1.8.0-SNAPSHOT.zip,拷贝到对应的agent服务器上,解压到/opt/pinpoint-agent

# 修改tomcat的启动参数,编辑catalina.sh,添加如下:
AGENT_PATH=/opt/pinpoint-agent
AGENT_VERSION=1.8.0
AGENT_ID="agent2018052401" # 自定义
APPLICATION_NAME="message-channel-1-7081" # 自定义
CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$AGENT_VERSION-SNAPSHOT.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"
  • web查看监控的agent状态

安装注意事项

  • 1、更改hbase下载地址
  • 2、更改profiler-optional/pom.xml,去掉模块profiler-optional-jdk6,不然本地build过不去
  • 3、web界面显示不了添加的应用,在对应的agent的服务器解析服务器的hosts,添加 127.0.0.1 $hostname
相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
目录
相关文章
|
6月前
|
机器学习/深度学习 运维 监控
有人想让我讲讲应用性能管理(APM)工具
有人想让我讲讲应用性能管理(APM)工具
342 2
|
存储 监控 前端开发
APM开源方案-SigNoz初体验
最近在调研APM相关的开源方案,发现ATA上这类的文章比较少,准备搞一系列APM的“初体验”文章,那么先从最近github势头较热的SigNoz开始SigNoz简介SigNoz是一套开源APM方案,用于监控应用指标和链路,可以看到调用情况、异常、trace上下链路,也可以自己定义Dashboard。官方对于SigNoz介绍很全面了,不赘述啦。值得注意的是,SigNoz支持OpenTelemetry
6313 2
APM开源方案-SigNoz初体验
|
存储 消息中间件 监控
主流开源APM:Zipkin/Pinpoint/SkyWalking全面对比
这里重点从探针的性能、Collector的可扩展性、调用链路分析、完整的应用拓扑、对于科技人员使用友好程度(部署安装、埋点接入、使用管理)几个方面来进行对比。
|
存储 Prometheus 监控
APM 工具 SkyWalking 是什么
官方给 SkyWalking 的定义是一个分布式系统的应用程序性能监视工具,也是一个开源的可观测平台, 用于从服务和云原生基础设施收集、 分析、 聚合及可视化数据。
614 0
|
监控 测试技术 API
移动端性能监测工具篇之U-APM
移动端性能监测工具篇之U-APM
367 0
|
SQL 存储 数据采集
ARMS在APM工具选型中的实践
当前的系统在数字化转型需求以及互联网架构实施的影响下,越来越普遍地使用了微服务架构,我们在享受微服务带来的好处(开发效率高, 独立部署, 水平扩展, 故障与资源隔离等等)外,也带来测试,事务,应用监控等各方面的困难。
3756 5
ARMS在APM工具选型中的实践
|
运维 监控 Java
APP性能监测工具之友盟的 U-APM产品入门使用
最近公司做了一款新的APP,要求能够看到用户每天的新增量和活跃量,还有一些页面的点击量、停留时间等的监测,还有更重要的一点就是能够监测到app的异常情况。于是开始对第三方工具开始一番研究,对比之后我选择使用了友盟。
APP性能监测工具之友盟的 U-APM产品入门使用
|
监控 测试技术 API
移动端性能监测工具篇之U-APM
移动端性能监测工具篇之U-APM
|
监控 Java 应用服务中间件
开源APM监控Pinpoint的快速部署和使用
Pinpoint是用于大规模分布式系统的APM工具。它是在Dapper(一个由Google构建的分布式系统跟踪基础架构)之后构建的,为开发人员提供有关复杂分布式系统行为的更多信息。 Pinpoint作为一款非常优秀的开源APM监控平台,和其他开源系统一样,最繁琐的应该是部署,但是如果你能通过Doc.
6238 0
|
Prometheus 监控 前端开发