分散システムガイドクイックアクセスpinpoint1.8.3

ピンポイントについて

ます。https:ピンポイント追跡ツールは、コールチェーン、最新バージョンは1.8.5で、公式のGitHubのアドレスである//github.com/naver/pinpoint

戦闘分散環境に設計されました

今日の戦闘は、最初の2つのSpringBootアプリケーションだけでなく、mysqlの、Redisの、プラスサーバー配備ピンポイント、次の表で使用される5台のマシンの合計があり、単純な分散環境を準備します。

ホスト名 IPアドレス 効果
ピンポイント 192.168.121.148 ピンポイントサービスは、マシンを展開されます
サービス-A 192.168.121.146 :二つのインターフェースを提供
1.追加:mysqlのにレコードを追加し、そしてインターフェイスサービス-bが設定されている呼び出します
。2. GET:mysqlのから見つけることがない場合は、データを検索し、サービスBのインタフェースへの呼び出しを取得
サービス-B 192.168.121.147 :これは、2つのインターフェイスを提供
1. GET:Redisのから指定されたレコードを探す
2セット:Redisのデータを書き込み、30秒の時間を
mysqlの 192.168.121.143 MySQLのサービス機械
繰り返します 192.168.121.144 Redisのサービスどこ機

下に示すように、全体的なアーキテクチャ:
ここに画像を挿入説明
詳しくは、複数のアプリケーションを参照して「戦闘直ちに利用できるソース(springboot + Redisの+ MyBatisの+ restTemplate )」

ソースGitHubのこれらのサービスは、デモプロジェクト、アドレスと次の表のリンク情報の完全なソースコードをダウンロードすることができますGitHubのから直接ダウンロードすることができます。

名前 リンク リマーク
プロジェクトのホームページ https://github.com/zq2599/blog_demos GitHubの上のプロジェクトのホーム・ページ
gitのリポジトリアドレス(HTTPS) https://github.com/zq2599/blog_demos.git 该项目源码的仓库地址,https协议
git仓库地址(ssh) [email protected]:zq2599/blog_demos.git 该项目源码的仓库地址,ssh协议

这个git项目中有多个文件夹,本章的应用在pinpoint185demo文件夹下,如下图红框所示:
ここに画像を挿入説明

配置host

为了后续配置方便,将以下内容写入上述五台电脑的/etc/hosts文件中,这样所有的配置文件都可以用hostname来表示了:

192.168.121.143 mysql
192.168.121.144 redis
192.168.121.146 service-a
192.168.121.147 service-b
192.168.121.148 pinpoint

版本信息参考

  1. 操作系统:CentOS Linux release 7.7.1908
  2. docker:Community 19.03.2
  3. docker-compose:1.24.1
  4. springboot:2.0.5.RELEASE
  5. mysql:5.7.27
  6. redis:5.0.6

部署pinpoint

  1. 登录pinpoint主机;
  2. 装好docker和docker-comose,可以参考《一行命令安装docker和docker-compose(CentOS7)》
  3. 装好git客户端:yum install git -y
  4. 执行以下命令会先下载材料再按照docker-compose.yml的编排启动所有容器:
git clone https://github.com/naver/pinpoint-docker.git; \
git checkout 1.8.5; \
cd pinpoint-docker; \
docker-compose pull && docker-compose up -d

控制台提示如下:

[root@pinpoint ~]# clear
[root@pinpoint ~]# git clone https://github.com/naver/pinpoint-docker.git; \
> cd pinpoint-docker; \
> git checkout 1.8.5; \
> docker-compose pull && docker-compose up -d
正克隆到 'pinpoint-docker'...
remote: Enumerating objects: 34, done.
remote: Counting objects: 100% (34/34), done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 384 (delta 6), reused 13 (delta 1), pack-reused 350
接收对象中: 100% (384/384), 244.12 MiB | 1.72 MiB/s, done.
处理 delta 中: 100% (185/185), done.
Note: checking out '1.8.5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD 目前位于 39b9e1e... [naver/pinpoint#5998] update for release 1.8.5
Pulling jobmanager          ... done
Pulling zoo2                ... done
Pulling taskmanager         ... done
Pulling zoo1                ... done
Pulling zoo3                ... done
Pulling pinpoint-mysql      ... done
Pulling pinpoint-hbase      ... done
Pulling pinpoint-web        ... done
Pulling pinpoint-collector  ... done
Pulling pinpoint-agent      ... done
Pulling pinpoint-quickstart ... done
Creating network "pinpoint-docker_pinpoint" with driver "bridge"
Creating volume "pinpoint-docker_data-volume" with default driver
Creating volume "pinpoint-docker_mysql_data" with default driver
Creating pinpoint-flink-jobmanager ... done
Creating pinpoint-docker_zoo3_1     ... done
Creating pinpoint-docker_zoo1_1    ... done
Creating pinpoint-docker_zoo2_1     ... done
Creating pinpoint-hbase             ... done
Creating pinpoint-mysql             ... done
Creating pinpoint-flink-taskmanager ... done
Creating pinpoint-web               ... done
Creating pinpoint-collector         ... done
Creating pinpoint-agent             ... done
Creating pinpoint-quickstart        ... done

