Naver pinpoint 사용하기
Naver PinPoint?
- 2012년 7월에 개발을 시작해 2015년 1월에 오픈소스로 공개한 Pinpoint가 n계층 아키텍처를 추적해 대규모 분산 시스템의 성능을 분석하고 문제를 진단, 처리하는 플랫폼이다. 대규모의 n계층 아키텍처를 추적할 수 있는 Pinpoint는 다음과 같은 특징이 있다.
- 분산된 애플리케이션의 메시지를 추적할 수 있는 분산 트랜잭션 추적
- 애플리케이션 구성을 파악할 수 있는 애플리케이션 토폴로지 자동 발견
- 대규모 서버군을 지원할 수 있는 수평 확장성
- 코드 수준의 가시성을 제공해 문제 발생 지점과 병목 구간을 쉽게 발견
- bytecode instrumentation 기법으로 코드를 수정하지 않고 원하는 기능을 추가
장점
- 분산 시스템의 성능 분석: Naver Pinpoint는 대규모 분산 시스템에서 발생하는 복잡한 문제를 해결하기 위한 분석 도구로서, 분산 시스템의 성능을 추적, 모니터링하고 문제를 진단, 처리할 수 있다.
- 애플리케이션 토폴로지 자동 발견: Naver Pinpoint는 애플리케이션의 구성과 각 요소들의 관계를 파악할 수 있도록 자동으로 애플리케이션 토폴로지를 발견해준다. 이를 통해 사용자는 애플리케이션 구성을 쉽게 파악할 수 있다.
- 코드 수준 가시성 제공: Naver Pinpoint는 bytecode instrumentation 기법을 사용하여 코드를 수정하지 않고도 코드 수준에서 문제 발생 지점과 병목 구간을 쉽게 발견할 수 있다. 이를 통해 사용자는 문제를 더욱 빠르게 진단하고 해결할 수 있다.
- 다양한 환경 지원: Naver Pinpoint는 다양한 환경에서 사용할 수 있는 오픈소스 기반의 툴로서, Java, PHP, Python, Node.js, .NET 등 다양한 언어와 웹서버, 데이터베이스 등 다양한 서버 환경에서 사용할 수 있다.
- 높은 확장성: Naver Pinpoint는 대규모 서버군을 지원할 수 있는 수평 확장성을 가지고 있다. 이를 통해 사용자는 필요에 따라 시스템을 확장할 수 있으며, 대규모 분산 시스템에서도 높은 성능을 유지할 수 있다.
Naver PinPoint 사용이유
- Naver Pinpoint는 사용이 간편하다. 설치 및 설정이 간단하다.
- Navar Pinpoint와 유사한 분산 시스템 성능 분석 도구로는 아파치 스카우터(Apache Scoutter) 등이 있다. 하지만 Pinpoint는 사용자 친화적인 UI/UX와 다양한 기능 지원, 성능과 안정성 측면에서 우수한 성능을 보여주어 많은 사용자들이 선택하고 있다.
- Naver Pinpoint는 대규모 분산 시스템에서도 높은 성능을 보장한다. 수평 확장이 가능하며, 코드 수준의 가시성을 제공하여 문제 발생 지점과 병목 구간을 쉽게 발견할 수 있다.
사용방법
- 아래의 주소로 접속해 이용 신청하기를 선택해준다
NAVER CLOUD PLATFORM
- 이후 PinPoint Cloud 탭 - Repository - Repostory 생성을해준다
- Repository에 필요한 정보를 입력해주고 생성해준다
- Repository가 생성되면 바로가기를 눌러준다
-
위에서 입력한 Repository의 이름과
-
아이디 비밀번호를 입력해준다
- 오른쪽 톱니바퀴의 intallation을 눌러준다
- 해당 파일을 서버로 업로드 해준뒤 압축을 풀어준다
tar xvf agent.tar.gz
cd pinpoint-agent-2.2.3-NCP-RC1
- 위에서 발급받은 pinpoint 라이센스 키를 입력해준다
vim pinpoint.license
i를 누른뒤 라이센스를 작성 후 :wq
export pinpointPath=/home/ubuntu/pinpoint-agent-2.2.3-NCP-RC1
java -jar -javaagent:${pinpointPath}/pinpoint-bootstrap-2.2.3-NCP-RC1.jar -Dpinpoint.applicationName=어플리케이션이름 -Dpinpoint.agentId=에이전트 아이디 서버파일.jar
- 이후 pinpoint 관리자 화면을 확인해보면 아래와 같이 생긴것을 확인 할 수 있다
- 새로 생긴 애플리케이션을 선택해보면 아래와 같은 화면을 확인 할 수 있다
- 이후 Jmeter로 테스트를 간단히 진행해본다
- RealTime으로 설정한게 아닌경우 좀더 상세히 확인이 가능하다
- inspector를 누르면 아래와 같은 그래프도 확인 할 수 있다.
사용법 정리
https://medium.com/naver-cloud-platform/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-%EB%84%A4%EC%9D%B4%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%ED%94%8C%EB%9E%AB%ED%8F%BC%EC%9E%85%EB%8B%88%EB%8B%A4-7b94f0a1eeec
참고
대규모 분산 시스템 추적 플랫폼, Pinpoint
네이버 클라우드 플랫폼에서 pinpoint 사용하여 스프링부트(Spring Boot) 서버 모니터링하기, Pinpoint Cloud