본문 바로가기
  • AI (Artificial Intelligence)
Industry 4.0/Big Data

PINPOINT 란

by 로샤스 2017. 3. 2.

PINPOINT란

대규모 분산 시스템의 성능을 분석하고 문제를 진단, 처리하는 java 플랫폼.

네이버에서 2012년 7월 부터 개발을 시작하여 14년 말에 배포하였다.

(PINPOINT 뜻 : 원인을 콕! 집어내다)


기능

 1. 서버 맵 - 대상 서버와 연결된 다른 서버와의 관계 다이어그램

 2. 스캐터 - 요청별 응답시간에 따른 그래프

 3. request detail - 스캐터에서 선택된 요청의 스택트레이스 뷰

 4. 에러 발생 요청 표시 - 에러가 발생한 요청 빨간색으로 표시

 5. 서버의 jar목록 표시 - 서버에 접속하지 않아도 관련된 jar 목록 확인 가능


구성 


 1. DB - HBase(하둡 분산 데이터베이스 기반)

 2. Web UI로 view적으로 보여줌

 3. Collector - Web UI를 보여주는것을 쌓아두는거 , 대상이 되는 타겟 서버의 정보를 HBase가 저장함

 4. Agent - 각각의 대상 서버에 pinpoint agent를 줘서 각각의 pinpoint agent가 collector의 데이터를
    udp/tcp + thrift를 통해서 보내주고 그걸로 디비에 저장하고 그걸 web ui가 보여줌


특징

- 분산 트랜잭션 추적

- 토플로지 다오 발견

- 수평 확장성

- 코드 수준의 가시성


요청/반응 분석 차트

실시간 트래픽 차트

콜 스택 트리(여러 대의 서버를 한번에 볼 수 있다.)

인스펙터(JVM 힙상태 등 여러개 확인 가능)


도입 전 사전 확인

애플리케이션 환경 확인(java version, framework & lib, was 등)


도입 과정에서 고민했던 내용

HBase 이중화? 샤딩? Hadoop? 구성을 해야하는 가?

(핀 포인트 데이터의 경우 실 서버 데이터가 아니라 날라가도 문제 없다고 판단했기 때문에)








출처 : https://yangbongsoo.gitbooks.io/study/content/pinpoint.html

   <기초적이지만, 제법 괜찮은 자료들이 많습니다>








댓글