Jprofiler配置连接

本文的将介绍2种方式配置和连接Jprofiler,Jprofiler 分为服务端客户端,所以,需要在访问端被访问端都要安装 Jprofiler,两边的Jprofiler的版本要保持一致

一、环境准备

  1. Mac OSX
  2. Centos 7
  3. Jprofiler 11.0.1
  4. 基于 springboot 的可运行的 jar 文件

二、Linux服务器直接运行 jar 文件

  1. Linux服务上下载 Jprofiler
wget https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_11_0_1.tar.gz
  1. 配置环境变量(此步骤非必选操作,个人喜欢配置下环境变量,是为了可以在任意目录下直接启动 Jprofiler)
 export JPROFILER_HOME=/opt/jprofiler/jprofiler11.0.1/bin
export PATH=$JPROFILER_HOME:$PATH
  1. 如果配置了环境变量,则可以直接 输入 jpenable 命令启动 Jprofiler ,没有配置环境变量的,就需要进入到 你所解压的 Jprofiler 的 bin 目录下 输入 ./jpenable 命令启动 Jprofiler
  2. 输入 启动命令后,会出现如下的 界面 (因为我的服务器只跑了一个应用,所以这边直接默认了当前应用,如果服务器跑了多个应用,就会先出现让你选择,所需要监控的 jar文件编号的,输入对应的编号即可
    Jprofiler配置连接_第1张图片
  3. 输入1
    Jprofiler配置连接_第2张图片
  4. 我输入的是 10010,所以,后面我连接的时候,端口号就需要输入 10010
    Jprofiler配置连接_第3张图片
  5. 打开本机的 Jprofiler,这边选择 SSH tunnel 的方式 连接到你的服务器即可
    Jprofiler配置连接_第4张图片

三、Docker的方式运行 jar 文件

1.在原来的 Dockerfile 文件中 添加如下的 配置信息(如果不知道 Dockerfile 文件 如何运行springboot项目,可以参考我的其他博客)

RUN wget https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_11_0_1.tar.gz -P /tmp/ &&\
 tar -xzf /tmp/jprofiler_linux_11_0_1.tar.gz -C /usr/local &&\
 rm /tmp/jprofiler_linux_11_0_1.tar.gz

ENV JPAGENT_PATH="-agentpath:/usr/local/jprofiler11.0.1/bin/linux-x64/libjprofilerti.so=nowait"
EXPOSE 8849

上面是在 docker镜像中安装了 Jprofiler,因为我的项目是 springboot项目,所以,只需将 原来的Dockerfile中启动 命令添加个 JPAGENT_PATH 参数即可,如下

ENTRYPOINT [ "sh", "-c", "java -Djava.security.egd=file:/dev/./urandom $JPAGENT_PATH $JAVA_OPTS -jar /app.jar $PARAMS" ]
  1. 构建 Docker 镜像
docker build -t test:1.0 .
  1. 运行 镜像
    其中 8848是 Jprofiler连接的时候使用的,8099 是我应用的访问端口
docker run -p 8848:8849 -p 8099:8080 -e JPAGENT_PATH="-agentpath:/usr/local/jprofiler11.0.1/bin/linux-x64/libjprofilerti.so=port=8849" test:1.0
  1. 连接 Jprofiler,同样的界面,但是这里选择 Direct connection to 进行想关的属性配置,然后就可以运行了
    Jprofiler配置连接_第5张图片

你可能感兴趣的:(java开发)