Pinpoint 설치 가이드

Table of Contents

1. 문서 개요

1.1. 목적

본 문서(Pinpoint 서비스팩 설치 가이드)는 전자정부표준프레임워크 기반의 PaaS-TA에서 제공되는 서비스팩인 Pinpoint 서비스팩을 Bosh2.0을 이용하여 설치 하는 방법과 PaaS-TA의 SaaS 형태로 제공하는 Application 에서 Pinpoint 서비스를 사용하는 방법을 기술하였다. PaaS-TA 3.5 버전부터는 Bosh2.0 기반으로 deploy를 진행하며 기존 Bosh1.0 기반으로 설치를 원할경우에는 PaaS-TA 3.1 이하 버전의 문서를 참고한다.

1.2. 범위

설치 범위는 Pinpoint 서비스팩을 검증하기 위한 기본 설치를 기준으로 작성하였다.

1.3. 시스템 구성도

본 문서의 설치된 시스템 구성도이다. Pinpoint Server, HBase의 HBase Master2, HBase Slave2, Collector 2, Pinpoint 서비스 브로커, WebUI3로 최소사항을 구성하였다.

시스템구성도

구분

Resource Pool

스펙

Collector/0

pinpoint_medium

2vCPU / 2GB RAM / 8GB Disk

Collector/1

pinpoint_medium

2vCPU / 2GB RAM / 8GB Disk

h_master/0

pinpoint_medium

2vCPU / 2GB RAM / 8GB Disk

h_secondary

pinpoint_ small

1vCPU / 1GB RAM / 4GB Disk

h_slave/0

services-small

1vCPU / 1GB RAM / 4GB Disk

h_slave/1

services-small

1vCPU / 1GB RAM / 4GB Disk

haproxy_webui/0

services-small

1vCPU / 1GB RAM / 4GB Disk

pinpoint_broker/0services-small

1vCPU / 1GB RAM / 4GB Disk

webui/0

services-small

1vCPU / 1GB RAM / 4GB Disk

webui/1

services-small

1vCPU / 1GB RAM / 4GB Disk

1.4. 참고자료

http://bosh.io/docsarrow-up-right http://docs.cloudfoundry.org/arrow-up-right

2. Pinpoint 서비스 설치

2.1. Prerequisite

본 설치 가이드는 Linux 환경에서 설치하는 것을 기준으로 하였다. 서비스 설치를 위해서는 BOSH 2.0과 PaaS-TA 5.0 이상, PaaS-TA 포털이 설치되어 있어야 한다.

  • bosh runtime-config를 확인하여 bosh-dns include deployments 에 pinpoint가 있는지 확인한다.

    ※ bosh-dns include deployments에 pinpoint가 없다면 ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh/runtime-configs 의 dns.yml 을 열어서 pinpoint를 추가하고, bosh runtime-config를 업데이트 해준다.

$ bosh -e micro-bosh runtime-config

2.2. Stemcell 확인

Stemcell 목록을 확인하여 서비스 설치에 필요한 Stemcell이 업로드 되어 있는 것을 확인한다. (PaaS-TA 5.5.1 과 동일 stemcell 사용)

$ bosh -e micro-bosh stemcells

2.3. Deployment 다운로드

서비스 설치에 필요한 Deployment를 Git Repository에서 받아 서비스 설치 작업 경로로 위치시킨다.

2.4. Deployment 파일 수정

BOSH Deployment manifest는 Components 요소 및 배포의 속성을 정의한 YAML 파일이다. Deployment 파일에서 사용하는 network, vm_type, disk_type 등은 Cloud config를 활용하고, 활용 방법은 BOSH 2.0 가이드를 참고한다.

  • Cloud config 설정 내용을 확인한다.

$ bosh -e micro-bosh cloud-config

  • Deployment YAML에서 사용하는 변수 파일을 서버 환경에 맞게 수정한다.

$ vi ~/workspace/paasta-5.5.1/deployment/service-deployment/pinpoint/vars.yml

2.5. 서비스 설치

  • 서버 환경에 맞추어 Deploy 스크립트 파일의 VARIABLES 설정을 수정하고, Option file을 추가할지 선택한다.

    (선택) -o operations/use-compiled-releases.yml (ubuntu-xenial/621.94로 컴파일 된 릴리즈 사용)

$ vi ~/workspace/paasta-5.5.1/deployment/service-deployment/pinpoint/deploy.sh

  • 서비스를 설치한다.

2.6. 서비스 설치 - 다운로드 된 PaaS-TA Release 파일 이용 방식

  • 서비스 설치에 필요한 릴리즈 파일을 다운로드 받아 Local machine의 서비스 설치 작업 경로로 위치시킨다.

  • 설치 릴리즈 파일 다운로드 : paasta-pinpoint-release.tgzarrow-up-right

  • 서버 환경에 맞추어 Deploy 스크립트 파일의 VARIABLES 설정을 수정하고 Option file 및 변수를 추가한다.

    (추가) -o operations/use-offline-releases.yml (미리 다운받은 offline 릴리즈 사용)

    (추가) -v releases_dir=""

