pinpoint安装和部署

1、简介:

    Pinpoint是一款全链路分析工具,提供了无侵入式的调用链监控、方法执行详情查看、应用状态信息监控等功能。基于GoogleDapper论文进行的实现,与另一款开源的全链路分析工具Zipkin类似,但相比Zipkin提供了无侵入式、代码维度的监控等更多的特性。 Pinpoint支持的功能比较丰富,可以支持如下几种功能:

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

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

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

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

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

架构组成

Pinpoint 主要由 3 个组件外加 Hbase 数据库组成,三个组件分别为:Agent、Collector 和 Web UI。

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

Collector组件:数据收集模块,接收Agent发送过来的监控数据,并存储到HBase

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

1.1、架构图


1.2、github地址是:https://github.com/naver/pinpoint

1.3、以下使用的版本为2021年7月22日更新的最新版(2.3.0)


2、安装环境

1、安装JDK

解压自行安装,环境变量配置如下:

# java config

vim /etc/profile 

最后一行加入下面语句:

JAVA_HOME=/usr/java/jdk1.8

JRE_HOME=/usr/java/jdk1.8/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

# 让环境变量生效

source /etc/profile

# 测试java的环境变量是否配置好了

java -version

2.安装hbase

下载地址:http://apache.mirror.cdnetworks.com/hbase/1.7.1/

2.1、解压hbase压缩包 hbase-1.7.1-bin.tar.gz

     tar -zxvf hbase-1.7.1-bin.tar.gz

2.2、编辑hbase-env.sh文件,添加JAVA_HOME配置,在27行左右

vim hbase-1.7.1/conf/hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.8/

注释第47行,48行

export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m" 

export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"

2.3、编辑hbase-site.xml文件,添加数据存储路径和配置

vim hbase-1.7.1/conf/hbase-site.xml

<property>

        <name>hbase.rootdir</name>

        <value>file:///data/hbase</value>

    </property>

    <property>

    #zookeeper地址(本地为hbase自带的zookeeper,另外部署的需要改成相应的ip地址,并将防火墙开启2181端口)

        <name>hbase.zookeeper.quorum</name>

        <value>127.0.0.1</value>

    </property>

    <property> 

    #2181为zookeeper的clientPort

        <name>hbase.zookeeper.property.clientPort</name> 

        <value>2181</value> 

    </property>

2.4、启动hbase

cd hbase-1.7.1/bin

./start-hbase.sh

2.5、输入jps查看启动项


查看是否启动

2.6、初始化hbase的pinpoint库

Github上提供了pinpoint在Hbase中初始化的脚本

cd hbase-2.4.4/bin

./hbase shell  /mnt/pinpoint/hbase-create.hbase(脚本所在文件位置)


生成15张表

3、部署pinpoint-collector(新版启动方式为jar包启动)

直接启动:

zookeeper默认为本地,可以改为自己的IP地址

java -jar -Dpinpoint.zookeeper.address=127.0.0.1 pinpoint-collector-boot-2.3.0.jar

后台启动并输出日志:

nohup java -jar -Dpinpoint.zookeeper.address=127.0.0.1 pinpoint-collector-boot-2.3.0.jar > console_ppc.log 2>&1 &

4、部署pinpoint-web(新版启动方式为jar包启动)

直接启动:

zookeeper默认为本地,可以改为自己的IP地址

java -jar -Dpinpoint.zookeeper.address=127.0.0.1 pinpoint-web-boot-2.3.0.jar

后台启动并输出日志:

nohup java -jar -Dpinpoint.zookeeper.address=127.0.0.1 pinpoint-web-boot-2.3.0.jar > console_ppc.log 2>&1 &

5、上传pinpoint-agent-2.3.0到要监测项目地址

注意事项:部署web和controller的服务器要将防火墙对外的接口开启,9991、9992、9993、8080、8081

5.1配置pinpoint.conf主要项

profiler.transport.grpc.collector.ip=127.0.0.1#改成自己coltroll部署的ip地址

profiler.collector.ip=127.0.0.1#改成自己coltroll部署的ip地址

# 1 out of n transactions will be sampled where n is the rate. (1: 100%, 20: 5%)

profiler.sampling.rate=1#配置检测请求量

###########################################################

# SPRING BOOT #

###########################################################

profiler.springboot.bootstrap.main:在后面加上要监测的项目jar启动main方法

5.2、启动命令:

springboot启动命令添加:

-javaagent:这边是pinpoint-agent所在位置,-Dpinpoint.profiler.profiles.active=local or relese:启动时配置文件(可不写,默认是pinpoint-root.config配置文件里指定的命令)(文件路径/pinpoint-agent/profile/...)

-Dpinpoint.agentId=clueDiscovery-test :agentid,唯一id,不可重复

-Dpinpoint.applicationName=clueDiscovery-test:agentName,项目名称:可重复

nohup java -javaagent:pinpoint-agent-2.3.0/pinpoint-bootstrap.jar -Dpinpoint.agentId=*** -Dpinpoint.applicationName=*** -jar ***.jar --spring.profiles.active=*** >console-***.log 2>&1 &


Tomcat集成示例

在tomcat 启动脚本(catalina.sh)中添加 -javaagent, -Dpinpoint.agentId, -Dpinpoint.applicationName

JAVA_OPTS="$JAVA_OPTS -javaagent:/home/jyapp/pinpoint-agent/pinpoint-bootstrap-1.7.3.jar"

JAVA_OPTS="$JAVA_OPTS -Dpinpoint.agentId=$AGENT_ID"

JAVA_OPTS="$JAVA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"

注意:

$AGENT_ID - 需改为应用的唯一标记,如 loan-33,代表loan 33服务器

$APPLICATION_NAME - 需改为应用名,如 loan,代表贷款应用

6、打开网址http://192.168.1.116:8080/


首页


查看具体请求页面



内存消耗页面
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容