목차

시작하기 전에

Pinpoint Cloud는 대규모 분산 서비스 및 시스템의 성능 분석/진단/추적 플랫폼 Pinpoint를 클라우드 환경에서 간편하게 사용할 수 있는 형태로 제공됩니다. 네이버 클라우드 플랫폼 콘솔에서 서비스 신청 및 서비스 이용에 따른 사용량을 간단히 확인할 수 있으며, 기존 Open Source 버전의 Pinpoint를 사용하고 계신 분들도 쉽게 적응하실 수 있도록 Open Source 버전과 동일한 UI를 별도 Web Console로 제공합니다.

Pinpoint Cloud 콘솔 이용하기

네이버 클라우드 플랫폼 콘솔에서는 Pinpoint Cloud를 사용하기 위한 Repository 관리 기능과 서비스 사용량을 확인할 수 있는 기능을 제공합니다.

Repository 관리하기

Repository 생성하기

Pinpoint Cloud 서비스를 사용하기 위해서는 Repository의 생성이 필요합니다. Repository를 통해 모니터링 대상 Application 및 수집된 모니터링 Data를 구분할 수 있습니다.

1. 콘솔에 접속하여 Products & Service > Management > Pinpoint Cloud 메뉴로 이동합니다.

2. Repository 메뉴를 선택한 후, [+ Repository 생성] 버튼을 클릭합니다.

3. Repository 생성 팝업에서 생성할 Repository의 이름과 설명을 입력 후, [다음] 버튼을 클릭합니다.

4. Repository의 Admin 계정 정보를 입력합니다. Admin ID, Password, Admin 사용자의 추가 정보를 입력 후 개인정보수집이용에 동의 후 [생성] 버튼을 클릭하면 Repository 가 생성됩니다.

5. Repository의 생성에는 최대 10분~15분 정도 소요될 수 있습니다. Repository의 생성이 완료되어 사용 가능한 상태인 경우, Repository 목록에서 해당 Repository가 운영 중 상태로 표시됩니다.

Repository 삭제하기

Repository 목록에서 더 이상 사용하지 않는 Repository를 삭제할 수 있습니다.

  • 삭제된 Repository에 보곤되어 있던 Data는 다시 복원할 수 없습니다.
  • Repository를 삭제하더라도 Agent는 자동 삭제되지 않습니다.

1. 콘솔에 접속하여 Products & Service > Management > Pinpoint Cloud 메뉴로 이동합니다.

2. Repository 메뉴를 선택한 후, Repository 목록에서 삭제할 Repository의 [삭제] 버튼을 클릭합니다.

3. Repository의 삭제 여부를 최종 확인하는 Repository 삭제 팝업이 표시됩니다. Repository 삭제 팝업에서 [삭제] 버튼 클릭 시 Repository가 삭제됩니다.

Pinpoint Cloud 사용량 확인하기

Usage 메뉴를 통해 Pinpoint Cloud의 사용량을 Chart 및 Table로 확인할 수 있습니다. 사용량을 확인할 Repository 및 기간을 선택하여 선택한 조건의 사용량 Data만을 확인할 수 있습니다.

Usage 메뉴를 통해 확인 가능한 사용량 Data는 아래와 같습니다.

항목 표시 형식 설명
Span Count Line Chart 선택한 Repository, 기간에 수집된 Span Count를 Line Chart로 표시합니다. 일 별 Span Count 수집량의 변화를 확인하실 수 있습니다.
Email 발송 수 Line Chart 선택한 Repository, 기간에 발생한 알람으로 인해 발송된 Email 수를 Line Chart로 표시합니다. 일 별 Email 발송량의 변화를 확인하실 수 있습니다.
SMS 발송 수 Line Chart 선택한 Repository, 기간에 발생한 알람으로 인해 발송된 SMS 수를 Line Chart로 표시합니다. 일 별 SMS 발송량의 변화를 확인하실 수 있습니다.
국가 별 SMS 발송 수 Table 선택한 Repository, 기간에 발생한 알람으로 인해 발송된 SMS 수를 발송 국가 별로 확인하실 수 있습니다.

Pinpoint Cloud Web Console 이용하기

Pinpoint Cloud는 기존 Open Source 버전의 Pinpoint 사용자 분들도 쉽게 적응하실 수 있도록 Open Source 버전의 Pinpoint와 동일한 UI환경을 별도 Web Console을 통해 제공합니다.

