文档章节

pinpoint监控springboot应用性能

ax2472
 ax2472
发布于 2017/12/06 16:17
字数 785
阅读 3.6K
收藏 2

一,前提条件

  • maven 3.2.x+
  • git
  • java 6+ (推荐jdk8)

二,准备工具

三,部署

1,部署Hbase,由于Pinpoint以Hbase作为数据的存储,因此首先安装Hbase,如下:

  • 下载Hbase并解压
  • 编辑/work/install/hbase-1.2.6/conf/hbase-env.sh文件(具体文件位置由安装Hbase路径决定),添加JAVA_HOME配置,大概在27行左右加入export JAVA_HOME=/usr/local/java/jdk1.8.0_131
  • 编辑/work/install/hbase-1.2.6/conf/hbase-site.xml文件(具体文件位置由安装Hbase路径决定),内容如下:
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///work/install/hbase-1.2.6/data</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2182</value> 
    </property>     
</configuration>

2,部署Pinpoint-collector,如下:

将pinpoint-collector-1.7.0-RC1.war拷贝到tomcat8080的webapps目录下,修改tomcat各端口只要不冲突就行,启动tomcat8080,修改WEB-INF/classes/hbase.properties文件,内容如下:

hbase.client.host=localhost
hbase.client.port=2181

重启启动tomcat8080。

3,部署Pinpoint-web,如下:

将pinpoint-web-1.7.0-RC1.war拷贝到tomcat8081的webapps目录下,修改tomcat各端口只要不冲突就行,启动tomcat8081,修改WEB-INF/classes/hbase.properties文件,内容如下:

hbase.client.host=localhost
hbase.client.port=2181

重启启动tomcat8081。

4,部署Pinpoint-agent,如下:

  • 新建目录:mkdir pp-agent
  • 将pinpoint-agent-1.7.0-RC1.tar.gz 拷贝到pp-agent目录并解压
  • 配置pinpoint.config:profiler.collector.ip=127.0.0.1这是指pinpoint-collector的地址,如果是同一服务器,则不用修改。其它默认。
  • 启动pinpoint-collector后,自动就开启了9994,9995,9996的端口了,这里默认即可。如果有端口需求,要去pinpoint-collector的配置文件(“pinpoint-collector/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties”)中,修改这些端口。

5,springboot包部署,如下:

  • 简单启动方式:#nohup java -javaagent:/work/install/pp-agent/pinpoint-bootstrap-1.7.0-RC1.jar -Dpinpoint.agentId=springboot-sample -Dpinpoint.applicationName=springboot-sample -jar spring-boot-sample.jar --spring.profiles.active=test > catalina.out  2>&1 &
  • 脚本启动方式:./startup.sh mySpringbootApp.jar dev

#!/bin/sh
#功能简介:启动上层目录下的jar文件
#参数简介:
#    $1:jar文件名(包含后缀名)
#    注意:jar文件必须位于startup.sh目录的上一层目录。
#启动方式: ./startup.sh xxx.jar dev

#启动参数
JAVA_OPTS="-server -Xms400m -Xmx400m -Xmn300m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -javaagent:/work/install/pp-agent/pinpoint-bootstrap-1.7.0-RC1.jar -Dpinpoint.agentId=springboot-sample -Dpinpoint.applicationName=springboot-sample"

jar_name=$1 #第一个参数jar包名
active_profile=$2 #第二个参数启动环境
this_dir="$( cd "$( dirname "$0"  )" && pwd )" #脚本所在当前目录
parent_dir=`dirname "${this_dir}"` #脚本上级目录
log_dir="${parent_dir}/logs" #标准输出目录
log_file="${log_dir}/catalina.out" #标准输出文件
jar_file="${parent_dir}/applications/${jar_name}" #jar所在位置,位于父目录下的applications目录下,可执行jar必要放在applications目录下

