Centos7部署pinpoint微服务全链路性能监控

编程入门 行业动态 更新时间:2024-10-12 05:55:02

Centos7部署pinpoint微服务全<a href=https://www.elefans.com/category/jswz/34/1768738.html style=链路性能监控"/>

Centos7部署pinpoint微服务全链路性能监控

Centos7部署pinpoint微服务全链路性能监控

  • 前置条件
    • 环境声明
  • Centos7部署pinpoint微服务全链路性能监控
    • 0.安装Oracle JDK8
    • 1.安装HBase1.2.7
      • 下载并解压HBase
      • 将hbase添加到环境变量
      • 修改HBase配置
      • 配置hbase的数据保存配置
      • 启动HBase
      • 消除HBase启动告警
      • 重启hbase
      • 验证启动是否正常
        • `从web端`验证`HBase`是否启动成功
    • 2.初始化pinpoint数据库
      • 下载初始化pinpoint数据库
      • 解压hbase初始化脚本
      • 执行Hbase数据库初始化脚本
        • Hbase数据库初始化告警
      • 验证HBase数据库是否初始化成功
    • 3.安装pinpoint
      • 安装pinpoint-collector
      • 安装pinpoint-web
      • 查看是否启动成功
      • 验证pinpoint-web是否安装成功
    • 4.部署pinpoint-agent采集监控数据
      • 1)基本配置部署
      • 2)如果监控的是tomcat(监控war包)
      • 3)如果监控的是springboot(jar包)
    • 5.监控及服务启动顺序:
  • 实战案例:监控蜗牛影院系统(监控jar包)
    • 启动并监控蜗牛影院系统

前置条件

  1. JDK版本必须和Linux系统版本吻合(Linux是64位的必须安装64位的JDK);
  2. Hbase所在的服务器的内存地址不能小于4个G

环境声明

  • OS Version: RHEL7.8
  • JDK Version: Oracle JDK1.8.0_261
  • HBase Version: 1.2.7
  • Hadoop Version: 3.0.3
  • PinPoint Version: 2.1.0

Centos7部署pinpoint微服务全链路性能监控


0.安装Oracle JDK8


1.安装HBase1.2.7

Apache HBase 是 Hadoop 数据库,一个分布式、可伸缩的大数据存储。


下载并解压HBase

# 下载Hbase1.2.7压缩包
wget .2.7/hbase-1.2.7-bin.tar.gz# 创建pinpoint目录
mkdir -p /opt/pinpoint# 解压到/opt/pinpoint目录
tar -zxvf hbase-1.2.7-bin.tar.gz -C /opt/pinpoint

将hbase添加到环境变量

vi /etc/profile# 添加hbase的执行路径
export PATH=$PATH:/opt/pinpoint/hbase-1.2.7/bin# 使变量生效
source /etc/profile# 查看hbase版本
habse version
# 如果回显显示hbase版本即为成功

修改HBase配置

# 查看你的java变量配置
cat /etc/profile# 我这里的结果是
export JAVA_HOME=/opt/jdk1.8.0_261# 修改配置信息
vim /opt/pinpoint/hbase-1.2.7/conf/hbase-env.sh# 在第28行插入java的变量
export JAVA_HOME=/opt/jdk1.8.0_261

配置hbase的数据保存配置

vim /opt/pinpoint/hbase-1.2.7/conf/hbase-site.xml

将下列配置信息粘贴到hbase-site.xml

<configuration><property><!-- 配置Hbase的目录 --><name>hbase.rootdir</name><value>file:opt/pinpoint/hbase-1.2.7/hbase_data</value></property><property><name>zookeeper.session.timeout</name><value>120000</value></property><property><name>hbase.zookeeper.property.tickTime</name><value>6000</value></property>
</configuration>

启动HBase

# 启动HBase
sh /opt/pinpoint/hbase-1.2.7/bin/start-hbase.sh

启动后提示信息:

