[Pinpoint] Collector Starter, Web Starter, Agent 설치


Pinpoint 3.0을 활용하고 싶으면 Pinot, Kafka를 설치해서 Metrics을 수집할 수 있기에 매뉴얼은 위에 기록했다.

Pinpoint 3.0에는 일반적인 Collector, Web도 있지만 Pinot와 Kafka를 붙여서 사용하는 Collector Starter, Web Starter라는 것이 있다.

여기서 크게 문제가 됐던 부분이 있어서…. 헤맨 기억이 있다.





wget https://repo1.maven.org/maven2/com/navercorp/pinpoint/pinpoint-collector-starter/3.0.0/pinpoint-collector-starter-3.0.0-exec.jar

위경로에서 jar 파일을 다운 받고 기존에 설치했던 java를 통해 실행만 시켜주면 끝이다.

다만 중간에 들어가는 config인 application.yml을 조금 수정해주어야 한다.


vim collector-starter-application.yml <- 파일 경로 및 포트 등 기본 값 수정


/usr/java/adoptopenjdk17.0.12/bin/java -jar -Dspring.config.additional-location=config/collector-starter-application.yml pinpoint-collector-starter-3.0.0-exec.jar &

이렇게 application.yml을 수정하고 다시 java로 띄우면 Collector Starter 설치는 끝이다.





wget https://repo1.maven.org/maven2/com/navercorp/pinpoint/pinpoint-web-starter/3.0.0/pinpoint-web-starter-3.0.0-exec.jar

Collector와 동일하게 jar 파일을 당겨온다.


vim web-starter-application.yml <- 파일 경로 및 포트 등 기본 값 수정


/usr/java/adoptopenjdk17.0.12/bin/java -jar -Dspring.config.additional-location=./config/web-starter-application.yml pinpoint-web-starter-3.0.0-exec.jar &

마찬가지로 application.yml을 수정해준 다음 java로 다시 실행해주면 끝이다.

이렇게 보면 생각보다 심플한데 여기서 큰 문제점이 있었다…






Collector하고 Web이 정상기동이 잘 안되길래 뭔가 이상하다…. 싶다가 로그 및 해당 Git의 커밋이력을 까보니…

Collector와 Web간 통신을 위해 Redis를 사용하고 있는 코드를 볼 수 있었다. ㅠㅠ

공식 Git 및 어디에서도 Redis 얘기는 없었는데, 결국 소스코드단을 파헤쳐보고 나서야 필요하단 것을 알게 되었다….

그렇게 Redis를 설치하고 기본 포트로 기동을 시켜준 뒤에 Collector와 Web을 띄우니 성공!!
(설치 당시의 소스코드랑 현재 소스코드 버전은 다를 수 있다.)






wget https://repo1.maven.org/maven2/com/navercorp/pinpoint/pinpoint-agent/3.0.0/pinpoint-agent-3.0.0.tar.gz
vim pinpoint-agent-3.0.0/pinpoint-root.config

Agent 설치는 크게 어려운 게 없었다.

3.0버전이라고 특별한 것도 없었고, 특별한 내용이 없어야 정상이다.
(Starter를 사용하지 않아도 되기에 Agent에는 특별한게 없어야 한다.)



-javaagent:/pinpoint-bootstrap-3.0.0.jar
-Dpinpoint.agentId=$HOSTNAME \
-Dpinpoint.applicationName=$HOSTNAME \
-Dpinpoint.config=/pinpoint-root.config

위 java 옵션들을 WAS에 넣고 기동만 했다.

HOSTNAME은 편한걸로 해도 되고 스크립트를 만들어 hostname을 긁어서 넣게끔 해도 된다.

Pinpoint Agent는 다른 게시글들에 훨씬 자세히 적혀져있기에 참고하면 좋을 것 같다.




결과적으로 Pinpoint 3.0을 설치해서 사용하고는 있지만, 아직 Telegraf를 설치하지 않아서 Pinot, Kafka의 활용은 안하고 있는 상태이다.

추후 시간에 여유가 있다면 Pinpoint 3.0 사용 후기를 남겨야겠다.