#参数个数<1或者参数空值时,中断执行
if [ $# -lt 1 ] || [ -z $1 ]; then
    echo -e "\033[31m 请输入要部署的jar包名称! \033[0m" #以红色字体提示错误
    exit 1
fi

if [ ! -n "$2" ] ;then
    echo -e "\033[34m warn:没有指定环境变量, 默认为test \033[0m" #以黄色字体警告
    active_profile="test"
fi

#日志文件夹不存在,则创建
if [ ! -d "${log_dir}" ]; then
    mkdir "${log_dir}"
fi

#父目录下jar文件存在
if [ -f "${jar_file}" ]; then
    #启动jar包;重定向标准错误/输出到文件
    java $JAVA_OPTS -jar ${jar_file} --spring.profiles.active=${active_profile} 1>"${log_file}" 2>"${log_file}" &
    tailf ${log_file}
else
    echo -e "\033[31m${jar_file}文件不存在!\033[0m" #以红包字体提示
    exit 1
fi

四,看效果

© 著作权归作者所有

ax2472
粉丝 6
博文 16
码字总数 7982
作品 0
深圳
程序员
私信 提问
加载中

评论(1)

y
yutdsaf
TEST RESULT
UDP-STAT://134.64.15.147:9995=FAILED
UDP-SPAN://134.64.15.147:9996=FAILED
TCP://134.64.15.147:9994=OK

9995和9996端口没启动成功啥问题,有人遇到过不。
分布式系统快速接入pinpoint1.8.3指南

关于pinpoint pinpoint是一款调用链跟踪工具,目前最新版是1.8.5,官方GitHub地址:https://github.com/naver/pinpoint 构造用于实战的分布式环境 今天的实战会先准备一个简单的分布式环境,...

程序员欣宸
2019/10/04
0
0
SpringBoot | 第一章:第一个SpringBoot应用

SpringBoot | 第一章:第一个SpringBoot应用 springboot简单介绍 概述 随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的...

oKong
2018/07/15
2.8K
1
Pinpoint无法监控SpringBoot数据

Pinpoint无法监测SpringBoot的用户访问数据及访问数据库的记录 对于非SpringBoot项目其他一切是Ok的

Jarrem
2017/09/23
1.8K
4
SpringBoot|第一章:第一个SpringBoot 应用

springboot简单介绍 概述 随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。 在上述...

Java架构解析
2018/08/18
0
0
Zipkin,Pinpoint,SkyWalking三种服务链路监控组件分析

SkyWalking 本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。采用java探针,字节码增强的基本原...

DemonHunter211
03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java高级面试攻略:消息+缓存+高并发+高可用+架构+分布式+微服务

Java高级面试攻略:消息+缓存+高并发+高可用+架构+分布式+微服务,对每一个专题每一道列举出来的高频面试题,都会做一个面试官的心理分析以及题目的具体剖析,教你如何破解,攻克面试官! 攻...

眉目清俊
17分钟前
23
0
JavaScript 数组遍历方法的对比

前言 JavaScript 发展至今已经发展出多种数组的循环遍历的方法,不同的遍历方法运行起来那个比较快,不同循环方法使用在那些场景,下面将进行比较: 各种数组遍历的方法 for 语句 代码: var arr...

osc_fscujk71
25分钟前
11
0
Nginx和Tomcat配置https

Nginx配置htpps http{ #http节点中可以添加多个server节点 server{ #监听443端口 listen 443; #对应的域名,把baofeidyz.com改成你们自己的域名就可以了 ...

chinahufei
26分钟前
5
0
react调用方法

React里调用方法常见的方式有两种 (1)触发时通过回调函数触发 <Button type="primary" onClick={()=>this.updateBar()}>更新</Button> (2)直接通过方法名触发 <Button type="primary" o......

osc_vpogdtu8
26分钟前
26
0
Centos通过代理上网

阿里云ECS不能访问内外,购买NAT的除外,通过windows主机代理上网: 1.windows上安装代理工具,工具种类比较多,我这里使用的是privoxy 下载地址:http://www.privoxy.org/ 百度云盘(备用)...

osc_r94nrknb
28分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部