【APM】Pinpoint 安装部署(一)
Pinpoint简介
Pinpoint是用Java / PHP编写的大规模分布式系统的APM(应用程序性能管理)工具。受Dapper的启发,Pinpoint提供了一种解决方案,可通过跟踪跨分布式应用程序的事务来帮助分析系统的整体结构以及其中的组件如何互连。
特点:
- 一目了然地了解您的应用程序拓扑
- 监控应用程序的实时
- 获得每笔交易的代码级可见性
- 安装APM代理而无需更改任何代码
- 对性能的影响最小(资源使用量增加约3%)
参考git地址:https://github.com/naver/pinpoint
pinpoint架构图
Pinpoint安装部署
前期准备
本例在ContenOS 7.4 下安装,本次需要安装pinpoint和pinpoint-agent和hbase、zookeeper,先在git上将需要用到的安装包都下载好
hbase下载地址:https://hbase.apache.org/downloads.html,pinpoint下载地址:https://github.com/naver/pinpoint/releases
安装它用到的2台服务器,一台主要部署pinpoint和pinpoint-agent,一台主要部署hbase、zookeeper
- jdk8 --- Java运行环境
- hbase-1.2.7 --- 数据库(单机版自带zookeeper),用来存储监控信息
- tomcat9.0 --- Web服务器
- pinpoint-collector-1.8.5.war --- pp的控制器
- pinpoint-web-1.8.5.war --- pp展示页面
- pinpoint-agent-1.8.5.tar.gz --- pp探针
安装hbase
在第一台服务器192.168.1.5上安装
1、在hbase官网上下载hbase,本例安装的是hbase-1.2.7版,因为pinpoint和hbase有版本兼容的问题,可能导致pinpoint收集器无法写入数据到hbase
hbase的hbase-site.xml配置文件如下
<configuration>
<!-- hbase存放数据目录 -->
<property>
<name>hbase.rootdir</name>
<value>file:///data/soft/hbase-1.2.7/hbase</value>
</property> <!-- ZooKeeper数据文件路径 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/data/soft/hbase-1.2.7/zookeeper</value>
</property> <property>
<name>hbase.zookeeper.property.clientPort</name>
<value>12181</value>
</property> <property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
<description>
Controls whether HBase will check for stream capabilities (hflush/hsync). Disable this if you intend to run on LocalFileSystem, denoted by a rootdir
with the 'file://' scheme, but be mindful of the NOTE below. WARNING: Setting this to false blinds you to potential data loss and
inconsistent system state in the event of process and/or node failures. If
HBase is complaining of an inability to use hsync or hflush it's most
likely not a false positive.
</description>
</property> </configuration>
安装后并启动hbase
2、初始化Hbase的Pinpoint库,在git中下载hase-create.hbase脚本文件,并安装基础表
下载hase-create.hbase地址:https://github.com/naver/pinpoint/blob/master/hbase/scripts/hbase-create.hbase
执行脚本命令:$HBASE_HOME/bin/hbase shell hbase-create.hbase
3、执行完成后可以在Hbase的网页中查看表信息
安装pinpoint-collector
在第二台服务器192.168.1.6上安装
1、将下载好的pinpoint-collector-1.8.5.war解压,并移动到tomcat的webapp中。
解压命令:unzip pinpoint-collector-1.8.5.war -d pinpoint-collector-1.8.5
移动命令:mv pinpoint-collector-1.8.5 /data/soft/apache-tomcat-8081/webapps/
2、进入/data/soft/apache-tomcat-8081/webapps/pinpoint-collector-1.8.5/WEB-INF/classes目录,编辑配置文件
注:收集器的端口配置文件pinpoint-collector.properties,里面可以设置接受探针发送过来的数据端口,需要与Agent搭配使用。默认9994、9995、9996。
修改hbase.properties文件,配置zookeeper地址
命令:vim hbase.properties
hbase.client.host=192.168.1.5
hbase.client.port=
修改pinpoint-collector.properties,配置zookeeper地址
命令:vim pinpoint-collector.properties
cluster.enable=true
cluster.zookeeper.address=192.168.1.5:
cluster.zookeeper.sessiontimeout=
cluster.listen.ip=
cluster.listen.port=
3、在192.168.1.6服务器上配置192.168.1.5服务器的hostname地址
注:由于pinpoint-collector回到zookeeper中获取hbase的地址,但是hbase在zookeeper中注册的是自己的主机名称,pinpoint-collector拿到的就hbase主机名称,访问的时候需要在hosts文件中配置主机名称对应的IP地址
命令:vim /etc/hosts
# hbasehostname为192.168.1.5的主机名称
192.168.1.5 hbasehostname
4、启动tomcat,即将pinpoint的收集器部署好了
安装pinpoint-agent
在第二台服务器192.168.1.6上安装
1、将下载好的pinpoint-agent-1.8.5.tar.gz进行解压
新建目录:mkdir /data/soft/pinpoint/pinpoint-agent-1.8.5
解压命令:tar -zxvf pinpoint-agent-1.8.5.tar.gz -C /data/soft/pinpoint/pinpoint-agent-1.8.5
2、对agent进行配置,编辑/data/soft/pinpoint/pinpoint-agent-1.8.5中的pinpoint.config文件,对pinpoint收集器信息进行配置
profiler.collector.ip=127.0.0.1 # placeHolder support "${key}"
profiler.collector.span.ip=${profiler.collector.ip}
profiler.collector.span.port= # placeHolder support "${key}"
profiler.collector.stat.ip=${profiler.collector.ip}
profiler.collector.stat.port= # placeHolder support "${key}"
profiler.collector.tcp.ip=${profiler.collector.ip}
profiler.collector.tcp.port=
、在应用tomcat的bin/catalina.sh中,加入三句话,就安装好pinpoint的探针了,如下:
#--
# 在20行增加如下字段
# 第一行是pp-agent的jar包位置
# 第二行是agent的ID,这个ID是唯一的,我是用pp + 今天的日期命名的,只要与其他的项目的ID不重复就好了
# 第三行是采集项目的名字,这个名字可以随便取,只要各个项目不重复就好了
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/data/soft/pinpoint/pinpoint-agent-1.8.5/pinpoint-bootstrap-1.8.5.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=pp20191112"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=Tomcat8080"
4、重启应用tomcat,即可收集应用数据
安装pinpoint-web
在第二台服务器192.168.1.6上安装
1、将下载好的pinpoint-web-1.8.5.war解压,并移动到tomcat的webapp中。
解压命令:unzip pinpoint-web-1.8.5.war -d pinpoint
移动命令:mv pinpoint /data/soft/apache-tomcat-8081/webapps/
2、进入/data/soft/apache-tomcat-8081/webapps/pinpoint/WEB-INF/classes目录,编辑配置文件
修改hbase.properties文件,配置zookeeper地址
命令:vim hbase.properties
hbase.client.host=192.168.1.5
hbase.client.port=
修改pinpoint-web.properties文件,配置zookeeper地址
命令:vim pinpoint-web.properties
cluster.enable=true
cluster.web.tcp.port=
cluster.zookeeper.address=192.168.1.5:
cluster.zookeeper.sessiontimeout=
cluster.zookeeper.retry.interval=
cluster.connect.address=
3、重启应用tomcat8081,即可收集应用数据,使用地址http://192.168.1.6:8081/pinpiont,即可访问pinpiont的web界面
4、在界面中选择一个应用即可看到应用使用的情况
【APM】Pinpoint 安装部署(一)的更多相关文章
- pinpoint 安装部署
.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...
- pinpoint 应用性能管理工具安装部署
原文:http://www.cnblogs.com/yyhh/p/6106472.html pinpoint 安装部署 阅读目录 1. 环境配置 1.1 获取需要的依赖包 1.2 配置jdk1.7 ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- KVM安装部署
KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- C# winform安装部署(转载)
c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0
新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...
随机推荐
- 进程间通信之数据传输--Socket
The client server model Most interprocess communication uses the client server model. These terms re ...
- django项目中使用KindEditor富文本编辑器。
先从官网下载插件,放在static文件下 前端引入 <script type="text/javascript" src="/static/back/kindedi ...
- 洛谷P1084 疫情控制(贪心+倍增)
这个题以前写过一遍,现在再来写,感觉以前感觉特别不好写的细节现在好些多了,还是有进步吧. 这个题的核心思想就是贪心+二分.因为要求最小时间,直接来求问题将会变得十分麻烦,但是如果转换为二分答案来判断可 ...
- 【Java】Java环境变量配置
一.windows系统 右键你的电脑(计算机/此电脑)打开属性->高级系统设置->环境变量,在系统变量里配置三个环境变量. 假设jdk的安装路径为C:\Program Files\Java ...
- Chrome插件安装和用法
XPath Helper 下载插件,拖入chrome://extensions/ 使用方法:ctrl+shift+x呼出 JSONView的使用: 安装JSONView插件 下载插件,拖入chrome ...
- JS的ES6的Symbol
一.Symbol 1.什么是Symbol: Symbol是ES6新添加的原始类型(ES5已有原始数据类型:String,Number,boolean,function,undefined,object ...
- UE4破碎物体
1. 创建可破碎物体 首先,启用插件: 然后,选择一个模型,右键,创建可破碎物体: 2. 创建蓝图 把新创建出来的物体创建为蓝图: 击碎物体的蓝图节点: 当然,要把那个物体(图上的Destructib ...
- 组件&Props
组件允许你将Ui拆分为独立可复用的代码片段,并对每个片段进行独立构思.本指南只在介绍组件的相关概念.你可以参考详细组件 API. 组件,从概念上类似与JavaScript函数.它接受任意的入参(既“p ...
- linux高性能服务器编程 (六) --高级I/O函数
第六章 高级I/O函数 Linux提供了很多高级的I/O函数,它不是基础的I/O函数(open/read) 1.创建文件描述符的函数比如:pipe.dup/dup2函数 2.读写数据的函数比如:rea ...
- mark一下咕掉的题目
蒟蒻才普及组呀~ 大佬别D我 等集中补一下 CF980F:咋说捏,我觉得要联赛了做这题有点浪费时间,等想颓废了再来写写叭qwq 215E/279D/288E/331C3/431D/433E/750G/ ...