starting master, logging to /opt/pinpoint/hbase-1.2.7/bin/../logs/hbase-root-master-woniu184.woniuxy.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0启动 master,登录到 /opt/pinpoint/hbase-1.2.7/bin/../logs/hbase-root-master-woniu184.woniuxy.out
Java HotSpot(TM) 64 位服务器 VM 警告:忽略选项 PermSize=128m; 在 8.0 中移除了支持
Java HotSpot(TM) 64 位服务器 VM 警告:忽略选项 MaxPermSize=128m; 在 8.0 中移除了支持

这个警告是因为:
Java8中,命令行标记MaxPermSize已被删除。原因永久代已从热点堆删除,并已移至本机内存。


消除HBase启动告警

为了消除警告信息,需要再次编辑配置文件

# 再次编辑hbase配置
vim /opt/pinpoint/hbase-1.2.7/conf/hbase-env.sh

将第48行49行注释掉

# 需要将第48行和49行注释掉# 48行
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
# 49行
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:Perm


重启hbase

# 停止hbase
bash /opt/pinpoint/hbase-1.2.7/bin/stop-hbase.sh# 启动hbase
bash /opt/pinpoint/hbase-1.2.7/bin/start-hbase.sh

重启不再有JDK警告信息了.


验证启动是否正常

# 输入jps查看hbase是否启动
jps
# 回显中有HMaster即为启动成功


从web端验证HBase是否启动成功
# 用浏览器访问16010端口可以查看HBase状态
http://本机ip:16010/master-status


2.初始化pinpoint数据库


下载初始化pinpoint数据库

需要从github上下载

我已经上传好了,需要国内加速的点击下方链接下载

pinpoint数据库CSDN国内加速下载点

# 将pinpoint_master.tar.gz上传到`/opt/pinpoint/hbase-1.2.7`目录下
## 在windows机器命令行下执行
scp .\pinpoint_master.tar.gz root@服务器IP:/opt/pinpoint/hbase-1.2.7/


解压hbase初始化脚本

# 在centos7中执行
cd /opt/pinpoint/hbase-1.2.7/# 解压到当前目录下
tar zxvf pinpoint_master.tar.gz

执行Hbase数据库初始化脚本

# 执行初始化
hbase shell hbase-create.hbase

可能会有一行报错,可以忽略

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable


Hbase数据库初始化告警

.html

如果你和我一样是强迫症患者,想解决这个警告信息,安装native-hadoop库就可以解决

下面我们安装native-hadoop来解决这个警告

# 下载hadoop-3.0.3的包,有点大么300MB,从国外站点下载很慢,我建议你本地下载好再上传到centos7
wget .0.3/hadoop-3.0.3.tar.gz# 解压到/opt/
tar zxvf hadoop-3.0.3.tar.gz -C /opt/# 编辑/opt/pinpoint/hbase-1.2.7/conf/hbase-env.sh
vi /opt/pinpoint/hbase-1.2.7/conf/hbase-env.sh# 将以下内容添加到hbase-env.sh
export LD_LIBRARY_PATH=/opt/hadoop-3.0.3/lib/native:$LD_LIBRARY_PATH# 再执行hbase时就不会再报警告了

验证HBase数据库是否初始化成功

打开web验证

# 登录web,来查看HBase的数据是否初始化成功
http://服务器ip地址:16010/tablesDetailed.jsp

如果出现15张数据表,那就是成功


3.安装pinpoint


安装pinpoint-collector

pinpoint-collector-boot-2.1.0.jar下载地址
.1.0

# 下载好后pinpoint-collector-boot-2.1.0.jar上传到/opt/pinpoint/目录
wget -c .1.0/pinpoint-collector-boot-2.1.0.jar

以后台运行的方式启动 pinpoint-collector

# 后台启动pinpoint-collector-boot-2.1.0.jar
nohup java -jar -Dpinpoint.zookeeper.address=localhost \
/opt/pinpoint/pinpoint-collector-boot-2.1.0.jar > collector.log 2>&1 &# 持续查看日志信息
tail –f collector.log

安装pinpoint-web

