주제 : 모니터링 시스템에는 메트릭 수집을 위한 두 가지 방식의 메커니즘이 존재합니다. 바로 Pull 방식과 Push 방식입니다. 프로메테우스는 어떤 방식의 메커니즘을 사용하나요? 또한 Pull 방식..
다음은 모니터링에서 Pull 및 Push 방법을 비교한 것입니다:
Pull Method:
Pull 방법에서 모니터링 시스템은 모니터링 대상에 요청을 하여 데이터 수집을 시작합니다.
모니터링 시스템은 수집 빈도를 결정하고 정기적으로 데이터를 끌어옵니다.
대상은 모니터링 시스템이 스크랩할 메트릭을 노출하는 HTTP 끝점 또는 내보내기 도구를 제공합니다.
데이터를 주기적으로 풀링하면 실시간 모니터링 기능을 제공하지 못할 수도 있지만 과거 분석 및 추세 탐지 기능을 제공할 수 있습니다.
대규모 인프라 및 클라우드 네이티브 환경을 모니터링하는 데 적합합니다.
Push Method:
Push Method에서는 대상이 요청을 기다리지 않고 모니터링 시스템에 메트릭을 능동적으로 푸시합니다.
대상은 메트릭을 생성하고 모니터링 시스템의 지정된 엔드포인트 또는 게이트웨이로 직접 전송합니다.
이 방법을 사용하면 실시간 모니터링을 수행하고 변경 사항 또는 이상 징후를 즉시 파악할 수 있습니다.
일반적으로 실시간 응답성이 중요한 애플리케이션 수준 모니터링에 사용됩니다.
장단점:
Pull Method:
장점:
쉽게 설정하고 대상으로 구성하려면 HTTP 끝점만 노출하면 됩니다.
측정 기준을 적극적으로 추진하는 것에 대한 부담이 없기 때문에 대상에 대한 부담이 적습니다.
대상이 많은 대규모 모니터링에 적합합니다.
단점:
데이터 풀링의 고유한 지연으로 인해 실시간 모니터링에 적합하지 않습니다.
모니터링 시스템이 대상을 능동적으로 쿼리할 때 네트워크 트래픽이 증가합니다.
Push Method:
장점:
실시간 모니터링 및 변경사항 또는 문제에 대한 즉각적인 가시성을 지원합니다.
대상은 모니터링 시스템 쿼리에 의존하지 않고 사전에 메트릭을 푸시할 수 있습니다.
전송되는 데이터를 세부적으로 제어합니다.
단점:
푸시 메커니즘을 구현하려면 대상 측에서 추가 구성이 필요합니다.
대상은 푸시 메커니즘을 처리해야 하므로 설정이 복잡해질 수 있습니다.
적절하게 관리되지 않을 경우 대상에 더 많은 부하를 줄 수 있습니다.
Pull 또는 Push 방법을 사용하는 모니터링 도구는 다음과 같습니다:
Pull Method:
프로메테우스: 주로 Pull 방법을 사용하는 널리 사용되는 모니터링 시스템입니다.
Grafana: 데이터 시각화를 위해 Prometheus와 함께 일반적으로 사용되는 시각화 및 대시보드 도구입니다.
푸시 방법:
InfludeDB: 푸시 모델을 지원하고 다양한 모니터링 시스템과 통합되는 시계열 데이터베이스입니다.
텔레그라프: 푸시 방법을 지원하고 유입 DB 및 기타 모니터링 시스템과 함께 사용할 수 있는 에이전트 기반 데이터 수집 도구입니다.
OpenTSDB: 푸시 API를 통해 메트릭 데이터를 수신하는 분산 시계열 데이터베이스입니다.
Prometheus와 같은 일부 모니터링 시스템은 유연성을 제공하며 두 가지 방법을 모두 지원할 수 있으므로 사용자는 모니터링 요구 사항에 가장 적합한 방법을 선택할 수 있습니다.