Fluentd는 오픈 소스 데이터 수집기(Data Collector)로, 통합 로깅 레이어(Unified Logging Layer)를 제공하도록 설계되었다. Treasure Data(현 Arm Treasure Data) 소속의 개발자들이 주축이 되어 개발했으며, 현재는 CNCF(Cloud Native Computing Foundation) 졸업 프로젝트(Graduated Project)로 관리되고 있다.
주요 특징은 다음과 같다.
- 구조: 로그 데이터의 수집, 필터링, 버퍼링, 출력을 플러그인(Plugin) 아키텍처 기반으로 처리한다. 입력(Input), 파서(Parser), 필터(Filter), 버퍼(Buffer), 출력(Output) 등 각 단계를 플러그인으로 모듈화하여 확장성이 높다.
- 데이터 형식: 내부적으로 JSON(JavaScript Object Notation) 형태의 구조화된 이벤트 스트림을 사용하여, 이기종 시스템 간의 데이터 호환성과 후처리 분석의 용이성을 높인다.
- 신뢰성: 메모리 및 파일 기반의 버퍼링 메커니즘을 통해 네트워크 단절이나 대상 시스템 장애 시 데이터 유실을 최소화한다.
- 배포 형태: 루비(Ruby)로 작성된 메인 버전(Fluentd)과 C 언어로 작성되어 경량화된 변형 버전(Fluent Bit)이 주로 사용된다. Fluent Bit는 임베디드 환경, 컨테이너(Kubernetes DaemonSet 등), 에지 컴퓨팅 환경에 최적화되어 있다.
- 생태계: 주요 클라우드 서비스(AWS, GCP, Azure), 스토리지(S3, Elasticsearch, Kafka, Splunk, Datadog 등)와 연동되는 수백 개의 공식 및 커뮤니티 플러그인을 제공한다.
주로 클라우드 네이티브 환경에서의 컨테이너 로그 수집, 마이크로서비스 아키텍처의 분산 추적 데이터 통합, 보안 감사 로그 중앙화, IoT 데이터 파이프라인 구축 등에 활용된다.