Data Pipeline/Fluentd

Fluentd vs Logstash 비교해보기..?

재심 2022. 10. 30. 14:12

로그를 수집하고 분석할 때 ELK Stack은 매우 유용하게 사용되어 왔다.

fluentd는 Docker나 kubernetes 환경과 같은 마이크로 서비스의 로깅에 인기를 끌고 있다. 

(fluentd가 CNCF의 일부이고, Treasure Data (고객데이터플랫폼 구축 클라우드 서비스?) 를 기반으로 구축되었기 때문)

 

어떤 사례에 어떤 도구를 사용하는 것이 좋을지 비교해본다. 

 

[Logstash vs Fluentd 비교]

항목 Logstash Fluentd 비고
코드 언어 JRuby  (Java 필요) CRuby (Java 필요 X)  
오픈 소스 Apache 2.0 라이센스 오픈소스 Apache 2.0 라이센스 오픈 소스. CNCF.  
이벤트 라우팅 if-else 조건 기반 태그 기반 이벤트에 태그를 지정하는 것이 좀 더 사용 성이 편리한듯
Plugin 공식 지원 플러그인 200개이상  500개 이상이지만 공식지원 플러그인은 30여개로 적은 편 둘 다 mongodb 플러그인은 별도 설치 필요
주요 플러그인은 이미 공식적으로 모두 지원함
구동 방식 인메모리 메시지 대기열이 없어 redis와 같은 외부 시스템 사용 인메모리를 활용한 버퍼링 시스템 지원하여 독립적으로 동작시키기 좋음  
성능 JRuby 기반으로 JVM에서 실행
fluentd보다 좀 더 많은 메모리 소모
더 적은 리소스를 사용하며, 중소규모에 적합 둘 다 가벼워서 이렇다 저렇다 할 정도의 차이가 아님.
전송 재시도 가능 재시도 가능  
이벤트 파싱 표준 형식 외에도 geoip와 같은 더 많은 플러그인 보유 json, regex, csv 등의 기본 내장 파서 제공  
모니터링 Metricbeat를 통한 메트릭 즉시 수집 가능
prometheus exporter를 통한 메트릭도 수집 가능
prometheus exporter를 통한 메트릭 수집 가능   
구동 환경 Windows, Linux 둘 다 지원

Windows, Linux 둘 다 지원
Docker에서 fluentd에 대한 기술지원이 기본적으로 있음. 
 
vault 지원 vault 공식지원 목록에 있음. vault 공식지원 목록에 없음.

vault audit 로그를 수집할 때 fluentd를 사용한다는 예시가 주로 있음.

 

[그렇다면 어떤 것을 선택할까..?]

  • Docker, k8s등에서 호스팅 되는 마이크로 서비스의 경우 fluentd가 CNCF의 일부이고, docker에 fluentd용 로깅 드라이버가 기본 내장되어 있는 등의 이점이 있다.

→ 컨테이너 환경에서는 fluentd가 좀 더 좋은 선택. 

 

  • ELK 스택을 구축해놓았다면 logstash가 Metricbeat 등을 활용할 수 있기 때문에 활용성이 더 좋다

[나의 생각..?]

  • ELK 스택을 구성하는 경우 logstash를 사용하는 것이 나을 것 같다.
  • k8s에서 컨테이너 이미지로 구동할 경우에는 fluentd를 사용하는 것이 나을 것 같다. 
  • 플러그인 설치나 환경 구성을 하는 난이도는 logstash, fluentd 둘 다 비슷했다. 
    • 플러그인 설치를 위해 결국 둘 다 Dockerfile을 통해 커스텀 이미지를 빌드할 필요가 있음. 
  • 모니터링 측면은 prometheus를 통한 메트릭 데이터 수집이라는 측면에서 큰 차이가 없을 것 같다. 

 

[참조]

https://smoh.tistory.com/365

 

LogStash vs Fluentd - 어떤 것을 선택해야 할까

이 글은 다음 글을 번역한 글입니다: Logstash vs Fluentd — Which one is better! Logstash vs Fluentd — Which one is better ! When it comes to collecting and shipping logs to Elastic stack, we usu..

smoh.kr

https://grip.news/archives/1340

 

Fluentd 와 LogStash 비교 - GRIP.News

얼마전 까지 로그를 수집하고 분석할 때 ELK Stack을 사용했다. 이중 L 은 LogStash를 의미했고, 다방면에서 로그를 수집할 때 매우 유용하게 사용해왔다. 개인적으로 AWS Aurora Slow-query 를 수집하고 분

grip.news

https://www.openlogic.com/blog/fluentd-vs-logstash

 

FluentD vs. Logstash: How to Decide for Your Organization | OpenLogic by Perforce

Understand the main differences between FluentD and Logstash and what system monitoring solution is right for you. Read this blog to find out!

www.openlogic.com

https://www.techmanyu.com/logstash-vs-fluentd-which-one-is-better-adaaba45021b