프로젝트 중 모니터링 시스템을 구현해보려고 한다.
Prometheus + Grafana를 이용해 Spring Boot 애플리케이션을 모니터링 해 볼 것이다.
모니터링 시스템은 너무많은 종류가 있어서 본인이 사용하고 싶은것으로 사용해도 좋을듯하다.
추후에는 cAdviser도 연동해 컨테이너 모니터링까지 해볼 예정이다.
먼저 Prometheus, Grafana가 무엇인지 간단하게 알고 가자.
Prometheus
Prometheus는 SoundCloud사에서 만든 오픈소스 시스템 모니터링 및 경고 툴킷이다.
지금은 독립형 오픈소스 프로젝트이며 많은 회사들이 사용 하고 있고, 또한 kubernetes에서도 Prometheus를 사용하여 매트릭 수집 및 대시보드 구축하는 방식을 장려하고 있다.
Jobs/exporters는 실제로 매트릭을 수집하는 프로세스라고 보면 된다.
exporter가 매트릭을 수집하고 HTTP 통신을 통해 매트릭 데이터를 가져갈 수 있게 /metrics 라는 HTTP 엔드포인트를 제공하고 Prometheus server가 이 exporter의 엔드포인트로 HTTP GET 요청을 날려 매트릭 정보를 수집(Pull)한다.
수집한 정보를 Prometheus가 제공하는 간단한 웹 뷰를 통해 조회할 수 있고 그 안에서 테이블 및 그래프 형태로 볼 수 있다. 하지만 시각화 도구가 부족해서 이를 직접 사용하지는 않고 Grafana를 함께 사용할 것 이다.
Grafana
그라파나(Grafana)는 메트릭을 시각화 해주는 오픈소스 도구이다.
Graphite, Prometheus, InfluxDB등 다양한 데이타베이스와 메트릭 수집 시스템을 지원하고, 하나의 대쉬보드에 동시에 여러 메트릭 시스템들의 지표를 표시할 수 있고 무엇보다 설치 및 사용 방법이 쉽기 때문에 널리 사용되고 있다.
특히 Prometheus를 잘 지원하고 있기 때문에, Prometheus의 메트릭을 그래프로 시각화 하는데도 많이 사용된다.
간단히 설명하면 Prometheus에서 데이타베이스와 매트릭을 수집하고 grafana와 연동하여 데이터를 시각화해 우리에게 보여줄것이다.
다음 글부터 사용법을 정리하겠다.
'Spring' 카테고리의 다른 글
Spring Boot + Prometheus + Grafana를 이용한 모니터링(3/3) (0) | 2021.12.14 |
---|---|
Spring Boot + Prometheus + Grafana를 이용한 모니터링(2/3) (0) | 2021.12.14 |
Spring Boot + FCM 웹 푸시 사용하기 (0) | 2021.12.02 |
Spring Boot Validation 어노테이션 정리 (0) | 2021.11.10 |
Spring Security + OAuth2.0 소셜 인증 예제(Google, Naver, Kakao) (6) | 2021.10.21 |