# 将pinpoint-web-boot-2.1.0.jar下载到/opt/pinpoint/目录
wget .1.0/pinpoint-web-boot-2.1.0.jar

以后台的方式运行:pinpoint-web-boot-2.1.0.jar

# 后台启动pinpoint-web
nohup java -jar -Dpinpoint.zookeeper.address=localhost \
/opt/pinpoint/pinpoint-web-boot-2.1.0.jar > web.log 2>&1 &# 持续查看日志信息
tail –f collector.log

查看是否启动成功

# 用jps查看java进程
jps
# 如果终端打印出pinpoint相关的任务,就启动成功了


验证pinpoint-web是否安装成功

然后可以在浏览器中:http://服务器ip:8080/ ,此时还没有agent


4.部署pinpoint-agent采集监控数据


1)基本配置部署

  1. 拷贝pinpoint-agent-2.1.0.tar.gz到web应用服务;解压到/opt/pinpoint目录
# 下载pinpoint-agent-2.1.0.tar.gz
wget -c .1.0/pinpoint-agent-2.1.0.tar.gz# 解压pinpoint-agent到/opt/pinpoint/
tar zxvf pinpoint-agent-2.1.0.tar.gz -C /opt/pinpoint/
  1. 修改配置文件
  • /pinpoint-agent/pinpoint-root.config
  • /pinpoint-agent/profiles/release/pinpoint.config

修改pinpoint-collector地址

# 修改pinpoint-root.config配置
vim /opt/pinpoint/pinpoint-agent-2.1.0/pinpoint-root.config
# 上面两个配置文件中将pinpoint-collector 修改为你的服务器ip地址,大约第20行# 修改 pinpoint.config配置
vim /opt/pinpoint/pinpoint-agent-2.1.0/profiles/release/pinpoint.config# 上面这个两个配置文件的第20行都要修改为你的服务器ip地址

  1. 修改/opt/pinpoint/pinpoint-agent-2.1.0/profiles/release/ pinpoint.config , 把profiler.sampling.rate值改为1,意思是:捕捉每一个请求,默认值20
# 修改 pinpoint.config配置的第60行,修改为1
vim /opt/pinpoint/pinpoint-agent-2.1.0/profiles/release/pinpoint.config# 捕捉每1个请求(默认值20)
profiler.sampling.rate=1


2)如果监控的是tomcat(监控war包)

1、 修改测试项目下的tomcat启动文件catalina.sh,修改这个只要是为了监控测试环境的Tomcat

1)增加探针配置vi catalina.sh。
2)添加如下配置:

参数解释
AGENT_PATHpinpoint-agent的目录
AGENT_IDagent的ID,这个ID唯一
APPLICATION_NAME采集项目的名字,各项目不能重复
VERSIONagent的版本

AGENT_PATH=/opt/pinpoint/pinpoint-agent-2.1.0
AGENT_ID=123456
APPLICATION_NAME=woniu_test
VERSION=2.1.0CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"

2、 启动测试用的Tomcat的服务器

3、pinpointweb浏览器中查看


3)如果监控的是springboot(jar包)

如果是jar包部署,直接在启动命令启动参数

# 启动命令+启动参数
java -javaagent:D:\\Tools\\pinpoint-agent-2.1.0\\pinpoint-bootstrap-2.1.0.jar \
-Dpinpoint.agentId=registry_windows \
-Dpinpoint.applicationName=woniuticket \
-jar registry-0.0.1-SNAPSHOT.jar

【注意】

  • applicationName同一个项目建议相同
  • agentId不同的jar包自定义不同的id

【说明】

# 启动命令格式
java -javaagent:${pinpoint_agent_bootstrap-2.1.0.jar的路径} \ 
-Dpinpoint.agentId=${agentid} \
-Dpinpoint.applicationName=${applicationName} \
-jar ${app服务的jar包路径}

5.监控及服务启动顺序:

Hbase—>pinpoint-collector —> pinpoint-web —> agent-tomcatjar


实战案例:监控蜗牛影院系统(监控jar包)

