안녕하세요!
오늘은 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 | 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 | 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 설정 파일은 정적 구성이라 동적 데이터 처리가 어려움 |
이상입니다.
감사합니다!
천사불여일행(千思不如一行) : 천번 생각하는 것보다 한번 행동하는 것이 더 중요하다.
기기일약 불능십보 노마십가 공재불사(騏驥一躍 不能十步 駑馬十駕 功在不舍): 천리마가 한번 크게 뛴다고 하더라도 열 걸음을 나아갈 수 없고 노둔한 말일지라도 열흘 달리면 역시 거기에 미칠 수가 있다.
일의 성과는 멈추지 않고 계속하는 데 있다. (순자, 권학편)
'Elastic Search AI Platform' 카테고리의 다른 글
Logstash exec output으로 파일 이동하기 (1) | 2024.11.18 |
---|---|
Logstash Range Filter (0) | 2024.11.17 |
Elasticsearch fingerprint 확인 하기 (2) | 2024.11.12 |
Elastic Certified Engineer exan (엘라스틱 엔지니어 자격 시험) 후기 (1) | 2024.10.24 |
[Elasticsearch] curl 인증 및 명령어 user 사용 (0) | 2024.03.19 |