Naver pinpoint 사용하기

Jae Hun Lee·2023년 3월 17일
1

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

profile
기록을 남깁니다

0개의 댓글