Pinpoint 서버 생성 가이드
  • PDF

Pinpoint 서버 생성 가이드

  • PDF

사용하기 전에

Q. Pinpoint는 무엇인가요?

  • Java 분산 서비스 및 시스템의 지속적인 성능 분석을 제공하며, 오류 발생 가능성에 대한 진단과 추적을 지원하는 플랫폼 서비스입니다.
  • “N” 계층의 SOA(Service Oriented Architecture) 및 Micro-Service로 구성된 아키텍처 서비스의 추적/분석 기능을 제공합니다.
  • 분산 애플리케이션의 트랜잭션 분석, Topology Detection, Bytecode Instrumentation을 활용한 진단 기능을 제공합니다.
  • "Pinpoint"는 '네이버주식회사'에서 개발하여 공개한 오픈소스인 Pinpoint를 이용하고 있습니다.

Q. Pinpoint를 사용하면 어떤 이점이 있나요?

  • 서비스 코드 수정 없이 Java Application의 성능을 진단하고, 오류를 추적할 수 있습니다.
  • 다양한 Java Agent Plug-in 기능을 지원하고, 지속적으로 확장 가능한 기능을 제공합니다.
  • 복잡한 서비스의 분산 환경을 하나의 트랜잭션으로 추적하여 Root Cause 분석에 중요한 데이터를 제공합니다.

Q. Pinpoint 서버는 어떻게 생성하나요?

  • 콘솔 > Compute > Server 메뉴에서 Pinpoint 서버 이미지를 선택하여 생성할 수 있습니다.
  • 원하는 사양의 서버를 생성하고 필요에 따라 스토리지를 추가합니다.
  • 월 요금제와 시간 요금제로 청구되며, 서버를 생성한 후 접속 환경을 설정하여 이용할 수 있습니다.
  • Pinpoint 웹 서비스를 이용하기 위해서 공인 IP 주소를 신청하고 ACG 설정에서 10090 포트를 추가해야 합니다.
  • 콘솔에 접속한 후 다음의 단계를 통해 쉽게 서버를 생성할 수 있습니다.

Q. 어떤 상품이 제공 되나요?

  • OS Version별로 다음 상품을 제공합니다.
    • Pinpoint 1.7.3-centos-7.8-64
    • Pinpoint 1.7.3-ubuntu-16.04-64

Q. Pinpoint Web에 접속할 수 없습니다.

  • Pinpoint 웹 서비스를 사용하기 위해서는 공인 IP 주소를 신청하여 서버에 할당해야 하며, ACG에 10090 포트가 추가되어 있어야 합니다(접속 환경 설정 참고).
  • 공인 IP 주소와 ACG를 확인한 후에도 접속되지 않는 경우 Pinpoint 프로세스가 정지된 상태일 수 있으니, 터미널에서 재시작 명령어를 실행하여 프로세스를 다시 시작하십시오(Pinpoint 프로세스 관리 참고).

Q. Pinpoint는 어느 디렉터리에 설치되나요?

  • /root/pinpoint 디렉터리에 설치됩니다.
  • Pinpoint 설치 경로에는 pinpoint-collector, pinpoint-web, hbase-1.2.6.1 등이 함께 설치됩니다.
  • 데이터 유실을 방지하기 위해 설치 경로를 백업해 두는 것을 권장합니다.

Q. Pinpoint Admin 패스워드를 초기화하려면 어떻게 해야 하나요?

  • Pinpoint Admin 패스워드를 초기화하는 방법은 다음과 같습니다.
    1. 서버 접속
    2. [Pinpoint Web 설치 경로]/webapps/pinpoint-web-1.7.3/WEB-INF/web.xml 수정
      • Pinpoint Web 초기 설치 경로: /root/pinpoint/pinpoint-web
    3. LoginCheck filter 항목의 <init-param>username, password 값 수정
      • <param-name>username</param-name>, <param-name>password</param-name>
    4. Pinpoint Web 서비스 재시작
      • $ /root/pinpoint/pinpoint-web/bin/shutdown.sh
      • $ /root/pinpoint/pinpoint-web/bin/startup.sh

