二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 最佳实践

  • 迎刃而解

  • Nginx

  • Php

  • Zabbix

  • AWS

  • Prometheus

  • Grafana

  • Loki

  • CentOS

  • Supervisord

  • Systemd

  • Docker

  • Docker-Compose

  • Rancher

  • Ansible

  • OpenLdap

  • GitLab

  • GitHub

  • Etcd

  • Consul

  • RabbitMQ

  • Kafka

  • Mysql

  • MongoDB

  • OpenVPN

  • Kvm

  • VMware

  • 配置文件详解

  • Other

    • 整理蓝鲸社区版3-X部署文档
    • 关于开源堡垒机jumpserver_1-2的一些体验记录
    • 防火墙基础知识之SNAT详解
    • 关于easyops的社区版与正式版两者体验之思考
    • DELL R430服务器做raid以及安装操作系统过程
    • CentOS系统安装之后的优化
    • 如何快速的批量配置某台主机对多台主机免密码登陆
    • Python-2-7的安装
    • pinpoint安装流程
      • 1,介绍。
      • 2,开源 APM 架构对比。
      • 3,pinpoint 架构。
      • 4,相关软件下载
        • 1,hbase
        • 2,pinpoint 相关包
        • 3,汇总进百度云
      • 5,部署 hbase。
        • 1,解压部署
        • 2,修改 hbase 配置
        • 3,启动 hbase
        • 4,默认数据初始化。
      • 6,部署 pinpoint 管理端。
        • 1,部署。
        • 2,启动。
      • 7,部署 pinpoint 的 web 端
        • 1,部署。
        • 2,启动。
        • 3,一些说明
      • 8,客户端部署
        • 1,部署。
        • 2,配置。
        • 3,让程序加载客户端
        • 4,网络问题排查
      • 9,监控效果
      • 10,参考链接
    • CentOS7上Python-3-6的安装
    • 记录我与maven的故事三则
    • tomcat默认日志优化处理
    • Maven 基础知识大全汇总整理
    • 会话管理工具tmux整理
    • 使用pure-ftpd搭建ftp服务
    • 简单快速部署轻量Git服务器gogs
    • 使用athens部署企业内部Gitlab包的私服代理
    • 快速部署cerebro-v0-9-4监控es集群状态
    • 使用transfer部署一个内网上传程序
    • 认识并使用一个透明代理http-server
  • 运维观止
  • Other
二丫讲梵
2018-08-20
目录

pinpoint安装流程

文章发布较早,内容可能过时,阅读注意甄别。

# 1,介绍。

pinpoint 是开源在 github 上的一款 APM 监控工具,它是用 Java 编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约 3%资源利用率),安装 agent 是无侵入式的,只需要在被测试的 Tomcat 中加上 3 句话,打下探针,就可以监控整套程序了。这篇 Blog 主要是想记录一下它安装的过程,方便日后查阅。

# 2,开源 APM 架构对比。

image

# 3,pinpoint 架构。

image

# 4,相关软件下载

# 1,hbase

下载地址:http://archive.apache.org/dist/hbase/1.1.5/

# 2,pinpoint 相关包

下载地址:https://github.com/naver/pinpoint/releases/

# 3,汇总进百度云

因为 pinpoint 是在 GitHub 上,下载相当慢,因此这里整理到百度云方便下载。

其中提取码可通过如下方式进行获取:

百度云链接提取码:228k

# 5,部署 hbase。

环境依赖:jdk。需要在以下操作之前解决好此依赖问题。

pinpoint 收集来的测试数据,主要是存在 Hbase 数据库的。所以它可以收集大量的数据,可以进行更加详细的分析。

# 1,解压部署

tar xf hbase-1.1.5-bin.tar.gz
mkdir /usr/local/ishangjie/pinpoint
mv hbase-1.1.5 ../ishangjie/pinpoint/
1
2
3

# 2,修改 hbase 配置

1,配置 java 环境信息。

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

