📌등장배경
logstash는 구조화 되어 있지 않는 로그들로 인해 등장하였다.
- 일관성 없는 포맷과 중심화 되어 있지 않다.
- 로그는 모든 서버/디바이스 별로 존재한다.
- 많은 서버가 다른 로그를 가지고 있다.
- 일관성없는 포맷으로 검색하기가 힘들다.
- 날짜 포맷이 너무 많다.
📌Logstash란?
- 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집 엔진 ( 데이터가 거쳐가는 중간다리)
- Log 및 데이터 분석 도구인 ELK 중 L에 해당한다
- 수집 기능 담당
- 다양한 소스(DB, csv파일 등)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 Elasticsearch 로 전달
- 모든 형태의 데이터를 처리할 수 있다. 기본 제공되는 플러그인들의 조합만으로 대다수의 데이터 소스에서 JSON,XML 등의 구조화된 텍스트 뿐만 아니라 다양한 형태의 데이터를 입력받아 가공한 다음에 저장할 수 있다.
- 자체적으로 내장되어 있는 메모리와 파일 기반의 큐를 사용한다.
- 처리속도와 안정성이 높다는 장점을 가진다.
- 구조 : Inputs - Filters - Outputs 순서 ( 수집 → 변환 → 전송 )
📌로그스태시(Logstash)의 기능
- 로그스태시는 데이터가 전달되는 동안 데이터를 구문 분석, 변환 및 필터링 한다.
- 구조화되지 않은 데이터로부터 구조를 도출할 수 있다.
- 개인정보를 익명화하거나 완전히 제외할 수 있다.
- 위치 검색을 수행할 수 있다.여러 노드에 걸쳐 확장할 수 있다.
- 적어도 한번 이상의 delivery를 보장한다.
- 부하급증으로부터 처리량을 흡수한다.
📌Logstash 사용예시
- 이벤트 저장
- Apache 웹 로그를 입력으로 사용
- 로그를 파싱
- 파싱된 데이터를 Elasticsearch 클러스터에 쓰는 고급 파이프라인 생성
- 여러 입출력 플러그인을 연결하여 서로 다른 다양한 소스의 데이터를 통합
참고)
https://velog.io/@silverpaper/Elasticsearch-Logstash란