Agent 설치 및 관리

Pinpoint Cloud를 사용하기 위해서는 모니터링 대상 Application에 Pinpoint Agent의 설치가 필요합니다.

Pinpoint Agent는 모니터링할 Application(Tomcat 등)에 연결된 Java Agent로 실행됩니다. Pinpoint Agent를 모니터링 대상 Applicationd에 연결하기 위해서는 모니터링 대상 Application의 실행 시-javaagent JVM argument에 $AGENT_PATH/pinpoint-bootstrap-$VERSION.jar를 전달해야 합니다.

Agent 환경 변수 등록 및 설치

Web Console을 통해 Agent 설치를 위한 환경 변수를 설정할 수 있습니다.

1. Web Console에 로그인 한 후, 우측 상단의 [설정] 버튼을 클릭합니다. 드롭다운 메뉴에서 Instanllation 메뉴를 선택합니다.

2. Application Name, Agent ID를 입력 후, 각각 Check 버튼을 클릭합니다.

항목 설명
Applicaion Name Web Console에서 각 Application Group을 구분하기 위한 ID를 설정합니다.
Agent ID Web Console에서 각 Application을 구분하기 위한 Unique ID를 설정합니다.

3. 입력된 정보로 JVM Argument Info가 구성됩니다. 마우스 오버 시, 이를 복사할 수 있는 버튼이 표시됩니다.

4. Download Link 를 통해 Agent를 다운로드 받습니다.

5. 다운로드 받은 Pinpoint Agent를 설치합니다. 다운로드 받은 파일의 압축을 푸는 것으로 설치 작업은 완료 되며, Application 실행 옵션 설정과 라이선스 키 설정을 통해 Agent 설정을 완료 할 수 있습니다. 아래는 Tomcat Application Service에 Pinpoint Agent를 설치하고 설정하는 방법의 예시입니다.

  • Agent 설치 후, Tomcat 시작 스크립트인 $CATALINA_HOME/bin/catalina.sh 파일을 다음과 같이 수정하고 저장합니다.

      CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar"
      CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"
      CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"
    

    6. Agent License Key 마우스 오버 시, License key를 복사할 수 있는 버튼이 표시되며 $AGENT_PATH/pinpoint.license 파일을 열어 복사한 License key를 붙여 넣기한 뒤 저장 합니다.

7. Tomcat Application Service 실행 시, Pinpoint Agent에 의해 성능 정보가 수집됩니다.

Pinpoint Components Log Level 조정

Pinpoint 각 컴포넌트의 로그 레벨을 조정하기 위해서는 log4j.xml 파일을 수정해야 합니다.

  (...중략)
  <logger name="com.navercorp.pinpoint" additivity="false">
      <level value="WARN"/>
      <appender-ref ref="console"/>
  </logger>

  <logger name="com.navercorp.pinpoint.web.filter" additivity="false">
      <level value="WARN"/>
      <appender-ref ref="console"/>
  </logger>

  <logger name="com.navercorp.pinpoint.web.controller" additivity="false">
      <level value="WARN"/>
      <appender-ref ref="console"/>
  </logger>

  <logger name="com.navercorp.pinpoint.web.applicationmap" additivity="false">
      <level value="WARN"/>
      <appender-ref ref="console"/>
  </logger>

  <logger name="com.navercorp.pinpoint.web.calltree.server" additivity="false">
      <level value="WARN"/>
      <appender-ref ref="console"/>
  </logger>

  <logger name="com.navercorp.pinpoint.web.mapper" additivity="false">
      <level value="WARN"/>
      <appender-ref ref="console"/>
  </logger>

  <logger name="com.navercorp.pinpoint.web.service" additivity="false">
      <level value="WARN"/>
      <appender-ref ref="console"/>
  </logger>
  (...중략)

사용자 관리

Pinpoint Cloud는 Repository 별로 Web Console을 사용할 수 있는 사용자 계정을 관리할 수 있는 기능을 제공합니다.

역할 생성

Web Console을 사용할 수 있는 사용자들의 권한을 미리 설정하고, 사용자 생성 시 역할을 할당하여 사용자의 권한을 제어할 수 있습니다.

1. Web Console에 로그인 한 후, 우측 상단의 [설정] 버튼을 클릭합니다. 드롭다운 메뉴에서 Role 메뉴를 선택합니다.

2. Role List 를 통해 현재 생성된 역할 목록을 확인할 수 있습니다.

