Pull 방식과 Push 방식의 차이
모니터링 시스템에서 데이터 수집 방식은 크게 Pull 방식과 Push 방식으로 나눌 수 있음.
각 방식은 데이터 수집의 메커니즘, 구성, 그리고 운영 방식에서 근본적인 차이를 가지고 있음.
이러한 차이는 모니터링 시스템의 설계와 확장성에 영향을 미침.
Pull 방식 작동 원리
1. 서버 주도
모니터링 시스템이 모니터링 대상의 메트릭을 주기적으로 당겨오는 방식임.
모니터링 시스템이 각 대상 서비스에 접속하여 메트릭 데이터를 가져옴.
2. 엔드포인트 접근
각 모니터링 대상은 /metrics 와 같은 특정 HTTP 엔드포인트를 통해 메트릭을 노출함.
모니터링 시스템은 이 엔드포인트에 정기적으로 접근하여 데이터를 수집함.
Pull 방식 장점
1. 구성의 단순성
모니터링 시스템이 대상 시스템의 위치와 접근 정보만 알면 되기 때문에 네트워크 구성이 비교적 간단함.
2. 자동화된 서비스 발견
서비스 디스커버리 기능을 통해 새로운 서비스나 변경된 서비스를 자동으로 감지하고 모니터링할 수 있음.
3. 보안성
모니터링 대상은 오로지 읽기만 허용하므로 외부로부터의 위험을 최소화함.
Pull 방식 단점
1. 데이터 지연
데이터 수집 주기에 따라 정보가 지연될 수 있음.
더 빠른 리얼타임 데이터가 필요한 경우 적합하지 않음.
2. 방화벽 및 네트워크 정책
모니터링 시스템이 대상 시스템에 접근하기 위해서는 방화벽 규칙 조정이 필요할 수 있음.
Push 방식 작동 원리
1. 클라이언트 주도
모니터링 대상이 스스로의 메트릭 데이터를 모니터링 시스템으로 직접 밀어넣는 방식임.
2. 데이터 전송
대상 시스템이 특정 주소로 메트릭 데이터를 주기적이거나 이벤트 발생 시 즉시 전송함.
Push 방식 장점
1. 실시간 데이터 처리
데이터는 생성 즉시 모니터링 시스템으로 전송될 수 있어 더 빠른 대응이 가능함.
2. 유연한 네트워크 구성
대상 시스템이 내부에서 외부로 데이터를 보내기 때문에 내부 네트워크 정책에 영향을 덜 받음.
Push 방식 단점
1. 복잡한 보안 관리
데이터를 밀어넣는 대상 시스템이 활성화된 네트워크 연결을 유지해야 함.
이는 보안 관리를 복잡하게 만듬.
2. 서버 부하 관리
불규칙적이거나 예측 불가능한 데이터 푸시로 인해 모니터링 서버에 과부하가 발생할 수 있음.
Push 방식, Pull 방식 선택 기준
1. 규모 및 환경
대규모 분산 시스템이나 클라우드 기반 환경에서는 자동화된 서비스 발견과 확장성이 중요할 수 있으므로 Pull 방식이 유리할 수 있음.
2. 실시간 요구 사항
실시간 데이터 처리가 필수적인 운영 환경에서는 Push 방식이 더 적합할 수 있음
'Database > Prometheus' 카테고리의 다른 글
[Prometheus] Exporter의 종류, MySQL Exporter (0) | 2024.06.01 |
---|---|
[Prometheus] Pull 방식 수집 (0) | 2024.05.29 |
[Prometheus] 설정 파일 위치 찾기 (0) | 2024.05.29 |
[Prometheus] 설정 파일 (prometheus.yml) (0) | 2024.05.29 |
[Prometheus] 주요 컴포넌트 (0) | 2024.05.29 |