pinpoint simple summary

2024. 3. 8. 21:51ยท๐Ÿ“‚ backend/test

pinpoint architecture

pinpoint architecture

  • pinpoint agent : application monitoring metric ์„ pinponit collector ์— ์ „๋‹ฌ
  • pinpoint collector : pinpoint agent ์—์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ HBase ์— ์ €์žฅ
  • pinpoint web : HBase ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•ด Web UI ํ˜•ํƒœ๋กœ ์‹œ๊ฐํ™”๋œ ๋ชจ๋‹ˆํ„ฐ์ผ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต

 

installation pinpoint

spring boot 3 ๋Š” pinpoint 2.5.1 ๋ถ€ํ„ฐ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜์ž!
(๊ทธ๋ฆฌ๊ณ  pinpoint agent, controller ๋Š” ๋ฒ„์ „์„ ๋™์ผํ•˜๊ฒŒ ๋งž์ถฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.)
https://github.com/pinpoint-apm/pinpoint/issues/9599

[1] pinpoint web & collector

1. install HBase

(1) java ์„ค์น˜

sudo yum list java*
sudo yum install java-1.8.0-amazon-corretto-devel.x86_64

readlink -f /usr/bin/java # java ๊ฒฝ๋กœ ํ™•์ธ
/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/bin/java

 

HBase java ํ˜ธํ™˜ ๋ฒ„์ „
pinpoint version ์— ๋งž๋Š” java version ์„ค์ •ํ•˜๊ธฐ

 

(2) HBase ์„ค์น˜

wget http://archive.apache.org/dist/hbase/1.2.7/hbase-1.2.7-bin.tar.gz
tar -zxvf hbase-1.2.7-bin.tar.gz

hbase version 1.x ๋กœ ์„ ํƒ

 

(3) hbase-1.2.7/conf/hbase-env.sh JAVA_HOME ์„ค์ • ๋ฐ ํŒŒ์ผ ์ฃผ์„ ์ฒ˜๋ฆฌ

# The java implementation to use.  Java 1.7+ required.
 export JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto.x86_64 # java ์„ค์น˜ ๊ฒฝ๋กœ
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"

 

(4) hbase-1.2.7/conf/hbase-site.xml ํŒŒ์ผ ์ˆ˜์ •

 <configuration>
	<property>
		<name>hbase.rootdir</name>
		<value>file:///home/ec2-user/pinpoint/data</value>
	</property>
	<property>
		<name>hbase.zookeeper.property.dataDir</name>
		<value>/home/ec2-user/pinpoint/zookeeper</value>
	</property>
</configuration>

 

(5) start hbase 

hbase-1.2.7/bin/start-hbase.sh

 

(6) hbase schema ์„ค์น˜

cd /home/ec2-user/pinpoint/hbase-1.2.7/bin
wget https://raw.githubusercontent.com/pinpoint-apm/pinpoint/master/hbase/scripts/hbase-create.hbase

 

TTL ๊ฐ’ ๋ฐ์ดํ„ฐ ์œ ์ง€ ๊ธฐ๊ฐ„ 7์ผ๋กœ ๋ณ€๊ฒฝ
  • default : 365์ผ(31536000s), 60์ผ (5184000s) 
sed 's/31536000/604800/' hbase-create.hbase > hbase-create-real.hbase
sed -i 's/5184000/604800/' hbase-create-real.hbase

 

 

(7) create hbase schema for pinpoint

  • bin directory ํ•˜์œ„์—์„œ ์‹คํ–‰
./hbase shell ./hbase-create-real.hbase

 

 

2. install pinpoint collector

HBase ver 1.2.x ๋Š” Java8 ๋งŒ ํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— Java11 ์„ ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •์„ ํ•ด๋†“์ž.
# java 11 ์„ค์น˜
sudo yum install java-11-amazon-corretto-devel.x86_64 -y

# ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
sudo vim /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

 

(1) pinpoint collector ์„ค์น˜

wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.3/pinpoint-collector-boot-2.5.3.jar

 

(2) run pinpoint collector

nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-collector-boot-2.5.3.jar &

 

inbound port ์„ค์ •

 

3. pinpoint web ์„ค์น˜

(1) pinpoint web ์„ค์น˜

wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.3/pinpoint-web-boot-2.5.3.jar

 

(2) run pinpoint web

nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-web-boot-2.5.3.jar &

 

(3) pinpoint web ํ™•์ธ

  • [ipv4]:8080

2. pinpoint agent

pinpoint agent ์™€ pinpoint collector ๋Š” version ์„ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•˜๋„๋ก ํ•˜์ž.

 

[1] pinpoint agent ์„ค์น˜

1. download pinpoint agent

wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.3/pinpoint-agent-2.5.3.tar.gz
tar -zxvf pinpoint-agent-2.5.3.tar.gz

 

