Logstash Input http_poller vs http 비교

728x90

안녕하세요!

오늘은 logstash input plugin 중 http_poller과 http 대하여 알아보겠습니다.

 

 

http_poller vs http

 

 

HTTP

  • logstash가 HTTP 서버처럼 동작하여 외부 시스템에서 POST/GET 요청을 수신하는 구조
  • 주로 실시간 이벤트를 수집하는 데 사용, (예: Webhook 이벤트, IoT 기기 실시간 데이터)
  • logstash가 대기 상태에서 지정된 포트(http 포트 : 5044)를 열고, 외부 시스템이 데이터를 보낼 때 마다 이를 수신해 처리
  • 주의 사항
    • 대규모 데이터가 동시에 몰리면 Logstash 큐가 가득 차 429 오류(Too many Reuqests)를 반환
    • 네트워크 장애가 발생할 경우, 데이터 유실 위 험

# HTTP Input plugin

 

Http input plugin | Logstash Reference [8.15] | Elastic

If you configure the plugin to use 'TLSv1.1' on any recent JVM, such as the one packaged with Logstash, the protocol is disabled by default and needs to be enabled manually by changing jdk.tls.disabledAlgorithms in the $JDK_HOME/conf/security/java.security

www.elastic.co

 

 

 

HTTP_Poller

  • Logstash가 주기적으로 외부 API에 요청(GET/POST)을 보내 데이터를 수집하는 방식
  • 주기적으로 API를 호출하여 시스템 상태를 모니터링하거나 정기적인 데이터 수집에 적합
  • pull 방식으로 logstash가 주도적으로 데이터를 수집 관리하며, 부하를 예측하고 분산하는 데 유리
  • 주의 사항
    • 실 시간성이 부족, api 호출 주기가 1분이라면 1분마다 최신 데이터를 수집
    • 동적 본문(body) 생성이 제한되므로, 정적 JSON 데이터를 하드코딩하거나 외부 파일에서 불러오는 방식 사용

# HTTP_poller input plugin

 

Http_poller input plugin | Logstash Reference [8.15] | Elastic

If you configure the plugin to use 'TLSv1.1' on any recent JVM, such as the one packaged with Logstash, the protocol is disabled by default and needs to be enabled manually by changing jdk.tls.disabledAlgorithms in the $JDK_HOME/conf/security/java.security

www.elastic.co

 

 

 

HTTP vs HTTP_poller

항목 HTTP Input 플러그인 HTTP Poller 플러그인
데이터 수집 방식 외부 시스템이 POST/GET 요청을 보냄 Logstash가 주기적으로 외부 API에 요청
데이터 흐름 외부 → Logstash Logstash → 외부 시스템 (API)
수신 대기 여부 지정된 포트에서 요청 대기 주기적으로 폴링하여 데이터 수집
주요 사용 사례 Webhook, IoT 장치 데이터 전송 API 기반 모니터링 및 데이터 수집
요청 주체 외부 시스템이 직접 요청 Logstash가 주기적 요청 수행
포트 설정 필요 필요 (예: 5044) 필요 없음
사용 목적 실시간 데이터 전송 수집 주기적인 상태 확인 또는 데이터 수집
IP 주소 제한 기본적으로 없음 API 호출 시 제한 가능
예시 요청 방식 POST 또는 GET 요청 GET, POST 모두 지원
부하 관리 외부에서 요청 주기 관리 필요 Logstash가 폴링 주기를 설정함
장점 이벤트 기반 실시간 수집 서버 상태 모니터링에 적합
단점 요청 타이밍을 예측하기 어려움 잦은 요청 시 부하 발생 가능
동적 본문 생성 Python 또는 외부 클라이언트가 POST 요청을 보낼 때, 동적 데이터 생성 가능 Logstash 설정 파일은 정적 구성이라 동적 데이터 처리가 어려움

 

이상입니다.

감사합니다!

 

 

천사불여일행(千思不如一行) : 천번 생각하는 것보다 한번 행동하는 것이 더 중요하다.

기기일약 불능십보 노마십가 공재불사(騏驥一躍 不能十步 駑馬十駕 功在不舍): 천리마가 한번 크게 뛴다고 하더라도 열 걸음을 나아갈 수 없고 노둔한 말일지라도 열흘 달리면 역시 거기에 미칠 수가 있다.
일의 성과는 멈추지 않고 계속하는 데 있다. (순자, 권학편)

 

728x90
반응형