此处由于要下载大量文件,并且还要下载docker镜像,因此建议您耐心等待
5. 启动完成后,执行命令docker ps -f name=pinpoint-web查看web服务的端口,如下图红框所示,是宿主机的8079端口:
ここに画像を挿入説明
6. 访问地址http://192.168.121.148:8079 ,即可进入pinpoint的监控页面,如下图,已经自带了一个demo应用,该应用是在docker-compose.yml中配置的:
ここに画像を挿入説明
pinpoint服务端已经准备好了,接下来我们将SpringBoot应用接入pinpoint,达到监控和调用链跟踪的效果

SpringBoot应用接入pinpoint(service-a)

接下来要在SpringBoot应用所在机器上做操作,将应用接入pinpoint;

  1. 下载pinpoint agent包,地址是:https://github.com/naver/pinpoint/releases ,要下载的文件如下图红框所示:
    ここに画像を挿入説明
  2. 登录service-a应用所在机器,在/root目录下新建文件夹pinpoint-agent-1.8.5
  3. 将刚才下载的pinpoint-agent-1.8.5.tar.gz文件放入/root/pinpoint-agent-1.8.5目录,然后再解压pinpoint-agent-1.8.5.tar.gz(注意,是先放入pinpoint-agent-1.8.5文件夹再解压);
  4. 打开文件/root/pinpoint-agent-1.8.5/pinpoint.config,找到profiler.collector.ip、profiler.tomcat.conditional.transform、profiler.applicationservertype这三个配置,修改成以下的值:
profiler.collector.ip=pinpoint
profiler.tomcat.conditional.transform=false
profiler.applicationservertype=SPRING_BOOT
  1. 重新启动service-a服务,假设原有的启动命令是java -jar service-a-1.0-SNAPSHOT.jar,现在改为:
java -jar \
-javaagent:/root/pinpoint-agent-1.8.5/pinpoint-bootstrap-1.8.5.jar \
-Dpinpoint.agentId=192.168.121.146 \
-Dpinpoint.applicationName=service-a \
service-a-1.0-SNAPSHOT.jar

如上所述,一共增加了三个参数:

参数名 作用
javaagent 指定pinpoint-agent所在位置
Dpinpoint.applicationName 上报到pinpoint后,在页面上展示的应用名称
Dpinpoint.agentId 代表当前机器信息的标签,这里填写的是IP地址,当有多个service-a进程接入pinpoint时,要用这个标签来区分

SpringBoot应用接入pinpoint(service-b)

service-b的配置方式和service-a的一样,注意启动参数要改成service-b有关的,以下是service-b的启动命令:

java -jar \
-javaagent:/root/pinpoint-agent-1.8.5/pinpoint-bootstrap-1.8.5.jar \
-Dpinpoint.agentId=192.168.121.147 \
-Dpinpoint.applicationName=service-b \
service-b-1.0-SNAPSHOT.jar

制造一些请求,用于观测数据

  1. 接下来制造一些请求,让service-a和service-b执行业务代码,我这里用的是Postman,它提供了自动发起重复请求的功能,如下图:
    ここに画像を挿入説明
  2. 接下来打开Runner Window,如下图:
    ここに画像を挿入説明
  3. 按照下图进行设置,即可向service-a持续发起请求:
    ここに画像を挿入説明

pinpoint的监控功能

  1. 打开pinpoint页面,可以看到service-a、service-b的监控数据已经有了:
    ここに画像を挿入説明
  2. 用鼠标对右上角的请求量进行框选,可以查看请求的详情:
    ここに画像を挿入説明
  3. 如下图,可以详细的看到每个请求内部的执行情况:
    ここに画像を挿入説明
  4. また、マシン全体の状況を観察することができます。
    ここに画像を挿入説明
    この時点で、一般的なJavaは本当pinpoint1.8.3はあなたがピンポイントビューを通じて、システムを監視するために、コールチェーンの状況を検討しているならば、これはあなたにいくつかを与えることができることを望むために、完全なシステムへのアクセスを分散しました参照;

ヒント

実際のプロセスを通じて、以下のピットがスキップ注意してください。

  1. 各ファイアウォールマシンを閉じます。
  2. 閉じるスワップは、マシンを特定します。
公開された328元の記事 ウォンの賞賛946 ビュー117万+

おすすめ

転載: blog.csdn.net/boling_cavalry/article/details/102011341