Q. Pinpoint 웹 서비스를 위해 주의할 사항이 있나요?

  • Pinpoint Web 서비스는 기본적으로 HTTP 프로토콜 기반으로 설정되어 있습니다.
  • Pinpoint Web 서비스를 보다 안정적이고 보안이 강화된 방법으로 사용을 원하실 경우 HTTPS 프로토콜로 사용하시기 바랍니다.
  • SSL 인증서 및 Web Service Domain 생성 후 사용하시면 됩니다.

Pinpoint 소개

Pinpoint는 분산 서비스 및 시스템의 성능 분석/진단/추적 플랫폼 서비스로서 “N” 계층의 SOA(Service Oriented Architecture) 및 Micro-Service로 구성된 아키텍처 서비스의 추적 및 분석 기능을 제공하고, 분산 애플리케이션의 트랜잭션 분석, Topology Detection, Bytecode Instrumentation을 활용한 진단 기능을 제공합니다.

Pinpoint 서버 생성

Pinpoint 서버 생성 과정은 아래와 같습니다.

Step 1. 콘솔 접속

콘솔에 접속해서 Compute > Server 메뉴를 선택합니다.

① 서버를 생성하려면 [서버 생성] 버튼을 클릭합니다.

Step 2. 서버 이미지 선택

Pinpoint 서버 이미지를 선택해서 서버를 생성합니다.

① 이미지타입 Application, Application 이미지타입 Pinpoint를 선택합니다.

② 팝업 창의 안내(Pinpoint 사용을 위한 공인 IP 주소, ACG 신청, 초기 비밀번호 확인)를 확인합니다.

[확인] 버튼을 클릭하면 팝업창이 닫히면서 서버 정보 입력 화면으로 이동합니다.

Step 3. 서버 설정

스토리지 종류, 서버 타입, 요금제, Zone을 선택하고, 서버 이름을 입력합니다.

① 미리 생성한 VPC와 Subnet을 선택합니다.

  • 미리 생성한 VPC와 Subnet이 없다면 신규 서버를 생성할 수 없으므로 아래 가이드를 참고하여 VPC와 Subnet을 생성합니다.
  • VPC 생성 가이드는 여기를 참고하여 주시기 바랍니다.
  • Subnet 생성 가이드는 여기를 참고하여 주시기 바랍니다.
  • (*) Internet Gateway(Public) Subnet에 생성해야 공인 IP 할당 및 접속이 가능합니다.

② 부팅 스토리지로 사용할 스토리지 종류를 선택합니다.

  • 고성능 I/O가 필요한 서비스에는 SSD를 선택하고, 일반적인 서비스에는 HDD를 선택합니다.

③ 원하는 서버 타입을 선택합니다.

  • 일부 서버 스펙은 부팅 디스크 타입에 따라 지원되지 않을 수 있습니다.
  • 필요한 목적에 따라 Standard, High Memory 서버 타입을 선택합니다.

④ 요금제는 월요금제 또는 시간 요금제 중 선택할 수 있습니다.

⑤ 서버 개수와 이름을 입력합니다.

  • 고객이 서버를 구별하기 위한 명칭으로, 중복해서 사용할 수 없습니다.
  • 서버 이름을 입력하지 않으면, 자동으로 입력되어 생성됩니다.

⑥ Network Interface를 설정합니다. Standard Type은 최대 2개, 그 외 Type은 최대 3개까지 추가 생성할 수 있습니다.

  • RedHat Enterprise 서버는 1개의 NIC만 생성 가능합니다.

⑦ 물리배치 그룹, 반납보호 설정 등의 옵션 정보를 선택 및 입력하니다.

⑧ 서버 설정을 마친 후 [다음] 버튼을 클릭합니다.

Step 4. 인증키 설정

보유하고 있는 인증키가 있는 경우 [보유하고 있는 인증키 이용] 을 선택하고, 없는 경우 아래의 절차대로 새로운 인증키를 생성합니다.

