본문 바로가기

개발

[AMP] pinpoint-node 적용하는 방법

반응형

pinpoint는 네이버에서 개발한 오픈소스 amp 툴입니다. java로 개발됐고, 여러 회사들이 사용합니다.

오늘은 agent-node 버전을 구현해보겠습니다.

 

구성

EC2: 데이터 수집및 모니터링 웹 페이지를 보여줍니다.
Target Server: 모니터링할 서버입니다.

 

0) java 설치및 셋팅

ec2에는 java가 설치되어 있지 않습니다. pinpoint를 사용하기 위해선, 1.8이상이어야 합니다

#설치 명령어
sudo yum install -y java-1.8.0-openjdk-devel.x86_64

#설치 확인
java -version

ec2 방화벽은 port 8000~9999을 열어줘야 합니다

 

 

1) hbase 설치 

*경로는 통일만 되면 상관없지만, 복잡하시면 /home/ec2-user으로 하시면 됩니다

hbase는 2.x까지 나왔지만, pinpoint는 1.2.x에 최적화 되어 있기에 아래 명령어를 참고해주세요.

#압축 파일 설치
wget https://archive.apache.org/dist/hbase/1.2.7/hbase-1.2.7-bin.tar.gz

#압축 파일 해제
tar xzf hbase-1.2.7-bin.tar.gz

#해당 디렉토리에 linking
ln -s hbase-1.2.7 hbase

#hbase 실행
hbase/bin/start-hbase.sh

 

hbase실행시 JAVA_HOME에러가 발생할수 있습니다. 그럴경우 hbase/conf/hbase-env.sh의 JAVA_HOME 주석을 해제해주셔야합니다. *path 설정이 어렵다면, 우선 /으로 해보시는걸 권합니다

hbase실행이 잘되면 아래 절차를 밟으시면 됩니다

 

#pinpoint creating table script zip 다운
wget https://raw.githubusercontent.com/pinpoint-apm/pinpoint/master/hbase/scripts/hbase-create.hbase

#pinpoint creating table script 실행
hbase/bin/hbase shell ./hbase-create.hbase

여기까지 하시면 hbase 셋팅은 끝납니다. 이제 collector과 web을 설치 하겠습니다.

 

2) collector & web 설치

*경로는 통일만 되면 상관없지만, 복잡하시면 /home/ec2-user으로 하시면 됩니다

## collector
# collector 설치
wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.2.2/pinpoint-collector-boot-2.2.2.jar

# jar 실행 권한 부여
chmod +x pinpoint-collector-boot-2.2.2.jar

# collector 실행
nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-collector-boot-2.2.2.jar >/dev/null 2>&1 &

## web
# web 설치
wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.2.2/pinpoint-web-boot-2.2.2.jar

# jar 실행 권한 부여
chmod +x pinpoint-web-boot-2.2.2.jar

# web 실행
nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-web-boot-2.2.2.jar >/dev/null 2>&1 &

 

3) Node Agent 

테스트할 node 서버에 아래 절차를 진행하시면 됩니다.

# pinpoint-node-agent 설치
npm install pinpoint-node-agent

설치후 import or require을 최상단에 위치하시면 됩니다.

 

 

.env 파일 구성은 아래와 같습니다. 요소별 상세 내용은 공식 문서 참고 바랍니다.

PINPOINT_COLLECTOR_IP=ec2 ip
PINPOINT_SAMPLING_RATE=1
PINPOINT_APPLICATION_NAME=pinpoint-node
PINPOINT_AGENT_ID=local

 

 

4) 기타사항

-pinpoint-web은 {ec2 ip}:8080로 접근하시면 됩니다

-테스트시 ec2 프리티어로 진행하시면 ram이 부족해 pinpoint-web이 뜨지 않을수 있습니다 

 

 

이상입니다.

'개발' 카테고리의 다른 글

[AWS] 프리티어 설명서  (0) 2022.08.30
[Mac] 파일 찾기  (0) 2022.08.02
[EC2] 서버 시간 확인및 변경  (0) 2022.07.25
[Apache] 메모리 확인 명령어  (0) 2022.07.24
[Chrome] initial connetcion or stalled too delay  (0) 2022.07.23