Prometheus의 Pull 방식 수집
Prometheus는 주로 Pull 방식을 사용하여 메트릭을 수집하는 모니터링 시스템임.
이 방식에서 Prometheus 서버는 설정된 간격으로 각 모니터링 대상의 HTTP 엔드포인트를 정기적으로 조회하여 데이터를 가져오는 방식을 취함.
Prometheus의 Pull 방식의 작동 원리
1. 메트릭 엔드포인트 설정
각 모니터링 대상은 /metrics 라는 HTTP 엔드포인트를 갖고 있어야 함.
이 엔드포인트는 Prometheus의 데이터 수집 요청에 응답하여 메트릭을 반환함.
2. 스크레이핑 설정
Prometheus 설정 파일에서는 각 메트릭을 수집할 대상과 그 스크레이프 간격, 타임아웃 등을 지정함.
Prometheus 서버는 이 설정에 따라 각 대상의 /metrics 엔드포인트를 주기적으로 조회함.
3. 데이터 수집
Prometheus는 HTTP GET 요청을 통해 메트릭을 수집함.
수집된 메트릭은 보통 Prometheus Exposition Format으로 반환됨.
이는 시간에 따른 데이터 포인트를 포함하는 간단한 텍스트 기반 형식임.
4. 메트릭 저장
수집된 메트릭은 Prometheus의 로컬 스토리지에 저장됨.
Prometheus는 이 데이터를 시계열 데이터베이스 형태로 관리하며, 이 데이터는 후속 쿼리 및 분석에 사용됨.
Prometheus의 Pull 방식의 장점
1. 단순성과 자율성
Pull 방식은 모니터링 대상이 자신의 상태를 자체적으로 노출하고 Prometheus가 이를 수집하는 구조이기 때문에, 네트워크 구성이나 방화벽 설정이 상대적으로 간단함.
2. 신뢰성
네트워크 장애나 대상 시스템의 문제가 발생해도 Prometheus는 다음 스크레이프 주기에서 다시 시도할 수 있으므로, 일시적인 실패가 데이터 수집에 미치는 영향을 최소화할 수 있음.
3. 확장성
각 대상이 자신의 메트릭을 노출하기만 하면 되므로, 수천 개의 노드를 모니터링하는 대규모 환경에서도 Prometheus 서버를 추가하거나 조정함으로써 쉽게 확장할 수 있음.
4. 보안
메트릭을 노출하는 대상은 오직 읽기 전용 데이터만을 제공함.
Prometheus 서버는 이를 수집하는 역할만 하므로, 메트릭 수집 과정에서 발생할 수 있는 보안 위험을 최소화함.
Prometheus의 Pull 방식의 단점
1. 실시간성 부족
Prometheus는 설정된 간격으로만 데이터를 수집할 수 있음.
더 빈번한 데이터 업데이트가 필요한 경우 이 방식이 제한적일 수 있음.
2. 네트워크 구성
일부 특수한 네트워크 환경에서는 대상 시스템이 외부의 수집 요청을 받을 수 있도록 추가적인 네트워크 구성이 필요할 수 있음.
Prometheus의 Pull 방식 정리
Pull 방식은 Prometheus의 핵심 특징 중 하나임.
이를 통해 대규모 인프라의 성능 모니터링과 관리가 용이해짐.
이러한 접근 방식은 시스템의 확장성과 유지 관리에 큰 이점을 제공함.
'Database > Prometheus' 카테고리의 다른 글
[Prometheus] Exporter의 종류, MySQL Exporter (0) | 2024.06.01 |
---|---|
[Prometheus] Pull 방식과 Push 방식의 차이 (2) | 2024.05.29 |
[Prometheus] 설정 파일 위치 찾기 (0) | 2024.05.29 |
[Prometheus] 설정 파일 (prometheus.yml) (0) | 2024.05.29 |
[Prometheus] 주요 컴포넌트 (0) | 2024.05.29 |