[새로운 인증키 생성] 을 선택합니다.

② 인증키 이름을 입력합니다.

[인증키 생성 및 저장] 버튼을 클릭하여 로컬 PC에 인증키 파일을 저장합니다.

  • 새로운 인증키를 발급받습니다.
  • 저장 후 인증키는 고객의 PC 안전한 위치에 보관해 주십시오.
  • 인증키는 최초의 관리자 비밀번호를 가져올 때 이용됩니다.

[다음] 버튼을 클릭합니다.

Step 5. 네트워크 접근 설정

보유하고 있는 ACG를 이용하여 방화벽 설정하기

① 방화벽은 기본으로 ‘default-acg’를 제공합니다.

  • ACG는 필수로 선택해야 하며, 보유하고 있는 ACG 중에서 선택에서 선택할 수 있습니다.
  • 보유하고 있는 ACG는 서버 타입에 따라 최대 3개까지 선택할 수 있습니다.

[다음] 클릭해 네트워크 접근 설정을 마칩니다.

신규 ACG 생성을 선택하여 방화벽을 설정하기

  • ACG 메뉴로 이동하여 ACG를 생성합니다. 다음 ACG생성하기를 참고하여 신규 ACG를 생성한 후 방화벽을 설정하시기 바랍니다.

  • Pinpoint의 웹 서비스를 사용하기 위해서는 아래와 같이 ACG 설정이 필요합니다.

구분 IP 대역 Port Description
TCP (필요 IP 대역) 22 Pinpoint Server SSH
TCP (필요 IP 대역) 10090 Pinpoint Web Port
TCP (필요 IP 대역) 8090 Pinpoint Collector Web Port
TCP (필요 IP 대역) 9994 Pinpoint Collector TCP
TCP (필요 IP 대역) 9995 Pinpoint Collector Status TCP
TCP (필요 IP 대역) 9996 Pinpoint Collector Span TCP
UDP (필요 IP 대역) 9994 Pinpoint Collector UDP
UDP (필요 IP 대역) 9995 Pinpoint Collector Status UDP
UDP (필요 IP 대역) 9996 Pinpoint Collector Span UDP
  • Pinpoint ACG 규칙 추가 예제

pinpoint-1-1-07-1_ko

Step 6. 최종 확인

설정한 내용을 최종 확인합니다.

① 서버 이미지, 서버, 인증키, ACG가 정상적으로 설정되었는지 확인합니다.

② 최종 확인 후에는 [서버 생성] 버튼을 클릭합니다.

  • 서버가 생성되기까지는 수 분에서 수십 분이 소요됩니다.

서버 목록에서 확인

생성한 서버를 목록에서 확인합니다.

① 생성한 서버가 목록에 표시됩니다.

② 서버가 생성되고 Pinpoint 패키지가 설치 완료되어 서버 상태가 운영중이 될 때까지 대기합니다.

접속 환경 설정하기

자세한 서버 접속 환경 설정은 Compute > Server 사용가이드를 참조하면, 빠르게 사용하실 수 있습니다.
Server사용가이드를 참고하여 서버 접속 환경을 설정할 수 있습니다.

Pinpoint Server 빠르게 시작하기/중지하기

