프로메테우스 도입기 - 곱뺴기
소프트웨어 직군에서 종사하다보면 종종 아니면 늘상 그런일이 생긴다
이번 경우도 어쩌다보니 그렇게 됬다 처음엔 시스템 노드를 기반으로 EC2와 RDS에 대한 모니터링 시스템 구축이 끝인줄
알았지만 막상 구축되고나니
"백엔드 시스템의 세부 정보사항들을 보고싶어요 왜 그런거 있잖아요.."
정리하자면 요구하는것은 이렇다.
1. 백엔드의 엔드포인트 시스템이 http 통신을 할때 각 url별 호출수가 많은것들을 보고 싶다.
2. 현재 백엔드 시스템을 많이 점유하고 있는 프로세스를 모니터링했으면 좋겠다.
3. http 통신때 어떤 url이 많은 자원을 소모하는지도 실시간으로 보고 싶다.
그렇다면 추가해야될 시스템과 추가적으로 알아야할 시스템은 이렇다.
1. 프로세스 익스포터
- 노드 익스포터는 노드의 현황을 프로메테우스가 폴링하게 해주는 도구다.
이 도구는 시스템 노드의 정보를 담아 줄 뿐이지 시스템 노드 위에 작동하는 여러 계층의 프로세스까지 추적하진 못한다.
그렇기에 우리는 어플리케이션들의 프로세스 현황을 보려면 위와 같은 프로세스 익스포터를 추가로 설치해야한다.
2. 프로메테우스 라이브러리
- 추가적인 요청 사항을 수용하려면 우리는 거기에 더해 java단의 리소스 사용량의 추적도 필요하다. 다행스럽게도
Spring boot 환경이라면 쉽게 관련된 사용량을 노출 시켜주는 라이브러리들이 준비되어 있다
처참한 도식을 한번보자
위와 같이 우리는 리눅스에 2개의 익스포터 그리고 프로메테우스 자바가 메트릭을 수집하면 프로메테우스가
해당 데이터를 스크래핑하고 그라파나를 활용해 멋있게 시각화 화면 된다.
이 얼마나 멋지고 쉬운(?) 과정인가,
앞으로 천천히 프로세스 익스포터와 프로메테우스 라이브러리를 설치하며 관련된 내용을 기록할 예정이다.
관련된 가이드는 프로젝트 구축이 끝나면...정리해서 올릴 예정이다.