本文主要是介绍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包)
- 启动并监控蜗牛影院系统
前置条件
JDK
版本必须
和Linux系统版本吻合
(Linux是64位的必须安装64位的JDK);- Hbase所在的服务器的内存地址
不能小于
4个G
环境声明
OS
Version: RHEL7.8JDK
Version:Oracle JDK
1.8.0_261HBase
Version: 1.2.7Hadoop
Version: 3.0.3PinPoint
Version: 2.1.0
Centos7部署pinpoint微服务全链路性能监控
0.安装Oracle JDK8
https://blog.csdn.net/omaidb/article/details/128634443
1.安装HBase1.2.7
Apache HBase 是 Hadoop 数据库,一个分布式、可伸缩的大数据存储。
下载并解压HBase
# 下载Hbase1.2.7压缩包
wget https://archive.apache.org/dist/hbase/1.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.com.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.com.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
上下载
https://github.com/pinpoint-apm/pinpoint/tree/master/hbase/scripts
我已经上传好了,需要国内加速
的点击下方链接
下载
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数据库初始化告警
https://www.cnblogs.com/shoufeng/p/14940245.html
如果你和我一样是强迫症患者,想解决这个警告信息,安装native-hadoop
库就可以解决
下面我们安装native-hadoop
来解决这个警告
# 下载hadoop-3.0.3的包,有点大么300MB,从国外站点下载很慢,我建议你本地下载好再上传到centos7
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.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
下载地址
https://github.com/pinpoint-apm/pinpoint/releases/tag/v2.1.0
# 下载好后pinpoint-collector-boot-2.1.0.jar上传到/opt/pinpoint/目录
wget -c https://github.com/pinpoint-apm/pinpoint/releases/download/v2.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 https://github.com/pinpoint-apm/pinpoint/releases/download/v2.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)基本配置部署
- 拷贝
pinpoint-agent-2.1.0.tar.gz
到web应用服务;解压到/opt/pinpoint
目录
# 下载pinpoint-agent-2.1.0.tar.gz
wget -c https://github.com/pinpoint-apm/pinpoint/releases/download/v2.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/
- 修改配置文件
/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地址
- 修改
/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_PATH | pinpoint-agent的目录 |
AGENT_ID | agent的ID,这个ID唯一 |
APPLICATION_NAME | 采集项目的名字,各项目不能重复 |
VERSION | agent的版本 |
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-tomcat
或 jar
包
实战案例:监控蜗牛影院系统(监控jar包)
编辑/opt/qianyao/xm/start_java_app.sh
,将下面的内容粘贴进去
#!/usr/bin/env bash
# Author: 自然自在
# Email: omaidb@gmail.com
# Description: 使用javaagent 启动并使用pinpoint-agent监控蜗牛影院系统
# Description: 原创代码,使用MIT协议开源,使用全部或部分代码,必须保留原作者信息及声明
# Description: IT培训机构不遵守MIT协议,不保留作者信息,!!!律师函警告!!!
# web: https://blog.csdn.net/omaidb
# Version:2.0
# CreateTime:2023-09-13 16:34:41# 软件开源协议侵权警告
WARING_DIY() {echo "
作者: 自然自在
Email: omaidb@gmail.com
脚本功能描述: 使用javaagent 启动并使用pinpoint-agent监控蜗牛影院系统
!!风险警告⚠️: 该代码,使用MIT协议开源,使用全部或部分代码,必须保留原作者信息及声明
!!风险警告⚠️: IT培训机构不遵守MIT协议,不保留作者信息,!!!律师函警告!!!
web: https://blog.csdn.net/omaidb
"
}
# 声明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微服务全链路性能监控的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!