在文件尾部加入下边配置
export JAVA_HOME=/usr/local/jdk1.8.0_144
1
2
3
4

2,配置数据存储路径。

这步不建议操作,很奇怪我做了之后反而不能用了!

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

修改尾部文件内容如下:


<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///usr/local/ishangjie/pinpoint/hbase-1.1.5/hbase</value>
 </property>
</configuration>
1
2
3
4
5
6
7
8
9
10
11

# 3,启动 hbase

./hbase-1.1.5/bin/start-hbase.sh
1

查看 Hbase 是否启动成功,如果启动成功的会看到”HMaster” 的进程

[root@ald-19-server bin]$jps

5108 Jps
22775 Bootstrap
23448 Bootstrap
4686 HMaster
1
2
3
4
5
6

也可以通过访问其服务来确认是否成功。

192.168.10.19:16010 (opens new window)

# 4,默认数据初始化。

./hbase-1.1.5/bin/hbase shell /opt/hbase-create.hbase
1

初始数据脚本:

脚本已放置在个人 Github 中,点击可跳转查看。

初始数据脚本 (opens new window)

稍等一分钟,会有一个初始的过程。完成之后可以进入看一下数据是否成功导入。

./hbase-1.1.5/bin/hbase shell
1

输入”status 'detailed'“可以查看刚才初始化的表,是否存在.

或者通过 web 查看是否成功。

http://192.168.10.19:16010/master-status

# 6,部署 pinpoint 管理端。

# 1,部署。

mv pinpoint-collector-1.8.0-RC1.war /usr/local/ishangjie/pinpoint/tomcat-collector/webapps/ROOT.war
1

# 2,启动。

/usr/local/ishangjie/pinpoint/tomcat-collector/bin/startup.sh
1

通过日志查看启动是否正常。

# 7,部署 pinpoint 的 web 端

# 1,部署。

mv pinpoint-web-1.8.0-RC1.war /usr/local/ishangjie/pinpoint/tomcat-web/webapps/ROOT.war
1

# 2,启动。

/usr/local/ishangjie/pinpoint/tomcat-web/bin/startup.sh
1

# 3,一些说明

[root@ald-19-server logs]$ll /usr/local/ishangjie/pinpoint/tomcat-web/webapps/ROOT/WEB-INF/classes/
total 84
-rw-r--r-- 1 root root   889 Aug 13 15:33 applicationContext-cache.xml
-rw-r--r-- 1 root root  3684 Aug 13 15:33 applicationContext-dao-config.xml
-rw-r--r-- 1 root root  2762 Aug 13 15:33 applicationContext-datasource.xml
-rw-r--r-- 1 root root  8679 Aug 13 15:33 applicationContext-hbase.xml
-rw-r--r-- 1 root root   487 Aug 13 15:33 applicationContext-web-namespace.xml
-rw-r--r-- 1 root root   942 Aug 13 15:33 applicationContext-websocket.xml
-rw-r--r-- 1 root root 10507 Aug 13 15:33 applicationContext-web.xml
drwxr-xr-x 2 root root  4096 Aug 15 09:17 batch
-rw-r--r-- 1 root root   149 Aug 13 15:33 batch.properties
drwxr-xr-x 3 root root    22 Aug 15 09:17 com
-rw-r--r-- 1 root root   682 Aug 13 15:33 ehcache.xml
-rw-r--r-- 1 root root  1125 Aug 13 15:33 hbase.properties
-rw-r--r-- 1 root root   154 Aug 13 15:33 jdbc.properties
-rw-r--r-- 1 root root  3189 Aug 13 15:33 log4j.xml
drwxr-xr-x 2 root root   104 Aug 15 09:17 mapper
-rw-r--r-- 1 root root  1563 Aug 13 15:33 mybatis-config.xml
-rw-r--r-- 1 root root  3690 Aug 13 15:33 pinpoint-web.properties
-rw-r--r-- 1 root root   157 Aug 13 15:33 project.properties
-rw-r--r-- 1 root root  2429 Aug 13 15:33 servlet-context.xml
drwxr-xr-x 2 root root    90 Aug 15 09:17 sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  • hbase.properties 配置我们 pp-web 从哪个数据源获取采集数据,这里我们只指定 Hbase 的 zookeeper 地址。
  • jdbc.properties pp-web 连接自身 Mysql 数据库的连接认证配置。
  • sql 目录 pp-web 本身有些数据需要存放在 MySQL 数据库中,这里需要初始化一下表结构。
  • pinpoint-web.properties 这里 pp-web 集群的配置文件,如果你需要 pp-web 集群的话。
  • applicationContext-* .xml 这些文件在后续的调优工作中会用到。
  • log4j.xml 日志相关配置。