编辑/opt/qianyao/xm/start_java_app.sh,将下面的内容粘贴进去

#!/usr/bin/env bash
# Author: 自然自在
# Email: omaidb@gmail
# Description: 使用javaagent 启动并使用pinpoint-agent监控蜗牛影院系统
# Description: 原创代码,使用MIT协议开源,使用全部或部分代码,必须保留原作者信息及声明
# Description: IT培训机构不遵守MIT协议,不保留作者信息,!!!律师函警告!!!
# web: 
# Version:2.0
# CreateTime:2023-09-13 16:34:41# 软件开源协议侵权警告
WARING_DIY() {echo "
作者: 自然自在
Email: omaidb@gmail
脚本功能描述: 使用javaagent 启动并使用pinpoint-agent监控蜗牛影院系统
!!风险警告⚠️: 该代码,使用MIT协议开源,使用全部或部分代码,必须保留原作者信息及声明
!!风险警告⚠️: IT培训机构不遵守MIT协议,不保留作者信息,!!!律师函警告!!!
web: 
"
}
# 声明Pinpoint代理程序的jar包路径
JAVAAGENT_PATH="/opt/pinpoint/pinpoint-agent-2.1.0/pinpoint-bootstrap.jar"# 应用程序列表
## 将所有要启动的程序写入到一个列表中
APPS=(# 数据结构如下:## "${jar_file} : ${agent_id} : ${同项目_app_name 相同}"# eureka-server1"eureka-server1-0.0.1-SNAPSHOT.jar:eureka1:woniuticket"# eureka-server2"eureka-server2-0.0.1-SNAPSHOT.jar:eureka2:woniuticket"# cinema-stage"cinema-stage-0.0.1-SNAPSHOT.jar:cinema:woniuticket"# jobs-0.0.1-SNAPSHOT"jobs-0.0.1-SNAPSHOT.jar:jobs:woniuticket"# comment-0.0.1-SNAPSHOT"comment-0.0.1-SNAPSHOT.jar:comment:woniuticket"# movie-stage"movie-stage-0.0.1-SNAPSHOT.jar:movie:woniuticket"# orders-stage"orders-stage-0.0.1-SNAPSHOT.jar:orders:woniuticket"# gateway"gateway-0.0.1-SNAPSHOT.jar:gateway:woniuticket"# user"user-0.0.1-SNAPSHOT.jar:user:woniuticket"# general"general-0.0.1-SNAPSHOT.jar:general:woniuticket"# web"web-0.0.1-SNAPSHOT.jar:web:woniuticket"
)# 使用javaagent启动应用程序函数
javaagent_start_application() {# jar包路径local jar_file="$1"# -Dpinpoint.agentIdlocal agent_id="$2"# -Dpinpoint.applicationNamelocal app_name="$3"# app日志路径local log_file="${agent_id}.log"# 使用javaagent启动jar包,并输出日志## 要传入-Dpinpoint.agentId 和 -Dpinpoint.applicationNamejava -javaagent:"${JAVAAGENT_PATH}" -Dpinpoint.agentId="${agent_id}" -Dpinpoint.applicationName="${app_name}" \-jar "/opt/qianyao/xm/${jar_file}" >"/var/log/qianyao/${log_file}" 2>&1 &
}# 遍历应用程序列表并启动应用程序
for app in "${APPS[@]}"; doIFS=':' read -r jar_file agent_id app_name <<<"${app}"# echo "${jar_file}" "${agent_id}" "${app_name}"## echo示例:eureka-server1-0.0.1-SNAPSHOT.jar eureka1 woniuticketjavaagent_start_application "${jar_file}" "${agent_id}" "${app_name}"# 警告WARING_DIY
done

启动并监控蜗牛影院系统

# 赋予可执行权限
chmod u+x /opt/qianyao/xm/start_java_app.sh# 运行启动脚本
bash /opt/qianyao/xm/start_java_app.sh

更多推荐

Centos7部署pinpoint微服务全链路性能监控

本文发布于:2024-02-13 18:05:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759588.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链路   性能   pinpoint

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!