- 인쇄
- 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 패스워드를 초기화하는 방법은 다음과 같습니다.
- 서버 접속
- [Pinpoint Web 설치 경로]/webapps/pinpoint-web-1.7.3/WEB-INF/web.xml 수정
- Pinpoint Web 초기 설치 경로: /root/pinpoint/pinpoint-web
LoginCheck
filter 항목의<init-param>
중username
,password
값 수정<param-name>username</param-name>
,<param-name>password</param-name>
- 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 규칙 추가 예제
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-init.sh
실행 및 확인shell> PINPOINT_HOME=/root/pinpoint shell> $PINPOINT_HOME/pinpoint-init.sh
빠르게 중지하기 :
pinpoint-stop.sh
실행 및 확인shell> PINPOINT_HOME=/root/pinpoint shell> $PINPOINT_HOME/pinpoint-stop.sh
Pinpoint 재시작하기 :
pinpoint-restart.sh
실행 및 확인
Pinpoint Component를 정지 후 시작합니다.shell> PINPOINT_HOME=/root/pinpoint shell> $PINPOINT_HOME/pinpoint-restart.sh
Pinpoint 시작하기 :
pinpoint-start.sh
실행 및 확인
Pinpoint Component를 시작합니다.shell> PINPOINT_HOME=/root/pinpoint shell> $PINPOINT_HOME/pinpoint-start.sh
Pinpoint 상태 확인하기 :
pinpoint-status.sh
실행 및 확인
Pinpoint Component 상태를 확인합니다.shell> PINPOINT_HOME=/root/pinpoint shell> $PINPOINT_HOME/pinpoint-status.sh
<주의 사항>
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 프로세스 관리
다음 명령어로 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 Web 시작/중지/프로세스 확인
shell> $PINPOINT_HOME/pinpoint-web/bin/startup.sh shell> $PINPOINT_HOME/pinpoint-web/bin/shutdown.sh shell> ps -ef | grep pinpoint-web
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 Agent 설치 및 적용
Pinpoint Agent는 각 사용자가 해당 서비스에 직접 설치하고 설정해야 합니다. Tomcat Application Service에 설치하고 설정하는 방법은 다음과 같습니다.
Pinpoint Agent 바이너리를 다운로드 및 설치합니다(Pinpoint Releases 바로가기).
Agent 설치 디렉터리는 사용자가 직접 선택하여 설치 및 저장합니다.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를 설정합니다.
${AGENT_PATH}/pinpoint.config
파일에서profiler.collector.ip=xxx.xxx.xxx.xxx
에 Pinpoint Collector 서버 주소를 입력합니다.$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 Web ID와 Password를 입력합니다.
② [Login] 을 클릭하여 정상적으로 로그인하면 Pinpoint Main 대시보드를 사용할 수 있습니다.