728x90
반응형
SMALL
pinpoint란?
대규모 분산 시스템에서 성능 분석, 문제 진단 및 처리 하는 플랫폼이다.
내부적으로 서버 상태를 실시간으로 모니터링 할 수 있는 다양한 시각지표를 제공한다.
구성도
pinpoint는 Agent+Manager 로 구성된다.
Agent는 애플리케이션의 모니터링을 위한 수집 정보를 Pinpoint Collector로 전달한다.
Pinpoint Collector는 Agent로 부터 받은 정보를 HBASE에 적재한다.
Pinpoint Web은 적재 데이터를 Web으로 표출해준다.
1. pinpoint 설치
$ git clone https://github.com/naver/pinpoint-docker.git
$ cd pinpoint-docker
$ docker-compose pull
$ docker-compose up -d
2. pinpoint-agent 설치
$ mkdir pinpoint-agent
$ cd pinpoint-agent
# agent 설치
$ wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.1/pinpoint-agent-2.5.1.tar.gz
# 압축 해제
$ tar xvzf pinpoint-agent-2.5.1.tar.gz
# agnet 설정 파일 수정
$ vi.../pinpoint-agent-2.5.1/pinpoint-root.config
3. 감시모듈 실행시 pinpoint 아규먼트 적용
$ java -javaagent:${pinpoint-bootstrap-2.5.1.jar_경로입력}
-Dpinpoint.agentId=demo
-Dpinpoint.applicationName=Test-Server
-Dpinpoint.config=${pinpoint-root.config_경로입력}
-jar myModule.jar
4. 모니터링 web 접속하기
docker-compose 파일을 확인하면 pinpoint-web 인스턴스 정보를 확인할 수 있다.
"${WEB_SERVER_PORT:-8080}:8080"
를 포트를 참고하자.
pinpoint-web:
container_name: "${PINPOINT_WEB_NAME}"
image: "pinpointdocker/pinpoint-web:${PINPOINT_VERSION}"
depends_on:
- pinpoint-hbase
- pinpoint-mysql
- zoo1
- redis
restart: always
expose:
- "9997"
ports:
- "9997:9997"
- "${WEB_SERVER_PORT:-8080}:8080"
...
...
${WEB_SERVER_PORT:-8080}
환경변수 정보는 상위 디렉토리 pinpoint-docker
에서 .env
파일을 통해 확인할 수 있다.
.env
...
### Pinpoint-Web
PINPOINT_WEB_NAME=pinpoint-web
WEB_SERVER_PORT=1239
...
나 같은 경우 Web port를 1239
로 설정하였다.
도커에서도 확인할 수 있다.
$ docker ps
==============================================================
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e65883154f60 pinpointdocker/pinpoint-web:latest "sh /pinpoint/script…" About an hour ago Up About an hour 0.0.0.0:9997->9997/tcp, :::9997->9997/tcp, 0.0.0.0:1239->8080/tcp, :::1239->8080/tcp pinpoint-web
본인아이피:web포트
접속을 통해 확인해보자
MSA 환경에서 Request에 대한 추적을 모니터링 하기 쉽고, 오류 지점을 파악할 수 있도록 도와준다.
또한 IDE 수준에서 파악할 수 있는 CallStack 정보도 확인이 가능하며, JVM 메모리 정보나 서버 자원정보 등등 다양하고 자세한 엔드포인트 들을 제공해준다.
결국 Pinpoint로 모든것을 쉽게 모니터링을 할 수 있다.
모니터링이 필요한 시스템이면 Pinpoint는 한번쯤 꼭 고민해보면 좋을거 같다.
728x90
반응형
LIST
'나의 주니어 개발 일기 > Docker(도커)' 카테고리의 다른 글
nGrinder 로 API 부하테스트 하기 with 도커 (1) | 2024.03.29 |
---|---|
Docker-compose로 DB 스키마 자동생성 하는 방법 (0) | 2024.03.28 |
DOCKER COMPOSE의 환경변수 사용 방법 (0) | 2024.03.08 |
Docker overlay2 경로 이동 방법 (0) | 2024.02.27 |
Docker에서 log관리 안하면 디스크가 터진다. (0) | 2023.12.31 |