docs: Fluent Bit 메타데이터 문제 수정 - docker.sock 마운트 필수 명시

This commit is contained in:
happybell80 2025-09-29 11:56:41 +09:00
parent d82ac720f7
commit 9f41078c58

View File

@ -21,31 +21,32 @@ tags: [fluent-bit, opensearch, logging, docker]
### 근본 원인
```ini
# 현재 설정 (이미지 내장)
# 현재 설정
[INPUT]
Name tail
Path /var/lib/docker/containers/*/*-json.log
Parser docker
Docker_Mode On # 이 설정만으로는 메타데이터 추출 불가
Docker_Mode On # 로그 본문 병합용, 메타데이터 추출과 무관
```
- Docker_Mode는 deprecated, 실제 메타데이터 추출 안됨
- Parser는 JSON만 파싱, container_name/id 추출 못함
- FILTER 섹션 없어서 Docker 메타데이터 enrichment 누락
1. **FILTER 섹션 누락**: Docker 메타데이터 추출 담당 필터 없음
2. **/var/run/docker.sock 미마운트**: Docker API 접근 불가로 컨테이너 정보 조회 불가
3. **Docker_Mode 역할 오해**: 로그 본문 병합용이며 메타데이터는 FILTER가 담당
## 해결 방안
### 즉시 조치 - Fluent Bit 설정 수정
```ini
[FILTER]
Name docker
Match docker.*
Labels On
# Docker 메타데이터 자동 추가 (container_name, container_id 등)
```
### 1. fluent-bit.conf 수정 필요
- 위치: `/home/happybell80/ivada_project/fluent-bit/fluent-bit.conf`
- 현재: FILTER 섹션 없음 (14번 라인까지만 INPUT 설정)
- 추가 필요: FILTER docker 섹션 (OUTPUT 전에 삽입)
### 영구 조치 - 외부 설정 파일 관리
1. fluent-bit 저장소에 설정 파일 추가
2. docker-compose.yaml 수정하여 설정 마운트
3. Git Actions 통해 자동 배포
### 2. docker-compose.yaml 수정 필요
- 위치: `/home/happybell80/ivada_project/fluent-bit/docker-compose.yaml`
- 현재 volumes (12-14번 라인): `/var/lib/docker/containers`, `/var/log/fluent-bit/tail-db`, `/etc/localtime`
- 누락: `/var/run/docker.sock:/var/run/docker.sock:ro` 마운트 없음
### 3. Dockerfile 오류
- 13번 라인: `COPY certs/root.pem /fluent-bit/certs/root.pem`
- 문제: certs 디렉토리 없음
- 조치: 해당 라인 제거 또는 주석 처리 필요
## 검증 명령
```bash