Prometheus & Grafana
![Untitled](https://prod-files-secure.s3.us-west-2.amazonaws.com/898ec95e-e5aa-4307-8703-c3b69a7b0123/525a5257-d88e-41e1-8356-6d85aacaeab0/Untitled.png)
- 애플리케이션 모니터링이란 애플리케이션에서 발생하는 동작들에 대한 메트릭을 수집하여 성능을 분석하는 분야를 말한다.
- 모니터링을 통해 서비스 개발 과정에서는 동작을 확인할 수 있고, 서비스 오픈 직전에는 성능 테스트를 할 수 있으며 서비스 운영 과정에서는 문제를 해결할 수 있다.
Metric(메트릭)
- 메트릭이란 측정 가능한 양이나 특성을 나타내는 척도 또는 지표를 말한다. 데이터 분석이나 평가, 성능 측정 등 다양한 분야에서 사용된다.
- 메트릭을 잘 수집하면 시스템의 현재 상태를 손쉽게 파악할 수 있다.
Prometheus 프로메테우스
- 프로메테우스는 오픈 소스 모니터링 도구로 메트릭 데이터를 수집하여 데이터베이스에 저장하고, 이를 사용하여 애플리케이션의 상태를 모니터링하고 분석한다.
- 애플리케이션에서는 매트릭 데이터를 프로메테우스로 노출 시켜줘야 하는데, 스프링 부트에서 프로메테우스를 사용하기 위해서는 스프링 부트 액추에이터 (Spring Boot Actuator) 를 사용하여 메트릭 수집을 위한 앤드 포인트를 노출시킨다.
Actuator
- 엑추에이터는 상태, 메트릭, 환경 등 실행 중인 애플리케이션에 대한 운영 정보를 노출하는데 사용된다.
- 해당 모듈을 추가함으로 해당 기능을 직접 구현하지 않아도 사용할 수 있으며 다양한 설정을 편리하게 할 수 있게 도와준다.
- 앤트포인트를 통해 메트릭을 노출시키는데 기본적으로 제공하는 앤트포인트 외에도 사용자가 직접 정의한 앤드포인트도 사용할 수 있다.
- 제공하는 엔드 포인드