Pinpoint 주요 화면 소개

Pinpoint 서비스의 주요 기능 및 대시보드를 소개하고, 기능을 간략하게 설명합니다(Pinpoint 소개 영상).

Pinpoint 소개 영상

Pinpoint Main 대시보드

아래와 같이 크게 3가지 요소로 구성되어 있습니다.

① Server Map
② Realtime Active Thread Chart
③ Request/Response Scatter Chart

Pinpoint CallStack

아래와 같이 코드 레벨의 트랜잭션 단위 정보 확인이 가능합니다.

Pinpoint Inspector

아래와 같이 CPU Usage, Memory/Garbage Collection과 같은 부가 정보에 대한 Chart 확인이 가능합니다.

Pinpoint Cheat Sheet(사용 및 운영)

Pinpoint 서비스 사용 및 운영 시 팁과 Trouble shooting guide를 간략하게 설명하고, 지속적으로 업데이트할 예정입니다.

Pinpoint Agent 설치 및 적용

Pinpoint Agent는 각 사용자가 해당 서비스에 직접 설치하고 설정해야 합니다. Tomcat Application Service에 설치하고 설정하는 방법은 다음과 같습니다.

  1. Pinpoint Agent 바이너리를 다운로드 및 설치합니다(Pinpoint Releases 바로가기).
    Agent 설치 디렉터리는 사용자가 직접 선택하여 설치 및 저장합니다.

  2. Tomcat Application Service에 Agent를 설치하고, $CATALINA_HOME/bin/catalina.sh 파일을 다음과 같이 수정하고 저장합니다.

    $AGENT_PATH={PINPOINT_AGENT_INSTALLATION_DIRECTORY}
    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"
    

    각 설정 항목에 대한 변수는 아래와 같습니다.

    • $AGENT_PATH: Pinpoint Agent가 설치된 디렉터리를 지정합니다.
    • pinpoint-bootstrap-$VERSION.jar: 2018년 8월 5일 현재 1.7.3 버전이 최종 릴리즈 버전입니다.
    • $AGENT_ID: Pinpoint Web Dashboard에서 각 Application을 구분하기 위한 Unique ID를 설정합니다.
    • $APPLICATION_NAME: Pinpoint Web Dashboard에서 각 Application Group을 구분하기 위한 ID를 설정합니다.
  3. ${AGENT_PATH}/pinpoint.config 파일에서 profiler.collector.ip=xxx.xxx.xxx.xxx에 Pinpoint Collector 서버 주소를 입력합니다.

  4. $CATALINA_HOME/bin/startup.sh을 실행하면, Pinpoint Agent에서 값을 수집하여 Pinpoint Collector(Port: 9994)로 전송합니다.

위와 같이 설정 완료 및 정상적으로 Application이 실행되었다면, Pinpoint Web에서 Application ID/Name으로 추가된 Agent 정보를 확인할 수 있습니다.

Pinpoint Agent Supported Modules(최종 업데이트: 2018년 04월 01일)

Pinpoint Agent에서 성능 수집을 지원하는 Application 및 Version 정보는 아래와 같습니다. 아래의 목록은 지속적으로 업데이트 예정입니다.

  • JDK 6+
  • Tomcat 6/7/8, Jetty 8/9, JBoss EAP 6, Resin 4, Websphere 6/7/8, Vertx 3.3/3.4/3.5
  • Spring, Spring Boot (Embedded Tomcat, Jetty)
  • Apache HTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient
  • Thrift Client, Thrift Service, DUBBO PROVIDER, DUBBO CONSUMER
  • ActiveMQ, RabbitMQ
  • MySQL, Oracle, MSSQL, CUBRID,POSTGRESQL, MARIA
  • Arcus, Memcached, Redis, CASSANDRA
  • iBATIS, MyBatis
  • DBCP, DBCP2, HIKARICP
  • gson, Jackson, JSON Lib
  • log4j, Logback

Pinpoint Components Log Level 조정

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

  • Pinpoint Collector : $PINPOINT_HOME/pinpoint-collector/webapps/pinpoint-collector-1.7.3/WEB-INF/classes/log4j.xml
  • Pinpoint Web : $PINPOINT_HOME/pinpoint-web/webapps/pinpoint-web-1.7.3/WEB-INF/classes/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 Web Session Timeout 설정 방법

Pinpoint Web Session Timeout 시간은 현재 30분으로 설정되어 있습니다. 아래와 같이 ${PINPOINT_HOME}/pinpoint-web/conf/web.xml 파일의 값을 수정 후 Pinpoint Web 서비스를 재시작하면 적용됩니다.

    (...중략)
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    (...중략)

Pinpoint Components Log File 초기화 방법

Pinpoint 각 컴포넌트의 로그는 Tomcat의 catalina.out 파일에 저장되며, 아래와 같이 Online Initialization이 가능합니다. 다음은 Pinpoint Web 컴포넌트의 로그를 초기화하는 예입니다.

shell> cat /dev/null > $PINPOINT_HOME/pinpoint-web/logs/catalina.out

Pinpoint VM 서버의 상세 모니터링 가이드

Pinpoint 서비스가 설치된 VM 서버에 대한 모니터링은 네이버 클라우드 플랫폼 모니터링 상품을 통해 확인할 수 있습니다.

HBase 설치 및 운영 가이드

HBase 컴포넌트는 Apache HBase 프로젝트의 1.2.6.1 Binary 버전을 수정없이 사용하고 있으며, 해당 가이드는 아래와 같이 확인할 수 있습니다.

Pinpoint Web Application 정보 삭제하기

Pinpoint Web에서 사용하지 않는 Application 및 Agent 정보를 아래와 같은 방법으로 삭제할 수 있습니다. $PASSWORD의 경우 $PINPOINT_HOME/pinpoint-web/webapps/pinpoint-web-1.7.3/WEB-INF/classes/pinpoint-web.properties 파일의 admin.password=xxxx를 참조합니다.

  • Application Name 삭제하기

    /admin/removeApplicationName.pinpoint?applicationName=$APPLICATION_NAME&password=$PASSWORD
    
  • Agent ID 삭제하기

    /admin/removeAgentId.pinpoint?applicationName=$APPLICATION_NAME&agentId=$AGENT_ID&password=$PASSWORD
    

Pinpoint FAQ

네이버 클라우드 플랫폼 Pinpoint 상품의 사용자 가이드 외에 보다 많은 정보를 확인하기 위해서는 아래와 같이 공식 사이트의 FAQ 글을 참조할 수 있습니다.

Pinpoint 오픈소스 가이드 바로가기

Pinpoint 오픈 소스 버전에 대한 Repository, Technology, 기타 유용한 글에 대한 바로가기 링크를 제공합니다.

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

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

    처리중...