栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

APM链路监控:pinpoint安装部署实战详细手册

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

APM链路监控:pinpoint安装部署实战详细手册

文章目录

一、pinpoint介绍

1.pinpoint简介2.架构组成 二、安装环境准备三、Hbase安装四、pinpoint安装

1.安装pinpoint-collector2.安装pinpoint-web3.安装pinpoint-agent 结尾


一、pinpoint介绍 1.pinpoint简介

pinpoint是开源在github上的一款APM监控工具,它是由java编写的,用于大规模分布式系统的监控;它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的,只需要在被测试的Tomcat中加上3句话,打下探针,就可以监控整套程序了。Pinpoint支持的功能比较丰富,可以支持如下几种功能:

服务拓扑图:对整个系统中应用的调用关系进行了可视化的展示,单击某个服务节点,可以显示该节点的详细信息,比如当前节点状态、请求数量等

实时活跃线程图:监控应用内活跃线程的执行情况,对应用的线程执行性能可以有比较直观的了解

请求响应散点图:以时间维度进行请求计数和响应时间的展示,拖过拖动图表可以选择对应的请求查看执行的详细情况

请求调用栈查看:对分布式环境中每个请求提供了代码维度的可见性,可以在页面中查看请求针对到代码维度的执行详情,帮助查找请求的瓶颈和故障原因。

应用状态、机器状态检查:通过这个功能可以查看相关应用程序的其他的一些详细信息,比如CPU使用情况,内存状态、垃圾收集状态,TPS和JVM信息等参数。

2.架构组成

pipoint由pinpoint agent、pinpoint collector、pinpoint web、Hbase 4部分组成;

Pinpoint Agent:用于收集应用端监控数据,无侵入式,只需要在启动命令中加入部分参数即可;

Pinpoint Collector:数据收集模块,接收Agent发送过来的监控数据,并存储到Hbase;

Pinpoint Web:监控展示模块,展示系统调用关系、调用详情、应用状态等,并支持报警等功能;

Hbase:数据库,用于保存监控数据;

架构图如下:


二、安装环境准备

pinpoint-web-boot-2.3.3.jar(下载地址:https://github.com/naver/pinpoint)pinpoint-collector-boot-2.3.3.jar(下载地址:https://github.com/naver/pinpoint)pinpoint-agent-2.3.3.tar.gz(下载地址:https://github.com/naver/pinpoint)hbase-1.4.9-bin.tar.gz(下载地址:http://archive.apache.org/dist/hbase/1.4.9/)hbase-create.hbase(下载地址:https://github.com/pinpoint-apm/pinpoint/tree/master/hbase/scripts)


三、Hbase安装 1)将安装包hbase-1.4.9-bin.tar.gz上传到服务器/home目录,并解压;
tar -xzvf hbase-1.4.9-bin.tar.gz

2)修改Hbase配置文件hbase-site.xml
注:Hbase支持HDFS存储,但是需要安装Hadoop等组件,这里为了方便,暂时先不使用HDFS。另外,生产环境建议搭Hbase集群,这里暂时只搭Hbase单节点。


	
		hbase.rootdir
		file:///opt/data/hbase
	
	 #单节点可不用配置
		hbase.cluster.distributed
		false
	
	 #单节点可不用配置
		hbase.master
		miti-hadoop-slaver01:60000
	
     #zookeeper地址(本地为hbase自带的zookeeper,另外部署的需要改成相应的ip地址,并将防火墙开启2181端口)
        hbase.zookeeper.quorum
        127.0.0.1
    
     #2181为zookeeper的clientPort
        hbase.zookeeper.property.clientPort 
        2181 
    
	
		hbase.zookeeper.property.dataDir
		/opt/data/zoodata
	


3)修改启动文件hbase-env.sh的JAVA_HOME环境变量位置
vi /home/hbase-1.4.9/conf/hbase-env.sh


# 在27行左右的位置,修改如下
export JAVA_HOME=/opt/jdk1.8.0/
 
# 在124行开启自带zookeeper
export Hbase_MANAGES_ZK=true
 
# 在48行52行56行开启任意一行,GC日志收集

4)配置环境变量

#配置环境变量Hbase_HOME
vi /etc/profile

#在末尾添加:
export Hbase_HOME=/home/hbase-1.4.9


#让环境变量生效
source /etc/profile
5)启动Hbase
cd /home/hbase-1.4.9/bin
./start-hbase.sh
6)验证是否启动成功:
jps

启动成功会看到HMaster进程

7)初始化Hbase的pinpoint库
执行pinpoint提供的Hbase初始化语句

cd /home/hbase-1.4.9/bin
./hbase shell /home/hbase-create.hbase 

执行成功:


8)结果验证

方法1:进入数据库,查看初始化表

#进入数据库
cd /home/hbase-1.4.9/bin
./hbase shell
#查看初始化表
status "detailed"

方法2:登录web,查看初始化数据是否成功;
HbaseWeb地址 : http://192.168.197.129:16010/master-status,IP地址为hbase数据库所在服务器的IP地址


四、pinpoint安装 1.安装pinpoint-collector

pinpoint-collector-boot-2.1.0.jar默认端口为8081,可自行修改application.yml的端口地址

nohup java -Dpinpoint.zookeeper.address=localhost -jar /home/pinpoint/pinpoint-collector-boot-2.1.0.jar >/var/logs/pinpoint-collector.log 2>&1 &
2.安装pinpoint-web

pinpoint-collector-boot-2.1.0.jar默认端口为8080,可自行修改application.yml的端口地址

nohup java -Dpinpoint.zookeeper.address=localhost -jar /home/pinpoint/pinpoint-web-boot-2.1.0.jar >/var/logs/pinpoint-web.log 2>&1 &

浏览器上输入:http://ip:8080,可以进入到PinPoint主界面。由于此时还没有在被测服务上运行agent,因此页面上没有应用可以显示。

3.安装pinpoint-agent

注:PinPoint-Agent需要与被测应用安装在一起

1) 修改agent配置文件

vim /home/pinpoint-agent-2.3.3/profiles/release/pinpoint.config

profiler.collector.ip=192.168.197.131   #hbase服务器地址
profiler.transport.grpc.collector.ip=192.168.0.10    # 即安装pinpoint-collector的虚拟机IP
profiler.sampling.enable=false #是否开启采样,访问量不大的情况,建议不开启,即全部采集

2) 增加监控的服务的启动命令

# 启动应用A
nohup java -javaagent:/root/pinpoint/pinpoint-agent-2.1.0/pinpoint-bootstrap-2.3.3.jar -Dpinpoint.agentId=demoA -Dpinpoint.applicationName=demoA -jar demoA.jar > nohup.out 2>&1 &

-javaagent:/root/pinpoint/pinpoint-agent-2.1.0/pinpoint-bootstrap-2.3.3.jar:agent所在位置

-Dpinpoint.agentId:这个参数只能唯一

-Dpinpoint.applicationName:可以重复,但为了更好地查看应用间的调用关系,这里按照应用名取值

刷新PinPoint页面,即可看到应用,使用JMeter客户端工具对demoA发起调用,则可以显示出调用关系。


结尾

感谢大家的耐心阅读,如有建议请私信或评论留言。如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749349.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号