Pinpoint 서버 생성 시 제공되는 pinpoint-init.sh 파일 실행으로 Pinpoint Components를 쉽게 시작할 수 있습니다.

  • pinpoint-init.sh 파일 위치 확인

    shell> PINPOINT_HOME=/root/pinpoint
    shell> ls -al $PINPOINT_HOME
    

    pinpoint-1-1-18_ko

  • 빠르게 시작하기 : pinpoint-init.sh 실행 및 확인

    shell> PINPOINT_HOME=/root/pinpoint
    shell> $PINPOINT_HOME/pinpoint-init.sh
    

    pinpoint-1-1-19_ko

  • 빠르게 중지하기 : pinpoint-stop.sh 실행 및 확인

    shell> PINPOINT_HOME=/root/pinpoint
    shell> $PINPOINT_HOME/pinpoint-stop.sh
    

    pinpoint-1-1-20_ko

  • Pinpoint 재시작하기 : pinpoint-restart.sh 실행 및 확인
    Pinpoint Component를 정지 후 시작합니다.

    shell> PINPOINT_HOME=/root/pinpoint
    shell> $PINPOINT_HOME/pinpoint-restart.sh
    

    pinpoint-1-1-20-1_ko

  • Pinpoint 시작하기 : pinpoint-start.sh 실행 및 확인
    Pinpoint Component를 시작합니다.

    shell> PINPOINT_HOME=/root/pinpoint
    shell> $PINPOINT_HOME/pinpoint-start.sh
    

    pinpoint-1-1-20-2_ko

  • Pinpoint 상태 확인하기 : pinpoint-status.sh 실행 및 확인
    Pinpoint Component 상태를 확인합니다.

    shell> PINPOINT_HOME=/root/pinpoint
    shell> $PINPOINT_HOME/pinpoint-status.sh
    

    pinpoint-1-1-20-3_ko

  • <주의 사항> Pinpoint Components Status가 STOP일 때 pinpoint-stop.sh 또는 pinpoint-restart.sh를 실행할 경우 아래와 같은 Tomcat 오류 메시지가 출력될 수 있습니다.

    shell> PINPOINT_HOME=/root/pinpoint
    shell> $PINPOINT_HOME/pinpoint-status.sh
    shell> $PINPOINT_HOME/pinpoint-stop.sh
    

    pinpoint-1-1-20-3-2_ko

Pinpoint 프로세스 관리

다음 명령어로 Pinpoint 프로세스를 관리할 수 있습니다. Pinpoint 서비스는 아래와 같은 3가지 컴포넌트로 구성되어 있습니다.

  • HBase 프로세스 시작/중지/프로세스 확인

    shell> $PINPOINT_HOME/hbase-1.2.6.1/bin/start-hbase.sh
    shell> $PINPOINT_HOME/hbase-1.2.6.1/bin/stop-hbase.sh
    shell> ps -ef | grep hbase
    

    pinpoint-1-1-15_ko

  • Pinpoint Web 시작/중지/프로세스 확인

    shell> $PINPOINT_HOME/pinpoint-web/bin/startup.sh
    shell> $PINPOINT_HOME/pinpoint-web/bin/shutdown.sh
    shell> ps -ef | grep pinpoint-web
    

    pinpoint-1-1-16_ko

  • Pinpoint Collector 시작/중지/프로세스 확인

    shell> $PINPOINT_HOME/pinpoint-collector/bin/startup.sh
    shell> $PINPOINT_HOME/pinpoint-collector/bin/shutdown.sh
    shell> ps -ef | grep pinpoint-collector
    

    pinpoint-1-1-17_ko

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 대시보드에서 각 Application을 구분하기 위한 Unique ID를 설정합니다.
* $APPLICATION_NAME: Pinpoint Web 대시보드에서 각 Application Group을 구분하기 위한 ID를 설정합니다.

  1. ${AGENT_PATH}/pinpoint.config 파일에서 profiler.collector.ip=xxx.xxx.xxx.xxx에 Pinpoint Collector 서버 주소를 입력합니다.

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

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

Pinpoint Web 접속하기

Pinpoint Components 설치 및 시작이 완료되면, 아래와 같은 방법으로 접속 및 사용이 가능합니다.

  • Pinpoint Web 접속: http://{Public IP}:10090
  • 로그인: 최초 로그인 ID/Password인 ppadmin/{Hostname}으로 접속이 가능하며, 위의 Pinpoint Admin 패스워드를 초기화하려면 어떻게 해야 하나요?를 참고하여 접속 계정 및 비밀번호를 반드시 변경해야 합니다.

pinpoint-1-1-22_ko

① Pinpoint Web ID와 Password를 입력합니다.

[Login] 을 클릭하여 정상적으로 로그인하면 Pinpoint Main 대시보드를 사용할 수 있습니다.


이 문서가 도움이 되었습니까?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.