둘 다 CNCF 의 로그 수집기다. Fluentd 는 Ruby 로 짜여 플러그인이 많고 변환이 자유롭다. Fluent Bit 는 C 로 짜여 메모리를 적게 쓰므로 노드마다 붙이는 에이전트로 맞고, 모은 것을 Fluentd 나 저장소로 바로 보낸다.
| 항목 | Fluentd | Fluent Bit |
|---|---|---|
| 패키지 이름 | fluent-package (옛 td-agent) |
fluent-bit |
| 현행 | 6 LTS[1] | 5.1.2 |
| 서비스 | fluentd.service |
fluent-bit.service |
| 설정 | /etc/fluent/fluentd.conf |
/etc/fluent-bit/fluent-bit.conf (classic) 또는 fluent-bit.yaml |
| 로그 | /var/log/fluent/fluentd.log |
journal |
| 바이너리 | /opt/fluent/bin/fluentd |
/opt/fluent-bit/bin/fluent-bit |
fluent-package v5 는 EOL 이다. td-agent 이름으로 남은 설치는 6 으로 올린다.
공식 스크립트가 저장소를 등록하고 패키지를 설치한다. LTS 를 쓴다.
curl -fsSL https://fluentd.cdn.cncf.io/sh/install-redhat-fluent-package6-lts.sh | sh
LTS 가 아닌 최신 릴리스는 install-redhat-fluent-package6.sh 다. Ubuntu · Debian 은 install-ubuntu-<codename>-fluent-package6-lts.sh 식으로 배포판 이름이 들어간다.
sudo systemctl enable --now fluentd
sudo systemctl status fluentd
/etc/fluent/fluentd.conf 의 최소 예다. 파일을 tail 해서 표준 출력으로 낸다.
<source>
@type tail
path /var/log/messages
pos_file /var/log/fluent/messages.pos
tag system.messages
<parse>
@type none
</parse>
</source>
<match system.**>
@type stdout
</match>
Elasticsearch 9 로 보낼 때는 fluent-plugin-elasticsearch 를 설치하고 TLS · 인증을 넣는다. 플러그인 설치는 Fluent plugin 설치 를 본다.
<match system.**>
@type elasticsearch
scheme https
host es01
port 9200
user elastic
password ${PASSWORD}
ca_file /etc/fluent/http_ca.crt
index_name fluentd
</match>
설정을 바꾼 뒤에는 문법을 검사하고 재시작한다.
sudo /opt/fluent/bin/fluentd --dry-run -c /etc/fluent/fluentd.conf
sudo systemctl restart fluentd
/etc/yum.repos.d/fluent-bit.repo
[fluent-bit]
name = Fluent Bit
baseurl = https://packages.fluentbit.io/centos/$releasever/
gpgcheck=1
gpgkey=https://packages.fluentbit.io/fluentbit.key
repo_gpgcheck=1
enabled=1
Rocky · Alma 9 는 centos/9 경로를 그대로 쓴다. 저장소에서 404 가 나면 공식 가이드 의 현재 경로를 본다.
sudo dnf install -y fluent-bit
한 줄 설치 스크립트도 있다.
curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh
sudo systemctl enable --now fluent-bit
sudo systemctl status fluent-bit
Fluent Bit 는 classic 형식(fluent-bit.conf) 과 YAML 형식(fluent-bit.yaml) 을 지원한다. YAML 로 쓰려면 파일 이름을 .yaml 로 두고 systemd 유닛의 -c 경로를 그에 맞춘다. 세부 항목은 공식 문서 를 본다.
/etc/fluent-bit/fluent-bit.yaml
service:
flush: 1 # flush 주기 (초)
log_level: info
log_file: /var/log/fluent-bit/fluent-bit.log # 없으면 stdout
http_server: true
http_listen: 0.0.0.0
http_port: 2020
hot_reload: on
pipeline:
inputs:
- name: tail
path: /var/log/messages
processors:
logs:
- name: grep
regex: log aa
outputs:
- name: stdout
match: '*'
/usr/lib/systemd/system/fluent-bit.service 의 ExecStart 를 .yaml 로 바꾼 뒤 systemctl daemon-reload 한다.
sudo /opt/fluent-bit/bin/fluent-bit -c /etc/fluent-bit/fluent-bit.yaml --dry-run
fluent-gem 으로 온라인 · 오프라인 플러그인 설치.fluent-package 6 LTS · Fluent Bit 5.1.2 — 2026-09-20 확인. https://docs.fluentd.org/installation/install-fluent-package/install-by-rpm-fluent-package ↩︎