pinpoint监控springboot应用性能

原创
2017/12/06 16:17
阅读数 6K

一,前提条件

  • 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

四,看效果

展开阅读全文
打赏
0
2 收藏
分享
加载中
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端口没启动成功啥问题,有人遇到过不。
2019/03/23 21:18
回复
举报
更多评论
打赏
1 评论
2 收藏
0
分享
返回顶部
顶部