此时可以根据配置的 web 服务端口进行访问了。

http://192.168.10.19:8180/#/main

image

这个地方我想,控制节点与 web 是可以使用同一个 tomcat 的,然后用一个端口不用的目录进行访问。

# 8,客户端部署

客户端是整个监控系统成立的抓手,通过程序启动的时候指定到客户端的程序,从而将数据发送到控制节点保存到 hbase,然后再由 web 端展示出来。

# 1,部署。

mv pinpoint-agent-1.8.0-RC1.tar.gz /usr/local/ishangjie/pinpoint/pp-agent
1

# 2,配置。

vim  /usr/local/ishangjie/pinpoint/pp-agent/pinpoint.config

修改collector.ip为对应部署的机器(在第8行)

profiler.collector.ip=192.168.10.19
1
2
3
4
5

# 3,让程序加载客户端

1,如果是 tomcat 方式启动。

修改启动文件配置信息。

vim /usr/local/tomcat/bin/catalina.sh

在文件20行处加入如下内容:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/ishangjie/pinpoint/pp-agent/pinpoint-bootstrap-1.8.0-RC1.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=26test"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=26test"
1
2
3
4
5
6
7

然后启动 tomcat,数据就会推送过去了。

2,如果是微服务方式启动。

nohup java -javaagent:/usr/local/ishangjie/pinpoint/pp-agent/pinpoint-bootstrap-1.8.0-RC1.jar -Dpinpoint.agentId=20-gateway -Dpinpoint.applicationName=20-gateway -jar -Xms128m -Xmx128m -XX:PermSize=128M -XX:MaxPermSize=128m test.jar --spring.profiles.active=test &
1

启动的时候将对应参数加上即可。

# 4,网络问题排查

如果是异地主机监控,那么可以通过下边方式进行检测网络连通性是否可用。

参考官网:http://naver.github.io/pinpoint/troubleshooting_network.html

使用如下命令进行检测:

java -jar pinpoint-tools-1.8.0-RC1.jar /usr/local/ishangjie/pinpoint/pp-agent/pinpoint.config
1

其中的 jar 包在 agent 的 tool 目录下。

如果看到如下输出,则说明可用。

UDP-STAT:// 192.168.10.19
    => 192.168.10.19:9995 [SUCCESS]

UDP-SPAN:// 192.168.10.19
    => 192.168.10.19:9996 [SUCCESS]

TCP:// 192.168.10.19
    => 192.168.10.19:9994 [SUCCESS]
1
2
3
4
5
6
7
8

# 9,监控效果

image

image

# 10,参考链接

1,pinpoint 安装部署 (opens new window)

2,[APM pinpoint 部署](http://tonylit.me/2018/04/13/APM pinpoint 部署/)

3,官网 (opens new window)

微信 支付宝
上次更新: 2024/07/04, 22:40:37
Python-2-7的安装
CentOS7上Python-3-6的安装

← Python-2-7的安装 CentOS7上Python-3-6的安装→

最近更新
01
睡着的人不关灯
06-12
02
学习周刊-总第215期-2025年第24周
06-12
03
学习周刊-总第214期-2025年第23周
06-05
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式