728x90
1. Fluentd
- Fluentd는 로그(데이터) 수집기(Collector)이다.
- Treasure Data가 제작하고 후원 하였고, C언어와 Ruby로 개발되었다.
2. 특 징
2.1. 다양한 플러그인 지원
- 여러 플러그인을 통해, 다양한 데이터 소스와 출력을 연결할 수 있다.
- 특정 로그 형식을 처리하거나 여러 데이터베이스와 연동할 수 있도록, 필요한 플러그인을 쉽게 추가하여 기능을 확장할 수 있다.
2.2. 효율적인 자원 사용
- 메모리 사용량이 적고 높은 성능을 발휘한다.
- 시스템 리소스를 절약하면서 많은 양의 로그 데이터를 빠르게 처리할 수 있다.
2.3. 안정적인 로그 수집
- Fluentd의 메모리와 파일 기반의 버퍼링 옵션을 제공하여, 데이터 손실을 방지한다.
- 장애 조치 구성과 고가용성 설정을 통해 안정적으로 로그를 수집하고 처리할 수 있다.
2.4. 클라우드 네이티브 친화성
- Fluentd는 Kubernetes와 같은 Cloud Native 환경에서 원할 하게 동작하도록 최적화 되어 있다.
3. 주요 구성 요소
Fluentd는 로그 데이터를 효율적으로 수집하고 처리할 수 있도록, 아래와 같은 구성 요소를 가지고 있다.
3.1. Input Plugins
- Application 및 Server에서 발생하는 다양한 형식의 데이터를 수집한다.
- 참고 URL : https://www.fluentd.org/datasources
3.2. Parser Plugins
- Input Plugin을 통해 들어온 여러 형태의 로그 데이터를 표준화된 형식으로 변환
- JSON, 정규 표현식, Apache 로그 형식 등 다양한 포맷을 지원하여 로그 데이터를 구조화하고 분석 적합한 형태로 바꿀 수 있다.
3.3. Engine
- Fluentd의 중앙 처리 장치이다. Input에서 수집한 데이터를 처리하고, Filter와 Formatter를 거쳐 Output으로 전송한다.
3.4. Filter Plugins
- 로그 데이터를 변환하거나 특정 조건에 따라 필터링 한다. 불필요한 데이터를 제거하고 필요한 데이터만 추출할 수 있다.
3.5. Buffer
- Input Plugin에서 들어온 데이터를 바로 Output으로 보내지 않고, 중간 Buffer에 임시 저장한다.
- 데이터를 임시 저장하여 안정적으로 전달하고, 손실을 최소화하여 로그 트래픽을 조절할 수 있다.
3.6. Output Plugins
- 수집한 데이터를 최종 목적지로 전달하는 Plugin이다.
- Prometheus, Elasticsearch, Kafka, AWS S3와 같은 다양한 저장소로 보낼 수 있다.
- 여러 저장소와 분석 도구에 로그 데이터를 통합하고, 실시간으로 처리하거나, 일정 시간마다 모아서 한 번에 처리하는 방식으로 워크플로우를 구성할 수 있다.
- 참고 URL : https://www.fluentd.org/dataoutputs
3.7. Formatter
- 데이터를 목적지에 맞는 형식으로 변환하는 Plugin이다.
- 예를 들어 Prometheus에서 다루는 데이터 형식으로 변환해서 Prometheus에 저장하면, Prometheus가 데이터를 쉽게 저장할 수 있다.
728x90
'Observability > Fluentd' 카테고리의 다른 글
[Fluentd]Fluentd 설치 (0) | 2024.07.31 |
---|