카테고리 없음

Logstash란 무엇인가? 서버 로그 수집·가공·전송을 한 번에 해결하는 핵심 도구

idea9329 2026. 2. 6. 13:49
728x90
반응형

운영하다 보면 이런 상황 자주 만나지:

  • 서버마다 로그 포맷이 다 다름
  • Kubernetes, WAS, DB 로그가 여기저기 흩어져 있음
  • 장애 분석하려면 파일 직접 뒤져야 함

이걸 한 번에 해결해주는 게 바로 Logstash야.


✅ Logstash 한 줄 정의

Logstash는 여러 시스템에서 들어오는 로그·이벤트 데이터를 수집(Input) → 가공(Filter) → 저장소나 분석 시스템으로 전달(Output)하는 데이터 파이프라인 엔진이다.

보통 아래 조합으로 많이 사용돼:

  • Elasticsearch (저장 & 검색)
  • Kibana (대시보드 시각화)

이 세 가지를 묶어서 Elastic Stack이라고 불러.


🔄 Logstash 구조 (Input → Filter → Output)

1️⃣ Input – 데이터 수집

다양한 소스에서 로그를 받아:

  • 파일 로그
  • syslog
  • HTTP
  • Kafka
  • Beats

예:

nginx access log
application log
k8s container log

2️⃣ Filter – 파싱 & 변환 (핵심 구간)

여기가 Logstash의 꽃이야.

대표 필터:

  • grok → 문자열 파싱
  • mutate → 필드 수정
  • json → JSON 변환
  • date → timestamp 정규화

예를 들면:

"GET /index.html 200"

이걸

method=GET
uri=/index.html
status=200

처럼 구조화된 필드 데이터로 바꿔줘.


3️⃣ Output – 목적지로 전송

가공된 데이터는 보통 여기로 보내:

  • Elasticsearch
  • S3
  • File
  • Kafka

가장 흔한 운영 구조:

Logstash → Elasticsearch → Kibana

🧱 Elastic Stack 안에서 Logstash 역할

실무에서는 이런 흐름이야:

Beats → Logstash → Elasticsearch → Kibana

정리하면:

  • Beats : 로그 수집기
  • Logstash : 로그 가공 공장
  • Elasticsearch : 검색 DB
  • Kibana : 모니터링 화면

Logstash는 딱 중앙 정제 허브 역할.


✅ 왜 굳이 Logstash를 쓰는가?

✔ 로그 포맷 통합

서버마다 다른 로그 → 하나의 스키마로 변환

✔ 실시간 처리

스트리밍 방식 지원

✔ 복잡한 파싱 가능

grok 기반 정교한 패턴 매칭

✔ 멀티 전송

여러 output 동시 지원


🧠 아주 쉽게 비유하면

Logstash는 로그 세탁소

  • 더러운 원본 로그를 받아서
  • 규격 맞게 빨고 정리해서
  • Elasticsearch라는 옷장에 넣어주는 역할.

📌 정리

항목설명

Logstash 로그 수집·가공·전송 파이프라인
핵심 구조 Input → Filter → Output
주 사용처 Elasticsearch 연계
강점 실시간 처리 + 강력한 파싱
위치 Elastic Stack 중앙



728x90
반응형