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 |