3. Role List 우측 상단의 [+(추가)] 버튼을 클릭합니다.

4. 새롭게 생성할 역할의 이름 및 상세 권한을 설정한 후, 하단의 [저장] 버튼을 클릭합니다.

역할 삭제

Role 목록에서 삭제할 역할을 선택 한 후, [삭제] 버튼을 클릭합니다.

  • 역할을 삭제할 경우, 해당 역할이 할당되어 있는 사용자들의 권한이 함께 삭제되니 주의해 주세요.

사용자 추가

Web Cosnole을 통해 Repository 별 사용자를 추가할 수 있습니다.

1. Web Console에 로그인 한 후, 우측 상단의 [설정] 버튼을 클릭합니다. 드롭다운 메뉴에서 Users 메뉴를 선택합니다.

2. Pinpoint User 목록를 통해 현재 사용자 목록을 확인할 수 있습니다.

3. Pinpoint User 목록 우측 상단의 [+(추가)] 버튼을 클릭합니다.

4. 새롭게 생성할 사용자의 정보를 입력하고, 해당 사용자에게 할당할 역할을 선택합니다.

5. 하단의 [저장] 버튼을 클릭하면 새로운 사용자 생성이 완료됩니다.

사용자 삭제

Pinpoint User 목록에서 삭제할 사용자를 선택 한 후, [삭제] 버튼을 클릭합니다.

사용자 그룹 추가

사용자 그룹을 생성하여 사용자가 열람할 수 있는 Application 을 일괄 지정하고, Alarm 지정 시 통보 대상자로 일괄 설정할 수 있습니다.

1. Web Console에 로그인 한 후, 우측 상단의 [설정] 버튼을 클릭합니다. 드롭다운 메뉴에서 User Group 메뉴를 선택합니다.

2. User Group 목록를 통해 현재 사용자 목록을 확인할 수 있습니다.

3. User Group 목록 우측 상단의 [+(추가)] 버튼을 클릭한 후, 추가할 사용자 그룹의 이름을 입력합니다.

4. 사용자 그룹 목록에서 해당 그룹에 추가할 사용자를 선택합니다.

Pinpoint 주요 기능 소개

Web Console의 주요 기능 및 사용 방법을 설명합니다.

Server Map

Server Map을 통해 분산 시스템의 구성을 한눈에 확인할 수 있으며, 각 노드를 클릭해 구성 요소에 대한 현재 상태 및 트랜잭션 수 등 상세 정보를 확인할 수 있습니다.

1. Server Map

분산 시스템의 구성을 한눈에 확인할 수 있는 Totpology를 제공합니다.
서비스의 구성 뿐만 아니라 사용자의 요청으로부터 각 노드로 향하는 트랜잭션의 수를 바로 확인할 수 있습니다.
노드 선택 시, Scatter Chart를 통해 해당 노드의 상세 정보를 확인할 수 있습니다.

2. Scatter Chart

Server Map에서 선택한 노드의 상세 정보를 표시합니다.
선택한 노드의 트랜잭션에 대한 성공/실패 수 및 응답 시간에 따른 분포를 Chart를 통해 간단히 확인할 수 있습니다. Scatter Chart를 통해 이상이 있는 트랜잭션을 쉽게 발견할 수 있으며, Chart에서 상세 확인이 필요한 영역을 드래그하여 선택한 영역에 포함된 트랜잭션의 상세 분석을 위한 Call Stack 분석을 시작할 수 있습니다.

3. Realtime Active Thread Chart 현재 모니터링 중인 Application 내부의 활성 스레드 수를 실시간 모니터링할 수 있습니다.

Call Stack

분산 시스템의 트랜잭션에 대한 코드 수준의 가시성을 제공합니다. 이를 통해 병목 지점 및 장애 발생 지점을 간단히 식별하고, 애플리케이션의 다양한 오류 및 예외 정보를 확인할 수 있습니다.

1. Transaction Scatter Chart를 통해 선택한 트랜잭션들의 목록을 표시합니다.
트랜잭션 선택 시, 선택한 트랜잭션의 상세 정보를 확인할 수 있습니다.

2. Call Tree 트랜잭션을 수행하며 실행된 메소드 및 메소드들의 응답시간을 상세하게 확인할 수 있습니다.
Call Tree를 통해 병목 및 장애 지점을 빠르게 파악하고 애플리케이션의 다양한 오류 및 예외 정보를 빠르게 확인할 수 있습니다.

