카샤의 만개시기

Pinpoint 본문

DevOps/APM

Pinpoint

SKaSha 2019. 10. 14. 16:49

오늘날의 서비스는 3계층을 넘어서 n계층(multitier) 아키텍쳐로 변경이 되면서, 시스템의 복잡도가 증가한다.
3계층 아키텍쳐에서는 웹 서버와 웹 애플리케이션 서버, 데이터베이스만 분석하면 되었고 서버 수도 많지 않았지만 n계층 아키텍처에서 문제가 발생하면 많은 컴포넌트와 서버의 상태를 모두 확인해야 한다.
또한 개별 컴포넌트를 분석해 전체 그림을 파악하는 데는 한계가 존재하여 가시성이 부족하다고 문제의 원인을 찾는데 많은 시간이 소요된다.
pinpoint는 이러한 한계를 해결해주는 분산 서비스 및 시스템의 성능 분석/진단/추적 APM(application performance management) 플랫폼이다.

어플리케이션 테스트, 운영 전 단계에 걸쳐 성능을 모니터링하고 분석 할 수 있으며, 응답속도나 에러에 대한 알람을 설정하여 이메일이나, Slack, SMS(유료)로 알림을 받을 수 있다.

Pinpoint 특징

  • 분산된 애플리케이션의 메시지를 추적할 수 있는 분산 트랜잭션 추적
  • 애플리케이션 구성을 파악할 수 있는 애플리케이션 토폴로지 자동 발견
  • 대규모 서버군을 지원할 수 있는 수평 확장성
  • 코드 수준의 가시성을 제공해 문제 발생 지점과 병목 구간을 쉽게 발견
  • bytecode instrumentation 기법으로 코드를 수정하지 않고 원하는 기능을 추가
  • 어플리케이션 소스코드 수정 없이 적용 가능

Pinpoint Components Architecture

pinpoint architecture

Pinpoint Agent

Profiling & Monitoring 대상이 되는 Target Application에 설치되는 모듈

Pinpoint Collector

Pinpoint Agent에서 수집된 결과 및 상태를 수집하고 저장하는 모듈

Pinpoint Web

Pinpoint Collector을 통해 수집된 결과를 HBase(Store)를 통해 사용자 UI에
실행하는 모듈

HBase (Stroe)

Pinpoint Collector을 통해 수집된 분석 정보 및 데이터가 저장되는 데이터베이스

Pinpoint Monitoring

Server Map

구성 요소의 상호 연결 방식을 시각화하여 분산 시스템의 토폴로지를 이해합니다. 노드를 클릭하면 구성 요소에 대한 세부 정보 (예 : 현재 상태 및 트랜잭션 수)가 표시됩니다.

실시간 활성 스레드 차트

실시간으로 응용 프로그램 내부의 활성 스레드를 모니터링 합니다.

요청/응답 분산형 차트

시간 경과에 따른 요청 수 및 응답 패턴을 시각화하여 잠재적인 문제를 식별합니다.
Pinpoint Server Map

CallStack

분산 환경의 모든 트랜잭션에 대해 코드 수준의 가시성을 확보하여 단일보기에서 병목 지점 및 장애 지점을 식별합니다.
Pinpoint CallStack View

Inspector

CPU 사용, 메모리/Garbage 수집, TPS 및 JVM 인수와 같은 응용 프로그램에 대한 추가 세부 정보를 봅니다.
Pinpoint Inspector View

참고

https://d2.naver.com/helloworld/1194202
https://medium.com/naver-cloud-platform/naver-cloud-platform-application-performance-monitoring-pinpoint-50dfb03654a8

Comments