Pinpoint Collector ์ธ์Šคํ„ด์Šค


GCP Compute Engine ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

VPC ๋ฐฉํ™”๋ฒฝ ์ •์ฑ… ์ถ”๊ฐ€

Java 8 ์„ค์น˜

sudo apt-get update
sudo apt-get install openjdk-8-jdk
 
sudo vi /etc/profile
 
# ๋งจ ์•„๋ž˜ ์ถ”๊ฐ€
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

HBase ์„ค์น˜

wget https://archive.apache.org/dist/hbase/1.2.7/hbase-1.2.7-bin.tar.gz
 
tar xzvf hbase-1.2.7-bin.tar.gz
 
vi hbase-1.2.7/conf/hbase-env.sh
 
# ์ด ์˜ต์…˜์„ ์ฃผ์„์ฒ˜๋ฆฌ ํ•˜์ง€ ์•Š์œผ๋ฉด hbase ์‹คํ–‰์‹œ warning ๋ฐœ์ƒ
# ๋‘ ์˜ต์…˜ ๋ชจ๋‘ ์ฃผ์„์ฒ˜๋ฆฌ
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
 
# ์ด๋ฆ„์ด hbase์ธ ๋™๊ธฐํ™” ํด๋” ์ƒ์„ฑ
ln -s hbase-1.2.7 hbase
 
# hbase ์‹คํ–‰
./hbase/bin/start-hbase.sh

Pinpoint ์ •๋ณด๋ฅผ ๋‹ด์„ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

# ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด
wget https://raw.githubusercontent.com/pinpoint-apm/pinpoint/master/hbase/scripts/hbase-create.hbase
 
# ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
hbase/bin/hbase shell ../hbase-create.hbase

Pinpoint Collector ์„ค์น˜

# jar ํŒŒ์ผ ๋‹ค์šด
wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.2.2/pinpoint-collector-boot-2.2.2.jar
 
# ์‹คํ–‰๊ถŒํ•œ ๋ถ€์—ฌ
chmod +x pinpoint-collector-boot-2.2.2.jar
 
# ์‹คํ–‰
# -Dpinpoint.zookeeper.address={Hbase ์ฃผ์†Œ}
nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-collector-boot-2.2.2.jar >/dev/null 2>&1 &

Pinpoint Web ์„ค์น˜

# jar ํŒŒ์ผ ๋‹ค์šด
wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.2.2/pinpoint-web-boot-2.2.2.jar
 
# ์‹คํ–‰ ๊ถŒํ•œ ๋ถ€์—ฌ
chmod +x pinpoint-web-boot-2.2.2.jar
 
# ์‹คํ–‰
# -Dpinpoint.zookeeper.address={Hbase ์ฃผ์†Œ}
nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-web-boot-2.2.2.jar >/dev/null 2>&1 &

Pinpoint Web ์ ‘์†

  • {Instance Public IP}:8080/main ์ ‘์† ํ›„ ๋นˆ ํ™”๋ฉด์ด ๋ณด์ด๋ฉด ์„ฑ๊ณต

WAS EC2 ์ธ์Šคํ„ด์Šค


Pinpoint Agent ์„ค์น˜

# agent ์„ค์น˜
wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.2.2/pinpoint-agent-2.2.2.tar.gz
 
# ์••์ถ• ํ•ด์ œ
tar xvzf pinpoint-agent-2.2.2.tar.gz
 
# config ํŒŒ์ผ ์ˆ˜์ •
sudo vi pinpoint-agent-2.2.2/pinpoint-root.config
 
# 127.0.0.1 ์—์„œ Collector IP ๋กœ ์ˆ˜์ •
# profiler.transport.grpc.collector.ip={xxx.xxx.xxx.xxx}
 
# agent + was ์‹คํ–‰
sudo nohup java -jar -javaagent:pinpoint-agent-2.2.2/pinpoint-bootstrap-2.2.2.jar -Dpinpoint.agentId=gongcheck-dev -Dpinpoint.applicationName=GONGCHECK-DEV -Dpinpoint.config=pinpoint-agent-2.2.2/pinpoint-root.config deploy/gong-check-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev 2>> /dev/null >> /dev/null &

Pinpoint ํ™•์ธ

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…


09-15 12:18:36.036 [-Executor(12-0)] WARN  c.n.p.p.r.g.GrpcCommandService           -- Failed to command stream, cause=UNAVAILABLE: io exception
io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
	at io.grpc.Status.asRuntimeException(Status.java:533) ~[grpc-api-1.33.1.jar:1.33.1]
	at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:478) [grpc-stub-1.33.1.jar:1.33.1]
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:617) [grpc-core-1.33.1.jar:1.33.1]
	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:70) [grpc-core-1.33.1.jar:1.33.1]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:803) [grpc-core-1.33.1.jar:1.33.1]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:782) [grpc-core-1.33.1.jar:1.33.1]
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) [grpc-core-1.33.1.jar:1.33.1]
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) [grpc-core-1.33.1.jar:1.33.1]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: /{Collector IP xxx.xxx.xxx.xxx}:9991
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:261) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
	at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
	at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
	... 3 more
  • connection timed out: /{Collector IP xxx.xxx.xxx.xxx}:9991 ๋ฐฉํ™”๋ฒฝ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.

References