📁Logstash란?
- 데이터를 동적으로 수집, 전환, 전송한다. 비구조적 데이터에서 구조를 도출하고, 민감한 필드를 익명화하거나 제외시키며, 전반적인 처리를 손쉽게 해주는 데이터 파이프라인 도구이다.
👀 Logstash 주요 기능
-
데이터 수집: 데이터베이스, 파일, 메시지 큐, 웹 서비스 등 다양한 데이터 소스와 연결하여 데이터를 받아올 수 있다.
- Input 플러그인
- File: 파일에서 데이터를 읽어온다.
- JDBC: 데이터베이스에서 데이터를 추출한다.
- Beats: Beats 에이전트를 통해 로그를 수집한다.
- Kafka: Kafka 토픽에서 데이터를 읽어온다.
-
데이터 변환: 수집된 데이터를 필터링하고 변환할 수 있다.
- Filter 플러그인
- Grok: 로그 형식을 파싱하여 구조화된 데이터로 변환한다.
- Mutate: 데이터의 필드를 수정하거나 필드를 추가하거나 삭제한다.
- Date: 날짜 형식을 표준화한다.
- GeoIP: IP 주소를 기반으로 위치 정보를 추가한다.
-
데이터 출력: 변환된 데이터를 다양한 출력 시스템에 전송할 수 있다.
- Output 플러그인
- Elasticsearch: 데이터를 Elasticsearch 인덱승스에 저장한다.
- File: 데이터를 파일에 저장한다.
- Kafka: Kafka 토픽으로 데이터를 전송한다.
- HTTP: HTTP 요청을 통해 데이터를 전송한다.
🤳 Logstash 동작 흐름
- Logstash는 INPUT - Filter - OUTPUT 구조로 데이터를 처리하고, 파이프라인으로 불린다.
-
Input: 다양한 데이터 소스에서 데이터를 읽어온다
-
Filter: 읽어온 데이터를 변환하여 수행한다.
-
Output: 변환된 데이터를 지정된 출력 대상으로 전달한다.