본문 바로가기
공부/기타

Naver pinpoint 사용하기

by 얼빵이 2023. 3. 17.
반응형

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는 사용이 간편하다. 설치 및 설정이 간단하다.
  • Navar Pinpoint와 유사한 분산 시스템 성능 분석 도구로는 아파치 스카우터(Apache Scoutter) 등이 있다. 하지만 Pinpoint는 사용자 친화적인 UI/UX와 다양한 기능 지원, 성능과 안정성 측면에서 우수한 성능을 보여주어 많은 사용자들이 선택하고 있다.
  • Naver Pinpoint는 대규모 분산 시스템에서도 높은 성능을 보장한다. 수평 확장이 가능하며, 코드 수준의 가시성을 제공하여 문제 발생 지점과 병목 구간을 쉽게 발견할 수 있다.

사용방법

아래의 주소로 접속해 이용 신청하기를 선택해준다

NAVER CLOUD PLATFORM

이후 PinPoint Cloud 탭 - Repository - Repostory 생성을해준다

 

Repository에 필요한 정보를 입력해주고 생성해준다

 

추후에 관리자로 로그인될 정보를 입력해줘야 한다

아래의 정보를 모두 입력해준다

 

Repository가 생성되면 바로가기를 눌러준다

 

위에서 입력한 Repository의 이름과

아이디 비밀번호를 입력해준다

 

오른쪽 톱니바퀴의 intallation을 눌러준다

 

파일을 다운로드 해준다

Agent Licence Key는 마우스를 가져다 대면 볼 수 있다.

 

해당 파일을 서버로 업로드 해준뒤 압축을 풀어준다

tar xvf agent.tar.gz

 

압축 푼 폴더로 들어간다

cd pinpoint-agent-2.2.3-NCP-RC1

 

위에서 발급받은 pinpoint 라이센스 키를 입력해준다

vim pinpoint.license
i를 누른뒤 라이센스를 작성 후 :wq

 

키 등록 후 현재 pinpoint 폴더를 환경변수로 설정해준다

  • pwd를 입력하면 현재 경로를 쉽게 알수있다
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

반응형

'공부 > 기타' 카테고리의 다른 글

Apache Jmeter 대용량 트래픽 테스트  (0) 2023.03.16
Github Action, Jenkins차이 CI/CD  (0) 2023.03.09

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로