네이버에서 관리하는 오픈소스 APM 도구이고 대상은 Java, PHP, Python
docker compose 형태로 서버구성이 가능한데 과거 helm chart 도 제공되었던 것 같으나 왜인지 업데이트되지 않고 있다.
NCP에서는 SaaS로 제공되나 버전이 낮다. 최신버전을 사용하고 싶다면, docker compose 형태로 배포하거나, 직접 k8s 리소스로 변환해서 배포가 필요하다.
- APM 서버 구성 (docker compose)
- zookeeper, collector, web, hbase, flink taskmanager, flink jobmanager, batch가 구성된다
git clone https://github.com/pinpoint-apm/pinpoint-docker.git
cd pinpoint-docker
docker-compose pull && docker-compose up -d
-
- quickstart도 구성되는데 샘플 app 이라 보면 된다
- web은 8080으로배포되므로 서버IP:8080으로 접근하자
- Agent
- k8s에 배포하기 위해 base image에 agent jar를 복사하고, command 를 yaml에 추가하여 구동시키자.
- jar 다운로드와 설정
wget https://github.com/pinpoint-apm/pinpoint/releases/download/v2.5.4/pinpoint-agent-2.5.4.tar.gz
tar -xvf pinpoint-agent-2.5.4.tar.gz
cd pinpoint-agent-2.5.4
vi pinpoint-root.config
#profiler.transport.grpc.collector.ip=pinpoint-server-IP
-
- application의 Dockerfile에서 agent를 복사한다.
FROM amazoncorretto:11.0.22-alpine3.19
COPY target/*.jar app.jar
RUN mkdir /pinpoint-agent-2.5.4
COPY pinpoint-agent-2.5.4 /pinpoint-agent-2.5.4
EXPOSE 8080
ENV TZ=Asia/Seoul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir /mnt/apps
RUN chmod -R 755 /mnt/apps
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=local"]
-
- deployment yaml에서 command 추가한다.
- args:
- -javaagent:/pinpoint-agent-2.5.4/pinpoint-bootstrap-2.5.4.jar
- -Dpinpoint.agentId=demo
- -Dpinpoint.applicationName=Test-Server
- -Dpinpoint.config=/pinpoint-agent-2.5.4/pinpoint-root.config
- -jar
- /app.jar
command:
- java
- 확인
- APM 서버에 접속한다. http://서버IP:8080


728x90
'CloudNative > Observability & Analysis' 카테고리의 다른 글
| jib maven 으로 pinpoint agent 배포 (0) | 2024.10.18 |
|---|---|
| pinpoint server 2.5.4 k8s deploy (2) | 2024.10.18 |
| pinpoint server 2.5.4 YAML for k8s (0) | 2024.10.17 |
| pinpoint server 2.5.4 base image build for k8s (1) | 2024.10.17 |
| datadog (1) | 2024.08.07 |