OSS APM pinpoint を試してみる
JavaのWebAPをトレースするため、OSSのAPM pinpointのquickstartを試してみる。
サービスマップや、タイムライン、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内で稼働している状態。
※出展: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 を実行すると、起動する場合がある。
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
Author And Source
この問題について(OSS APM pinpoint を試してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/thoso2/items/3af78ef3eacbda8cbec7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .