본문 바로가기

개발기술/테스트, 인프라

Prometheus 모니터링 + Grafana

프로메테우스(Prometheus) 모니터링 프로그램

프로메테우스(Prometheus)는 오픈소스 시스템 모니터링 및 경보(alerting) 도구. 프로메테우스는 여러 컴포넌트로 이루어져 있으며, 아래와 같은 아키텍처로 동작합니다.

  • Exporter : 시스템에서 메트릭 데이터를 노출하는 역할. 서버, 애플리케이션, 컨테이너, 데이터베이스 상태를 모니터링하려면 각각 다른 Exporter가 필요합니다. Prometheus는 PULL 방식으로 데이터를 가져오기 때문에, 각 대상에 맞는 Exporter를 사용해야 합니다.
    • Node Exporter → 물리/가상 서버의 CPU, RAM, 디스크, 네트워크 상태를 수집
    • Micrometer + Prometheus Exporter → Spring Boot 애플리케이션 모니터링
    • 데이터베이스 -> 각 데이터베이스마다 별도의 Exporter가 필요. MySQL Exporter : MySQL 상태 및 쿼리 성능 모니터링 
  • Prometheus Server : Exporter에서 데이터 API를 주기적으로 호출하여 저장(Pull 방식) 및 분석 (PromQL 사용)
  • Grafana : Prometheus 데이터를 시각화하는 대시보드 툴, 

 

Prometheus 설치 및 설정

1. Docker Compose 파일 작성

먼저 docker-compose.yml 파일을 생성하고, Prometheus와 Grafana 컨테이너를 정의하자.

 

2. Prometheus 설정 파일 만들기

Prometheus가 어떤 메트릭을 수집할지 설정하는 prometheus.yml 파일을 만든다.

 

3. Docker Compose로 컨테이너 실행

터미널에서 다음 명령어를 실행하여 컨테이너를 시작한다.

'개발기술 > 테스트, 인프라' 카테고리의 다른 글