Error rendering WebPanel: No renderer found for resource type: velocity Template contents: <meta name="ajs-keyboardshortcut-hash" content="$keyboardShortcutManager.shortcutsHash">
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

Logstash 디렉토리 구조

ㄴ bin : 바이너리 스크립트가 있는 디렉토리 입니다. Logstash를 시작하기 위해 사용되는 logstash와 Logstash 플러그인 설치를 위한 logstash-plugin 파일등이 있습니다.

ㄴ config : logstash.yml, pipeline.yml 등 설정 파일이 존재합니다.

ㄴ data

ㄴ logs : 로그 파일이 존재합니다.

Logstash 

Logstash는 데이터에 @version과 @timestamp 필드를 기본적으로 추가한다.

만약에 Elasticsearch output 플러그인을 사용하고, 인덱스를 "logstash-%{YYYYMM}"으로 설정했을 때, 날짜는 @timestamp가 기준이 된다.

따라서 과거의 Log 데이터를 수집하더라도, Logstash의 기본 @timestamp는 현재 날짜이기 때문에 index명은 항상 logstash-201902만 된다. 이 때 사용할 수 있는 필터 플러그인이 Date이다. Date 플러그인은 @timestamp을 다른 필드로 변경할 수 있게 해준다.

Logstash Execution Model

  • Logstash가 동작하는 전체적인 개요
  • 입력과 출력이 비동기로 동작함
  • Work Queue : 기본은 in-memory 큐를 사용함 (Disk도 가능) 
  • Worker Thread : Work Queue에서 데이터를 가져와서 filter, output 과정을 거침
  • Batcher : 한 묶음의 배치를 만들고, 배치를 가지고 데이터를 가공하고 output으로 보냄
    • Elasticsearch의 Bulk API를 사용함 → 색인 성능 향상을 위해서

> 배치의 크기와 Pipeline Worker 수는 성능에 많은 영향을 끼칩니다. 자세한 사항은 공식문서를 참고하시길 바랍니다.

Filebeat와 Logstash 함께 사용하기

Logstash에서 직접 File의 데이터를 수집할 수도 있지만, 통상 Logstash 앞단에 filebeat를 위치시킵니다. beats는 logstash보다 가벼운 shipper 목적으로 나온 agent입니다.

만약 관심있으시다면 누구나 할 수 있는 액세스 로그 분석 따라 해보기 글을 참고해보시면 좋을거 같습니다.


FileBeat vs LogStash : https://logz.io/blog/filebeat-vs-logstash/


  • 레이블 없음