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_Poller
- Logstash가 주기적으로 외부 API에 요청(GET/POST)을 보내 데이터를 수집하는 방식
- 주기적으로 API를 호출하여 시스템 상태를 모니터링하거나 정기적인 데이터 수집에 적합
- pull 방식으로 logstash가 주도적으로 데이터를 수집 관리하며, 부하를 예측하고 분산하는 데 유리
- 주의 사항
- 실 시간성이 부족, api 호출 주기가 1분이라면 1분마다 최신 데이터를 수집
- 동적 본문(body) 생성이 제한되므로, 정적 JSON 데이터를 하드코딩하거나 외부 파일에서 불러오는 방식 사용
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
반응형
'Elastic Search AI Platform' 카테고리의 다른 글
Elasticsearch fingerprint 확인 하기 (2) | 2024.11.12 |
---|---|
Elastic Certified Engineer exan (엘라스틱 엔지니어 자격 시험) 후기 (1) | 2024.10.24 |
[Elasticsearch] curl 인증 및 명령어 user 사용 (0) | 2024.03.19 |