Logstash 튜닝

이민석's avatar
May 07, 2025
Logstash 튜닝

Logstash

로그나 이벤트 데이터를 수집 및 처리해서 다른 시스템에 전달하는 파이프라인 도구

INPUT → Logstash → OUTPUT

기본적인 튜닝 팁

Logstash 동시성 수량(replicas)

  1. Partitioned Queue를 구독하는 경우, 두 숫자를 일치해야 효율적

  2. Logstash가 더 많으면, logstash에서 작업 대기가 발생

  3. Logstash가 더 적으면, 일부 partitioned queue에서 지연 처리 발생

Logstash Pipeline과 관련된 작업

옵션

설명

pipeline.worker

필터, 출력 처리를 위해 실행할 스레드 수
사용 가능한 프로세서 수보다 이 값을 더 많이 증가시켜도
스레드가 외부 시스템에 쓰기 작업을 수행하는 I/O 대기 상태에서
많은 시간을 소비할 수 있으므로, 성능이 향상될 수 있음

pipeline.batch.size

필터, 출력 처리 전에 개별 스레드가 수집하는 최대 이벤트 수
클수록 효율적이지만 오버헤드가 크고 OOM 위험 증가

pipeline.batch.delay

새 이벤트를 기다리는 시간

JVM 기반으로 동작하며 Major GC(Full GC), Minor GC 문제 존재

  • Used Heap 지표의 등락폭이 급진적이면 Major GC가 일어난 것으로 추정 가능
    (Major GC/Full GC가 일어나면 Logstash가 작업을 일시 중단하므로 비효율적)

같은 맥락으로 -Xms2g, -Xms4g 등의 옵션을 통해서 JVM 튜닝 필요도 존재

참고자료

  1. Docs (elastic) - Tuning and profiling logstash pipeline performance

  2. Docs (medium) - Best practices for Logstash

  3. Docs (MoldStud) - Logstash Performance Tuning - Expert Configuration Tips for High Load

Share article

Unchaptered