Pinpoint

NOWNIZ·2023년 1월 26일
0

Blah Blah

목록 보기
2/9

Introduction

  • 기존 JOBFLEX 영역에서와 마찬가지로 APM (Application Performance Management) 모니터링 솔루션으로 Pinpoint를 사용한다.기존 Pinpoint에서 버전 업그레이드 (v1.8.0 → v2.2.2)가 필요하기 때문에 별도 스크립트 작업이 필요하다. (현재 자동화 구성중)

What is Pinpoint?

Pinpoint는 대규모 분산 시스템의 성능을 분석하고 문제를 진단, 처리하는 APM으로써 Java로 이루어져 있다. 오픈소스이며, Source Code의 편집 없이 Agent 세팅이 가능한 것이 편리하다.

  • Server Map : 대상 서버와 연결된 다른 서버와의 관계 다이어그램
  • Scatter Chart : 요청별 응답시간에 따른 그래프
  • Inspector : CPU 사용량, Memory/GC, JVM argument와 같은 애플리케이션 상세 정보를 제공

Pinpoint Architecture

Pinpoint의 구성은 위 다이어그램과 같이 형성되어 있으며 항목별 세부 내용은 다음과 같다.

  1. HBase Storage : 하둡 분산 데이터베이스 기반의 DB
  2. Pinpoint Collector : Pinpoint Agent로부터 데이터 수집
  3. Pinpoint Agent : 데이터를 수집할 대상 서버에 구성되는 Agent. Host JVM이 해당 서버의 WAS가 돌아갈 때 같이 뜨게 된다.

How to Use

HBASE

  1. HBase Database 설치

$ wget http://archive.apache.org/dist/hbase/2.3.5/hbase-2.3.5-bin.tar.gz

$ tar -zxvf hbase-2.3.5-bin.tar.gz

$ rm hbase-2.3.5-bin.tar.gz

  1. HBase config 파일 수정
  • vim /data/inst/hbase-2.3.5/conf/hbase-env.sh
    • export JAVA_HOME=/data/inst/java/jre/
  • vim /data/inst/hbase-2.3.5/conf/hbase-site.xml
    • <property><name>hbase.rootdir</name><value>file:///data/inst/hbase-2.3.5/hbase_data</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>/data/inst/hbase-2.3.5/zookeeper</value></property>
  1. Hbase 실행

./bin/start-hbase.sh

  1. Hbase 스키마 생성

Collector

  1. Pinpoint Collector 설치 및 실행 (/data/inst/pinpoint/pinpoint-collector)

$ wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.2.2/pinpoint-collector-boot-2.2.2.jar

$ nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-collector-boot-2.2.2.jar &

Web

  1. Pinpoint Web 설치 및 실행 (/data/inst/pinpoint/pinpoint-web)

$ wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.2.2/pinpoint-web-boot-2.2.2.jar

$ nohup java -jar -Dpinpoint.zookeeper.address=localhost pinpoint-web-boot-2.2.2.jar &

Agent

※ Agent 는 현재 sample-app에 자동화 구성이 되어있으며, 2.2.2 버전으로 띄우기 위한 스크립트 작업을 진행 중이다.

※ v2.2.2의 통신 방식은 Default로 GRPC 통신으로 되어있으나, 기존과 같은 THRIFT 방식으로 변경해야한다. (스크립트에 적용)

profile
DevOps & Cloud Engineering

0개의 댓글