$ vi ~/workspace/paasta-5.5.1/deployment/service-deployment/pinpoint/deploy.sh

  • 서비스를 설치한다.

2.7. 서비스 설치 확인

설치 완료된 서비스를 확인한다.

$ bosh -e micro-bosh -d pinpoint vms

3. Sample Web App 연동 Pinpoint 연동

본 Sample Web App은 개방형 클라우드 플랫폼에 배포되며 Pinpoint의 서비스를 Provision과 Bind를 한 상태에서 사용이 가능하다.

3.1. Pinpoint 서비스 브로커 등록

Pinpoint 서비스팩 배포가 완료 되었으면 Application에서 서비스 팩을 사용하기 위해서 먼저 Pinpoint 서비스 브로커를 등록해 주어야 한다.

서비스 브로커 등록시 PaaS-TA에서 서비스브로커를 등록 할 수 있는 사용자로 로그인이 되어 있어야 한다.

  • 서비스 브로커 목록을 확인한다.

$ cf service-brokers

  • Pinpoint 서비스 브로커를 등록한다.

$ cf create-service-broker {서비스브로커 이름} {서비스브로커 사용자ID} {서비스브로커 사용자비밀번호} http://{서비스브로커arrow-up-right URL(IP)}

$ cf create-service-broker pinpoint-service-broker admin cloudfoundry http://:8080

  • 등록된 Pinpoint 서비스 브로커를 확인한다.

$ cf service-brokers

  • 접근 가능한 서비스 목록을 확인한다.

$ cf service-access

서비스 브로커 생성시 디폴트로 접근을 허용하지 않는다.

  • 특정 조직에 해당 서비스 접근 허용을 할당하고 접근 서비스 목록을 다시 확인한다. (전체 조직)

$ cf enable-service-access Pinpoint

  • 서비스 접근 허용을 확인한다.

$ cf service-access

3.2. Sample Web App 구조

Sample Web App은 PaaS-TA에 App으로 배포가 된다. 배포된 App에 Pinpoint 서비스 Bind 를 통하여 초기 데이터를 생성하게 된다. 바인드 완료 후 연결 url을 통하여 브라우저로 해당 App에 대한 Pinpoint 서비스 모니터링을 할 수 있다.

  • Spring-music App을 이용하여 Pinpoint 모니터링을 테스트 하였다.

  • 앱을 다운로드 후 –b 옵션을 주어 buildpack을 지정하여 push 해 놓는다.

$ cf push -b java_buildpack_pinpoint --no-start

$ cf apps

3.3. PaaS-TA에서 서비스 신청

Sample Web App에서 Pinpoint 서비스를 사용하기 위해서는 서비스 신청(Provision)을 해야 한다.

*참고: 서비스 신청시 PaaS-TA에서 서비스를 신청 할 수 있는 사용자로 로그인이 되어 있어야 한다.

  • 먼저 PaaS-TA Marketplace에서 서비스가 있는지 확인을 한다.

$ cf marketplace

  • Marketplace에서 원하는 서비스가 있으면 서비스 신청(Provision)을 하여 서비스 인스턴스를 생성한다.

$ cf create-service {서비스명} {서비스플랜} {내서비스명}

$ cf create-service Pinpoint Pinpoint_standard PS1

  • 생성된 Pinpoint 서비스 인스턴스를 확인한다.

$ cf services

3.4. Sample Web App에 서비스 바인드 신청 및 App 확인

서비스 신청이 완료되었으면 Sample Web App 에서는 생성된 서비스 인스턴스를 Bind 하여 App에서 Pinpoint 서비스를 이용한다.

*참고: 서비스 Bind 신청시 PaaS-TA 플랫폼에서 서비스 Bind신청 할 수 있는 사용자로 로그인이 되어 있어야 한다.

  • Sample Web App에서 생성한 서비스 인스턴스 바인드 신청을 한다.

  • 서비스 인스턴스 확인

$ cf s

  • 서비스 바인드

$ cf bind-service spring-music-pinpoint PS1 -c '{"application_name":"spring-music"}'

cf cli 리눅스 버전 :

cf cli window 버전 :

  • 바인드가 적용되기 위해서 App을 restage한다.

$ cf restage spring-music-pinpoint

  • App이 정상적으로 Pinpoint 서비스를 사용하는지 확인한다.

  • 환경변수 확인

$ cf env spring-music-pinpoint

  • App 정상 구동 확인

$ curl http:///#/main/spring-music-pinpoint@TOMCAT

Last updated