2. pinpoint-agent-[version]/pinpoint-root.config ์—์„œ collector ip ์ฃผ์†Œ ๋ณ€๊ฒฝ

## collector ip ์„ค์ •ํ•˜๊ธฐ (private ip ๋กœ ์„ค์ •ํ•จ)
profiler.transport.grpc.collector.ip=[collector ip]

 

3. run pinpoint agent

java -jar \
-javaagent:/home/ec2-user/pinpoint-agent-2.5.3/pinpoint-bootstrap-2.5.3.jar \
-Dpinpoint.agentId=member-api \
-Dpinpoint.applicationName=member-api \
-Dpinpoint.config=/home/ec2-user/pinpoint-agent-2.5.3/pinpoint-root.config \
-Dspring.profiles.active=prod \
/home/ec2-user/member-0.0.1-SNAPSHOT.jar

 

pintpoint ์กฐํšŒ ๊ฐ€๋Šฅ ๋ชฉ๋ก

  1. Heap Usage
  2. Non Hea Usage
  3. JVM/System CPU Usage
  4. ransactions Per Second
  5. Active Request
  6. Total Thread
  7. Response Time
  8. Open File Descriptor
  9. Direct Buffer Count
  10. Direct Buffer Memory
  11. Mapped Buffer Count
  12. Mapped Buffer Memory
  13. Loaded Class Count
  14. Unloaded Class Count
  15. Data Source

pintpoint call Tree ๋ณด๋Š” ๋ฒ•

  • pinpoint ๋ฉ”์ธ ํ™”๋ฉด ์šฐ์ธก ์ƒ๋‹จ scatter chart ๋ฒ”์œ„ ์„ค์ •ํ•˜๊ณ  ํŽ˜์ด์ง€ ์ด๋™ํ•˜์—ฌ Call Stack ํ™•์ธ

 

Reference

  • https://pinpoint-apm.gitbook.io/pinpoint
  • https://github.com/pinpoint-apm/pinpoint/releases
  • https://tech.trenbe.com/2022/02/22/pinpoint.html
  • https://peterica.tistory.com/32
  • https://hbase.apache.org/book.html

'๐Ÿ“‚ backend > test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

docker -compose ๊ธฐ๋ฐ˜ ๋กœ์ปฌ DB ๋ชจ๋‹ˆํ„ฐ๋ง ๊ตฌ์ถ•(mysqld-exporter + prometheus + grafana)  (0) 2025.01.25
Testcontainers ์‚ฝ์งˆ1 : ํ…Œ์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ ์žฌ์‚ฌ์šฉ  (0) 2025.01.13
K6 tutorial  (0) 2024.12.04
nGrinder tutorial  (0) 2024.03.19
'๐Ÿ“‚ backend/test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • docker -compose ๊ธฐ๋ฐ˜ ๋กœ์ปฌ DB ๋ชจ๋‹ˆํ„ฐ๋ง ๊ตฌ์ถ•(mysqld-exporter + prometheus + grafana)
  • Testcontainers ์‚ฝ์งˆ1 : ํ…Œ์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ ์žฌ์‚ฌ์šฉ
  • K6 tutorial
  • nGrinder tutorial
cooper25
cooper25
  • cooper25
    dev cooper
    cooper25
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (84)
      • ๐Ÿ“‚ backend (34)
        • spring (19)
        • architecture (10)
        • test (5)
      • ๐Ÿ“‚ computer-science (5)
      • ๐Ÿ“‚ programming-language (12)
        • java (12)
      • ๐Ÿ“‚ infra (9)
        • mysql (4)
        • redis (2)
        • message-queue (3)
      • ๐Ÿ“‚ cloud (2)
        • aws (2)
      • ๐Ÿ“‚ frontend (1)
        • react (0)
      • ๐Ÿ“‚ education & lecture (16)
        • ์ธํ”„๋ผ ๊ณต๋ฐฉ (11)
        • ํ•ญํ”Œ ๋ฐฑ์—”๋“œ 7๊ธฐ (5)
      • ๐Ÿ“‚ ai (1)
        • claude (1)
      • ๐Ÿ“‚ etc (2)
        • ํšŒ๊ณ  (1)
        • ์ปจํผ๋Ÿฐ์Šค (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    AWS
    ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„
    ๋™์‹œ์„ฑ
    JPA
    Redisson
    UUID
    ์ธํ”„๋ผ๊ณต๋ฐฉ
    nGrinder
    spring-batch
    spring
    gof
    ํšŒ๊ณ 
    mysql
    spring AOP
    ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์„ค๊ณ„
    spring camp 2025
    ์Šคํ”„๋ง์บ ํ”„ ํ›„๊ธฐ
    kafka
    ํ•ญํ•ดํ”Œ๋Ÿฌ์Šค
    react
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.6
cooper25
pinpoint simple summary
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”