PINPOINT 모니터링
환경 OS : Ubuntu22.04
오픈소스 Pinpoint는 분산 시스템의 모니터링과 트레이싱을 위한 성능 관리 도구입니다. 주로 Java 애플리케이션의 성능 문제를 분석하고 디버깅하는 데 사용됩니다. 여기에서 “Pinpoint”는 애플리케이션 성능 모니터링(APM, Application Performance Management) 도구로, 다음과 같은 주요 기능과 특징을 가지고 있습니다:
-
분산 트레이싱: Pinpoint는 애플리케이션의 트랜잭션 흐름을 시각화하고 추적할 수 있는 기능을 제공합니다. 이를 통해 개별 요청이 시스템을 어떻게 통과하는지, 그리고 각 컴포넌트 간의 상호작용을 파악할 수 있습니다.
-
실시간 모니터링: 애플리케이션의 성능을 실시간으로 모니터링하고, 중요한 메트릭(예: 응답 시간, 에러율)을 수집하여 대시보드에서 시각화합니다.
-
분석과 시각화: 수집된 데이터를 기반으로 시스템의 성능 병목 지점이나 문제를 식별하고, 이를 시각화하여 문제를 더 쉽게 이해하고 해결할 수 있도록 돕습니다.
-
자동화된 문제 감지: Pinpoint는 자동으로 성능 문제를 감지하고 알림을 제공하여, 개발자나 운영팀이 문제를 빠르게 대응할 수 있도록 지원합니다.
-
Java와 스프링 프레임워크 지원: Pinpoint는 Java 애플리케이션과 스프링 프레임워크를 지원하며, 특히 대규모 분산 시스템에서 유용하게 사용됩니다.
Pinpoint는 오픈소스 소프트웨어로, GitHub에서 소스 코드와 문서를 찾아볼 수 있으며, 커뮤니티와 개발자들이 지속적으로 기능을 개선하고 버그를 수정하고 있습니다.
docker를 활용하여 테스트하였습니다.
GitHub에서 https://github.com/pinpoint-apm/pinpoint?tab=readme-ov-file git 파일을 가져올 수 있습니다.
git clone https://github.com/pinpoint-apm/pinpoint-docker.git
root@jong4719-258160:/usr/lib/jvm# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8f829eeb5840 pinpointdocker/pinpoint-quickstart "catalina.sh run" 3 days ago Up 3 days 0.0.0.0:8085->8080/tcp, :::8085->8080/tcp pinpoint-quickstart b3cf33f969a4 pinpointdocker/pinpoint-agent:latest "/usr/local/bin/conf…" 3 days ago Up 3 days pinpoint-agent 7aafa69dfdf8 pinpointdocker/pinpoint-batch:latest "/cnb/process/web" 3 days ago Up 3 days pinpoint-batch ce766dd31355 pinpointdocker/pinpoint-collector:latest "/cnb/process/web" 3 days ago Up 3 days 0.0.0.0:9991-9996->9991-9996/tcp, :::9991-9996->9991-9996/tcp, 0.0.0.0:9995-9996->9995-9996/udp, :::9995-9996->9995-9996/udp pinpoint-collector 834afb0dc012 pinpointdocker/pinpoint-web:latest "/cnb/process/web" 3 days ago Up 3 days 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:9997->9997/tcp, :::9997->9997/tcp pinpoint-web fc474690fb47 pinpointdocker/pinpoint-flink:latest "/docker-bin/docker-…" 3 days ago Up 3 days 6123/tcp, 0.0.0.0:6121-6122->6121-6122/tcp, :::6121-6122->6121-6122/tcp, 0.0.0.0:19994->19994/tcp, :::19994->19994/tcp, 8081/tcp pinpoint-flink-taskmanager 8721c7e2d3b3 pinpointdocker/pinpoint-flink:latest "/docker-bin/docker-…" 3 days ago Up 3 days 6123/tcp, 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp pinpoint-flink-jobmanager 60b0a01ac645 pinpointdocker/pinpoint-hbase:latest "/bin/sh -c '/usr/lo…" 3 days ago Up 3 days 0.0.0.0:16010->16010/tcp, :::16010->16010/tcp, 0.0.0.0:16030->16030/tcp, :::16030->16030/tcp, 0.0.0.0:60000->60000/tcp, :::60000->60000/tcp, 0.0.0.0:60020->60020/tcp, :::60020->60020/tcp pinpoint-hbase 4fc8499b40dd redis:7.0.14 "docker-entrypoint.s…" 3 days ago Up 3 days 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp pinpoint-docker_redis_1 8599d2de2fc8 zookeeper:3.4.13 "/docker-entrypoint.…" 3 days ago Up 3 days 2888/tcp, 3888/tcp, 0.0.0.0:32768->2181/tcp, :::32768->2181/tcp pinpoint-docker_zoo3_1 93bccd6c3c65 zookeeper:3.4.13 "/docker-entrypoint.…" 3 days ago Up 3 days 2888/tcp, 3888/tcp, 0.0.0.0:32769->2181/tcp, :::32769->2181/tcp pinpoint-docker_zoo1_1 ddca142d0605 zookeeper:3.4.13 "/docker-entrypoint.…" 3 days ago Up 3 days 2888/tcp, 3888/tcp, 0.0.0.0:32770->2181/tcp, :::32770->2181/tcp pinpoint-docker_zoo2_1
설정이 완료된 후 ip:8080 포트를 이용하여 확인할 수 있습니다.
추가로 Pinpoint-Agent를 설치하여 데이터를 수집하여 모니터링에 활용할 수 있습니다.
감사합니다.
참조
https://pinpoint-apm.gitbook.io/pinpoint
https://github.com/pinpoint-apm/pinpoint?tab=readme-ov-file
https://ta-starter.tistory.com/76