Logstash 완벽 가이드! Log 수집과 데이터 변환 Pipeline Architecture 이해하기

현대 Cloud 환경에서는 Application, Server, Container에서 발생하는 수많은 Log 데이터를 효율적으로 수집하고 분석하는 것이 중요합니다.

특히 Kubernetes와 Microservices Architecture에서는 수십 개 이상의 Service가 동시에 동작하기 때문에 각 Server에 직접 접속하여 Log를 확인하는 방식은 한계가 있습니다.

기존 방식:

Application 실행

Log File 생성

Server 접속

직접 Log 확인

하지만 대규모 환경에서는 다음 문제가 발생합니다.

  • Log 위치 분산
  • 데이터 형식 불일치
  • 장애 원인 분석 어려움
  • 실시간 검색 어려움

이를 해결하기 위해 Log Collection Pipeline이 필요합니다.

Logstash는 다양한 Source에서 Log 데이터를 수집하고 변환하여 원하는 목적지로 전달하는 Data Processing Pipeline Tool입니다.

예:

Application Log

Logstash Input

Filter 처리

Elasticsearch 저장

Kibana 분석

Logstash는 ELK Stack에서 Log 데이터 처리 역할을 담당하는 핵심 Component입니다.

구성 요소역할
InputLog 데이터 수집
Filter데이터 변환
Output데이터 전달
Pipeline처리 흐름 관리
Plugin기능 확장

Logstash 구조를 이해하면 Enterprise Log Management와 Observability Architecture를 설계할 수 있습니다.

Logstash란?

Logstash는 Elastic에서 개발한 Open Source Data Processing Pipeline Tool입니다.

다양한 데이터를 수집하고 변환하여 저장 시스템으로 전달합니다.

주요 기능:

  • Log 수집
  • 데이터 Parsing
  • 데이터 Filtering
  • 데이터 변환
  • 외부 시스템 전달

ELK Stack의 데이터 처리 계층입니다.

Logstash Architecture

기본 구조:

Data Source↓Input Plugin↓Filter Plugin↓Output Plugin↓Destination

데이터 흐름을 Pipeline 형태로 관리합니다.

Logstash Pipeline이란?

Pipeline은 Input, Filter, Output으로 구성된 데이터 처리 과정입니다.

구조:

Input↓Filter↓Output

각 단계를 조합하여 원하는 데이터 흐름을 구성합니다.

Logstash Input Plugin

Input은 데이터를 가져오는 역할을 합니다.

대표 Input:

Input용도
FileLog File 수집
BeatsAgent 데이터 수집
KafkaMessage 수집
HTTPAPI 데이터 수집
SyslogSystem Log 수집

다양한 환경에서 데이터를 가져올 수 있습니다.

Logstash Filter Plugin

Filter는 수집된 데이터를 분석하고 변환합니다.

대표 Filter:

Filter역할
GrokLog Parsing
MutateField 수정
Date시간 변환
GeoIP위치 정보 추가

비정형 Log를 검색 가능한 데이터로 변환합니다.

Grok Pattern이란?

Grok은 Text 형태의 Log를 구조화된 Field로 변환하는 기능입니다.

예:

기존 Log:

ERROR 2026-08-14 User login failed

변환:

{ "level":"ERROR", "message":"User login failed"}

Log 분석을 쉽게 만듭니다.

Logstash Output Plugin

Output은 처리된 데이터를 전달하는 단계입니다.

대표 Output:

Output용도
ElasticsearchLog 저장
KafkaMessage 전달
File파일 저장
HTTPAPI 전달

ELK 환경에서는 Elasticsearch와 가장 많이 연결됩니다.

Logstash와 ELK Stack

전체 구조:

Application↓Logstash↓Elasticsearch↓Kibana↓Dashboard

Log 수집부터 분석까지 자동화합니다.

Logstash와 Kubernetes

Kubernetes Logging Architecture:

Pod↓Container Log↓Filebeat↓Logstash↓Elasticsearch↓Kibana

Cluster 전체 Log를 중앙 관리합니다.

Logstash와 Beats

대규모 환경에서는 Beats와 함께 사용합니다.

구조:

Server↓Filebeat↓Logstash↓Elasticsearch

Filebeat는 가볍게 데이터를 전달하고 Logstash는 변환 작업을 담당합니다.

Logstash와 Microservices

Microservices 환경:

Service A LogService B LogService C Log        ↓    Logstash        ↓ Elasticsearch

여러 Service Log를 통합 관리합니다.

Logstash Configuration

기본 Pipeline 예:

input {  file {    path => "/var/log/app.log"  }}filter {  grok {    match => {      "message" => "%{GREEDYDATA}"    }  }}output {  elasticsearch {    hosts => ["localhost:9200"]  }}

Pipeline을 Code 형태로 관리합니다.

Logstash Best Practice

권장:

  • Pipeline 분리
  • 불필요한 Filter 제거
  • Buffer 설정
  • Log Retention 관리
  • Sensitive Data 제거

안정적인 Log Processing 환경을 구축합니다.

Logstash 장애 분석

서비스 상태 확인:

systemctl status logstash

Configuration 검사:

logstash --config.test_and_exit

Log 확인:

journalctl -u logstash

확인:

  • Input 연결 상태
  • Filter 오류
  • Output 연결
  • Elasticsearch 상태

Logstash 장점

장점설명
수집다양한 데이터 지원
변환Log Parsing 가능
확장Plugin 지원
통합ELK 연결

Logstash는 Enterprise Log Pipeline Architecture의 핵심 Component입니다.

자주 묻는 질문

Logstash와 Filebeat 차이는 무엇인가요?

Filebeat는 가벼운 Log 전달 Agent이고 Logstash는 데이터를 변환하고 처리하는 Pipeline Engine입니다.

Logstash는 반드시 Elasticsearch와 사용해야 하나요?

아닙니다.

Kafka, Database, File 등 다양한 Output을 지원합니다.

Kubernetes에서도 사용하나요?

사용합니다.

Container Log를 중앙 수집하고 분석하기 위해 많이 활용됩니다.

마무리

Logstash는 다양한 Source에서 Log 데이터를 수집하고 변환하여 Elasticsearch 같은 저장 시스템으로 전달하는 Data Processing Pipeline Tool입니다.

구성 요소역할
Input데이터 수집
Filter데이터 변환
Output전달
Pipeline처리 흐름
Plugin기능 확장

Logstash 구조를 이해하면 ELK Stack, Kubernetes Logging, Enterprise Observability Architecture를 구축할 수 있습니다.

댓글 남기기