1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OSS APM pinpoint を試してみる

Last updated at Posted at 2018-12-02

JavaのWebAPをトレースするため、OSSのAPM pinpointquickstartを試してみる。
サービスマップや、タイムライン、APサーバのリソース状況などを可視化できる。

下記によると、コードを変更せずに、AP状態を可視化することが可能とのこと。
https://github.com/naver/pinpoint/wiki/Technical-Overview-Of-Pinpoint#bytecode-instrumentation-not-requiring-code-modifications

##実行環境
OS:CentOS7.5(VirtualBox + Vagrantで作成。ホストOSはWindows10)
pinpoint:ver.1.8.0

完成イメージは、下記が、ゲストOS内で稼働している状態。
image.png
※出展:http://naver.github.io/pinpoint/1.8.0/overview.html

##手順
※1~4 は、ゲストOSの操作。0、5は、ホストOSでの操作。

###0.ゲストOSの準備

####0.1 VirtualBox、Vagrant のインストール
Vagrant、VirtualBoxのWindows版を、下記からダウンロードしてインストールする。
※インストーラのデフォルト設定で良い。

Vagrant
https://www.vagrantup.com/downloads.html

VirtualBox
https://www.virtualbox.org/wiki/Downloads
2つともインストールしたら、OSを再起動する。再起動後、コマンドプロンプトで、vagrantが実行できることを確認する。

####0.2 ゲストOS の起動

#####0.2.1 Vagrantファイルの作成
ホストOSで、適当なディレクトリを作って、コマンドプロンプトで作成したディレクトリで、下記を実行する。

vagrant init bento/centos-7.5

#####0.2.2 Vagrantファイルの編集
実行後に作成されたVagrantfile の、IP設定と、リソースサイズの設定を変更する。

●IP設定

Create a private network, which allows host-only access to the machine

using a specific IP.

config.vm.network "private_network", ip: "192.168.33.10"

●リソース設定

config.vm.provider "virtualbox" do |vb|

# Display the VirtualBox GUI when booting the machine

vb.gui = true

# Customize the amount of memory on the VM:

vb.memory = "2048"

  vb.customize ["modifyvm", :id, "--memory", "2048", "--cpus", "2", "--ioapic", "on"]
end

#####0.2.3 ゲストOS起動
下記コマンドで、ゲストOSを起動する。

vagrant up

#####0.2.3 ゲストOSにSSH
ゲストOS起動後、下記コマンドで、ゲストOSにSSHする。

vagrant ssh

以降は、0.2.4 でSSHしたゲストOS内の操作。

###1.Javaインストール
jdk6,7,8,9 をインストールして、環境変数を設定する。

####1.1 jdk6,7,8をインストール

sudo yum install openjdk-1.6.0-devel
sudo yum install openjdk-1.7.0-devel
sudo yum install openjdk-1.8.0-devel

####1.2 jdk9をインストール
※手順は、こちらを参考に実施。

wget https://download.java.net/java/GA/jdk9/9.0.4/binaries/openjdk-9.0.4_linux-x64_bin.tar.gz
tar xzvf openjdk-9.0.4_linux-x64_bin.tar.gz
sudo mv jdk-9.0.4 /opt/
sudo alternatives --install /usr/bin/java java /opt/jdk-9.0.4/bin/java
sudo alternatives --install /usr/bin/jar jar /opt/jdk-9.0.4/bin/jar 1
sudo alternatives --install /usr/bin/javac javac /opt/jdk-9.0.4/bin/javac 1

####1.3 環境変数設定
~/.bashrc に下記を追加。

JAVA_6_HOME=/etc/alternatives/java_sdk_1.6.0
JAVA_7_HOME=/etc/alternatives/java_sdk_1.7.0
JAVA_8_HOME=/etc/alternatives/java_sdk_1.8.0
JAVA_9_HOME=/opt/jdk-9
JAVA_HOME=$JAVA_8_HOME

###2. pinpointインストール
これをダウンロードして、展開して、下記を実行。
※インストールは、かなり時間がかかる。
※ホームディレクトリに展開した前提で記載。

cd ~/pinpoint-master
./mvnw install -DskipTests=true

###3. HBASEインストール、初期化

cd ~/pinpoint-master/quickstart/bin
./start-hbase.sh
./init-hbase.sh

###4. pinpointのデーモンを起動する
####4.1 Collector 起動

cd ~/pinpoint-master/quickstart/bin
./start-collector.sh

####4.2 TestApp 起動

cd ~/pinpoint-master/quickstart/bin
./start-testapp.sh

####4.3 Web UI 起動

cd ~/pinpoint-master/quickstart/bin
./start-web.sh
※もし、タイムアウトで起動しない場合は、init-hbase.sh を実行すると、起動する場合がある。

以降は、ホストOSのブラウザで確認する。

###5. pinpoint web でのステータス確認

####5.1 テスト用 Web AP 実行
http://192.168.33.10:28080/ で、テストAPメニューにアクセスし、適当なAPを実行する。

####5.2 pinpoint web ステータス確認

http://192.168.33.10:28081/ で、pinpoint webのコンソール画面にアクセスすると、5.1 のAP実行状況が確認できる。

※webコンソールのデモが、下記に動画が掲載されている。
https://naver.github.io/pinpoint/

#####TEST APP のコンソールトップ、サービスマップ

#####APサーバのリソース状況

#####AP実行のトレース

同種のツール、サービスとしては、Zipkin、jaeger、AWS X-Ray 等がある。

##参考情報
https://naver.github.io/pinpoint/
http://naver.github.io/pinpoint/1.8.0/quickstart.html

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?