Application Inspector

Application inspector 메뉴를 통해 Agent들의 집계된 리소스 데이터(stat : cpu, memory, tps, datasource connection count)를 확인할 수 있습니다.

Alarm

지표들에 대한 임계치를 설정하여, 임계치를 초과한 경우 SMS/Email을 통해 알람을 받을 수 있습니다.

알람을 지정할 수 있는 지표는 아래와 같습니다.

항목 설명
SLOW COUNT 외부에서 Application을 호출한 요청 중에 외부서버로 응답을 늦게 준 요청의 개수가 임계치를 초과한 경우 알람이 전송된다.
SLOW RATE 외부에서 Application을 호출한 요청 중에 외부서버로 응답을 늦게 준 요청의 비율(%)이 임계치를 초과한 경우 알람이 전송된다.
ERROR COUNT 외부에서 Application을 호출한 요청 중에 에러가 발생한 요청의 개수가 임계치를 초과한 경우 알람이 전송된다.
ERROR RATE 외부에서 Application을 호출한 요청 중에 에러가 발생한 요청의 비율(%)이 임계치를 초과한 경우 알람이 전송된다.
TOTAL COUNT 외부에서 Application을 호출한 요청 개수가 임계치를 초과한 경우 알람이 전송된다.
SLOW COUNT TO CALLEE Application 내에서 외부서버를 호출한 요청 중 slow 호출의 개수가 임계치를 초과한 경우 알람이 전송된다. 메모 항목에 외부서버의 도메인 이나 주소(ip, port)를 입력 필요 (ex. naver.com, 127.0.0.1:8080)
SLOW RATE TO CALLEE Application 내에서 외부서버를 호출한 요청 중 slow 호출의 비율(%)이 임계치를 초과한 경우 알람이 전송된다. 메모 항목에 외부서버의 도메인 이나 주소(ip, port)를 입력 필요 (ex. naver.com, 127.0.0.1:8080)
ERROR COUNT TO CALLEE Application 내에서 외부서버를 호출한 요청 중 error 가 발생한 호출의 개수가 임계치를 초과한 경우 알람이 전송된다. 메모 항목에 외부서버의 도메인 이나 주소(ip, port)를 입력 필요 (ex. naver.com, 127.0.0.1:8080)
ERROR RATE TO CALLEE Application 내에서 외부서버를 호출한 요청 중 error 가 발생한 호출의 비율이 임계치를 초과한 경우 알람이 전송된다. 메모 항목에 외부서버의 도메인 이나 주소(ip, port)를 입력 필요 (ex. naver.com, 127.0.0.1:8080)
TOTAL COUNT TO CALLEE Application 내에서 외부서버를 호출한 요청의 개수가 임계치를 초과한 경우 알람이 전송된다. 메모 항목에 외부서버의 도메인 이나 주소(ip, port)를 입력 필요 (ex. naver.com, 127.0.0.1:8080)
HEAP USAGE RATE heap의 사용률이 임계치를 초과한 경우 알람이 전송된다.
JVM CPU USAGE RATE Application의 CPU 사용률이 임계치를 초과한 경우 알람이 전송된다.
SYSTEM CPU USAGE RATE 서버의 CPU 사용률이 임계치를 초과한 경우 알람이 전송된다.
DATASOURCE CONNECTION USAGE RATE Application의 DataSource내의 Connection 사용률이 임계치를 초과한 경우 알람이 전송된다.
DEADLOCK OCCURRENCE Application에서 데드락 상태가 탐지되면 알람이 전송된다.
FILE DESCRIPTOR COUNT 열려있는 File Descriptor 개수가 임계치를 초가한 경우 알람이 전송된다.

알람 설정을 위해서는 아래의 절차가 필요합니다.

1. Web Console에 로그인 한 후, 우측 상단의 [설정] 버튼을 클릭합니다. 드롭다운 메뉴에서 Authentication & Alarm 메뉴를 선택합니다.

2. Application 목록에서 Alarm을 설정할 Application을 선택합니다.

3. Alarm 목록 우측 상단의 [+(추가)] 버튼을 클릭합니다.

4. 알람 항목기준점(임계치)을 설정하고, 임계치를 초과할 경우 통보를 받을 사용자 그룹 및 통보 방법을 선택합니다.

5. [OK] 버튼을 클릭하여 입력한 내용을 저장합니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...