본문 바로가기

외부 세미나 & 특강/개발

NAVER 핀포인트(Pinpoint) cloud로 시작하는 애플리케이션 성능 모니터링

반응형

 

핀포인트(Pinpoint) cloud?

  • Pinpoint라는 오픈소스 APM툴에서 파생된 서비스
  • 네이버 클라우드플랫폼 위에서 Pinpoint라는 APM을 완전관리형으로 사용할 수 있도록 만든 서비스

APM 이란?

APM - 웨비나 발표자료 중

 

  • 서비스 상태와 성능을 모니터링하기 위한 서비스
  • 웹/모바일 애플리케이션의 성능을 자동으로 분석하고 내부 동작을 추적
  • 24시간 쉬지 않으며, 문제가 발생하면 관리자에게 자동으로 알람 전송
  • 알람, 로그를 통해 장애가 발생한 시간과 원인을 빠르게 분석
  • 하나의 대시보드 안에서 성능 문제파악이 용이
  • 시스템 업그레이드 시점 예견

APM이 필요한 때?

  • Time-to-Market을 위한 짧은 배포가 필요한 프로젝트
  • 한번의 프로젝트 개발로 끝나지 않는 경우
  • 최신 트렌드와 비즈니스 요구를 빠르게 반영하기 위한 잦은 업데이트가 반복적으로 요구될 시
  • Application의 안정적인 운영을 위해 지속적으로 모니터링이 필요

APM의 등장 배경?

  • APM은 N계층 구조, 마이크로서비스 같은 시스템을 모니터링하기에 적합하다
  • 과거에는 2계층, 3계층처럼 단순했지만 시간이 흐르면서 복잡도가 커졌다
  • 기존 애플리케이션들의 기능을 비즈니스적인 의미를 가지는 기능단위로 보는 SOA, 소규모의 독립적인 서비스들을 연결한 마이크로서비스 아키텍처들이 등장함
  • N계층, 마이크로서비스 계층으로 넘어가면서 디버깅, 문제 파악이 어려워짐
  • APM을 사용하면 전체 시스템을 파악하거나, 한 단계씩 파악이 쉬워진다

Pinpoint 소개

  • 네이버에서 2012년에 시작하여 2015년에 오픈한 오픈소스 툴
  • 다양한 기능 : 대규모 분산 서비스 및 시스템의 성능을 분석/진단/추적에 최적화된 기능 보유
  • 확실한 사례 : NAVER에서 만든, NAVER에서 사용중인 서비스(Since 2015) +12,000 Agent
  • 인기로 검증된 제품 : GitHub 스타 +10k 오픈소스
  • 오픈소스이기 때문에 상용프로그램처럼 비용 부담이 없다(사용량에 따라 다름)

Pinpoint의 특징 및 기능

  • 분산 트랜잭션 추적 : 분산된 애플리케이션의 메시지를 추적할 수 있는 기능을 제공
  • 토폴로지 자동 발견 : 애플리케이션 구성을 쉽게 파악할 수 있도록 애플리케이션 토폴로지를 자동으로 발견하고, Server Map을 제공
  • 수평 확장성 : 대규모 서버군을 지원할 수 있도록 수평 확장성을 제공
  • 코드 수준의 가시성 : 문제 발생 지점 및 병목 구간을 쉽게 발견할 수 있도록, 코드 수준의 가시성을 제공
  • Bytecode instrumentation : Bytecode instrumentation 기법으로, 코드 수정 없이 성능 정보를 수집
  • 알람 기능 : 모니터링 대상 및 임계치 설정으로 실시간 모니터링과 SMS/Email 알람도 가능
  • Plug-in 기능 : 현재까지 40여종의 Plug-in 기능을 제공

네이버클라우드플랫폼 Pinpoint Cloud 서비스 소개

  • pinpoint를 따로 설치하거나 관리할 필요가 없는 완전관리형 SaaS
    • 고객 구축형 : 물리/가상서버에 직접 설치하는 타입. 모니터링 대상 서버가 늘어나면 핀포인트 시스템을 스케일아웃하는것도 직접해야 함. 관리포인트가 가장 많음
    • 네이버 클라우드 플랫폼 Pinpoint 서비스 : Pinpoint를 직접 설치할 필요는 없지만, Pinpoint가 설치된 서버는 직접 관리해야 함
    • 네이버 클라우드 플랫폼 Pinpoint 클라우드 서비스 : 네이버 클라우드 서비스에서 레포지토리를 하나 만들고 Pinpoint를 설치하기만 하면 된다.

  • repository
    • 모니터링 대상 어플리케이션 및 수집된 모니터링 데이터를 구분하는 최소 단위.
    • 핀포인트 클라우드를 사용할 때 필수로 만들어야 하는 항목.
    • 리전 통합 서비스이기 때문에 리전마다 만들 필요는 없다. 한 계정당 10개 만들 수 있다
  • usage
    • 핀포인트 클라우드의 사용량을 차트나 테이블로 확인할 수 있는 메뉴

Pinpoint Cloud 서비스 요금 안내

 

  • span count, 알람 기능의 사용량에 따라 과금량이 달라짐
  • span count : RPC 추적을 위한 기본 단위. 사용자가 100명이 있고 각 사용자가 100건을 호출하는 경우 spancount = 100 *100 = 10000

 

웨비나 영상

https://www.youtube.com/watch?v=3Fy6-oGLvuQ

 

반응형