[Elasticsearch] Logstash

김민재·2025년 3월 14일

Elasticsearch

목록 보기
10/13

📁Logstash란?

- 데이터를 동적으로 수집, 전환, 전송한다. 비구조적 데이터에서 구조를 도출하고, 민감한 필드를 익명화하거나 제외시키며, 전반적인 처리를 손쉽게 해주는 데이터 파이프라인 도구이다.

👀 Logstash 주요 기능

  1. 데이터 수집: 데이터베이스, 파일, 메시지 큐, 웹 서비스 등 다양한 데이터 소스와 연결하여 데이터를 받아올 수 있다.

    • Input 플러그인
      • File: 파일에서 데이터를 읽어온다.
      • JDBC: 데이터베이스에서 데이터를 추출한다.
      • Beats: Beats 에이전트를 통해 로그를 수집한다.
      • Kafka: Kafka 토픽에서 데이터를 읽어온다.
  2. 데이터 변환: 수집된 데이터를 필터링하고 변환할 수 있다.

    • Filter 플러그인
      • Grok: 로그 형식을 파싱하여 구조화된 데이터로 변환한다.
      • Mutate: 데이터의 필드를 수정하거나 필드를 추가하거나 삭제한다.
      • Date: 날짜 형식을 표준화한다.
      • GeoIP: IP 주소를 기반으로 위치 정보를 추가한다.
  3. 데이터 출력: 변환된 데이터를 다양한 출력 시스템에 전송할 수 있다.

    • Output 플러그인
      • Elasticsearch: 데이터를 Elasticsearch 인덱승스에 저장한다.
      • File: 데이터를 파일에 저장한다.
      • Kafka: Kafka 토픽으로 데이터를 전송한다.
      • HTTP: HTTP 요청을 통해 데이터를 전송한다.

🤳 Logstash 동작 흐름

  • Logstash는 INPUT - Filter - OUTPUT 구조로 데이터를 처리하고, 파이프라인으로 불린다.
  1. Input: 다양한 데이터 소스에서 데이터를 읽어온다

  2. Filter: 읽어온 데이터를 변환하여 수행한다.

  3. Output: 변환된 데이터를 지정된 출력 대상으로 전달한다.

profile
개발 경험치 쌓는 곳

0개의 댓글