본문 바로가기
공부

[모니터링] Prometheus + Grafana

by 꾸돼지 2025. 6. 6.
320x100

맥북에 프로메테우스와 그라파나를 연동해서 모니터링 시스템을 마련해두었다.

 

1. 프로메테우스 (Prometheus)

메트릭 수집 및 저장에 특화된 시스템이다. 시스템이나 어플리케이션의 다양한 상태 정보를 주기적으로 수집해서 시계열 데이터(시간에 따른 변화를 기록한 데이터)로 저장하는 역할을 수행한다.

 

기본적으로 프로메테우스 서버는 대상 시스템으로부터 메트릭을 능동적으로 가져온다.

다차원 데이터 모델 형태로 데이터를 저장하여 유연한 데이터 조회가 가능하다고 한다.

Alertmanager라는 별도의 컴포넌트와 연동하여 특정 조건에 따라 경고를 발생시키고 다양한 채널로 알림을 보낸다.

모니터링 대상을 동적으로 발견하고 설정할 수 있는 기능을 제공한다.

 

 

2. 그라파나 (Grafana)

수집된 데이터를 시각화하고 대시보드를 구축하는 데 사용되는 오픈소스 분석 및 모니터링 플랫폼이다.

프로메테우스 뿐 아니라 다양한 데이터 소스를 지원한다.

 

그래프, 차트, 테이블, 히트맵 등 다양한 방식으로 데이터를 시각화할 수 있다.

사용자가 원하는대로 패널을 배치하고 커스터마이징하여 직관적인 대시보드를 만들 수 있다.

여러 종류의 데이터 소스를 하나의 대시보드에 통합하여 보여줄 수도 있다.

자체적으로도 알림 기능을 제공하며, 특정 패널의 데이터가 임계값을 넘을 경우 알림을 받을 수 있다.

다양한 플러그인을 통해 기능을 확장할 수 있고, 다른 사용자들이 만든 대시보드를 가져와 사용할 수도 있다.

웹 기반 인터페이스를 통해 비교적 쉽게 데이터를 탐색하고 대시보드를 구성할 수 있다.

 

 

 

프로메테우스가 유명하다보니 각 서버들 역시 plugin을 잘 제공하고 있다.

플러그인이나 의존성 추가로 간단하게 프로메테우스의 수집 대상 서버가 될 수 있다.

 

그라파나 역시 많은 기능을 갖고 있다. 데이터 소스로 프로메테우스 뿐 아니라 다양한 플랫폼을 선택 가능하다.

다만, 나는 메트릭 수집을 프로메테우스로 수행했기 때문에 그라파나는 저장소를 프로메테우스만 사용해도 된다.

 

RabbitMQ 공식 홈페이지 등에 가면 RabbitMQ + Prometheus + Grafana가 적용된 docker-compose 파일도 존재한다.


모니터링은 전 회사에서 가장 아쉬웠던 내용이기도 하다.

이런 내용을 아는 사람이 있었다면, 정말 잘 써먹을 수 있었을텐데...

 

다음은 로그들을 수집 및 시각화하기 위해 ELK(ElasticSearch, Logstash, Kibana)를 설치해야겠다.

 

320x100