From 9f41078c58d5557c33a5a99683d38e58051f819c Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 29 Sep 2025 11:56:41 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20Fluent=20Bit=20=EB=A9=94=ED=83=80?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=AC=B8=EC=A0=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20docker.sock=20=EB=A7=88=EC=9A=B4=ED=8A=B8=20?= =?UTF-8?q?=ED=95=84=EC=88=98=20=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3_fluent_bit_container_metadata_missing.md | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/troubleshooting/250929_51123_fluent_bit_container_metadata_missing.md b/troubleshooting/250929_51123_fluent_bit_container_metadata_missing.md index 73bafbb..249347b 100644 --- a/troubleshooting/250929_51123_fluent_bit_container_metadata_missing.md +++ b/troubleshooting/250929_51123_fluent_bit_container_metadata_missing.md @@ -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