Fluent-bit
Fluent Bit은 경량의 로그 데이터 수집기로서, 데이터를 수집하고 처리하는 데 사용됩니다 애플리케이션에 sidecar 형태로 Flentbit를 설치하여 애플리케이션의 로그를 파싱하여 데이터 수집, 처리 및 전송을 담당하는 Opentelemetry-Collector로 전달하는 형태입니다.
Last updated
Fluent Bit은 경량의 로그 데이터 수집기로서, 데이터를 수집하고 처리하는 데 사용됩니다 애플리케이션에 sidecar 형태로 Flentbit를 설치하여 애플리케이션의 로그를 파싱하여 데이터 수집, 처리 및 전송을 담당하는 Opentelemetry-Collector로 전달하는 형태입니다.
Last updated
위 가이드는 애플리케이션이 /var/log의 디렉토리안에 로그를 저장하는 방식에 대해 설명합니다 사용자의 환경에 맞게 디렉토리 수정과 로그 패턴을 수정하시길 바랍니다.
로그를 수집할 애플리케이션 - 설정 - 컨테이너 "추가" 버튼을 클릭하여 다음과 같이 컨테이너를 생성합니다.
이미지:
fluent/fluent-bit:3.0.0
저장버튼을 누르게 되면 기존 애플리케이션에 fluent-bit sidecar 형식으로 컨테이너가 실행됩니다.
Log Appender에 설정한 경로에 로그가 저장되므로 컨테이너에서 볼륨을 생성하고 마운트해야합니다.
로그를 수집할 애플리케이션 - 설정 - 볼륨 - "생성" 버튼을 클릭하여 다음과 같이 볼륨을 생성합니다.
볼륨 유형
: Empty Dir
볼륨 명
: 사용자 지정 이름
다음은 생성한 볼륨을 마운트하는 과정입니다.
로그를 수집할 애플리케이션 - 설정 - 볼륨 마운트 - "추가" 버튼을 클릭하여 다음과 같이 설정하여 볼륨에 마운트시킵니다.
컨테이너 경로
: Log Appender에서 설정한 파일 경로 (eg. /var/log)
컨테이너가 로그를 저장하는 디렉토리 경로에 마운트해야 파일을 읽어 로그를 파싱할 수 있습니다.
또한 fluent-bit가 제공하는 Config를 통하여 라벨을 추가하거나, 라벨 이름을 바꿀수 있습니다.
로그를 수집할 서비스맵 - 설정 정보 - "생성" 버튼을 클릭하여 컨피그 맵을 클릭합니다.
이름
: 사용자가 설정할 컨피그 맵의 이름
설명
: 추가적으로 사용자가 명시할 컨피그 맵의 설명
"추가" 버튼을 클릭하여 컨피그 파일을 추가합니다.
다음 컨피그 파일은 절대적인 방식은 아닙니다. 로그를 적재하는 위치나, 로그 패턴이 다를 수 있으므로 사용자의 환경에 맞게 설정하길 바랍니다.
log-agent 서비스 주소
: 인프라 - 클러스터 - 애드온 - 'log-agent' 클릭 후 서비스 이름 확인
( http 포트 = 4318 , grpc 포트 = 4317)
애플리케이션 로그는 'level'이라는 라벨을 생성해서 사용자에게 레벨별로 필터링하는 기능을 제공합니다. 다음은 사용자의 애플리케이션이 level이라는 값이 없을 경우 nginx의 code값을 level로 변환하는 예시입니다.
rewrite.lua
컨피그 맵 생성이 완료되면 다시 애플리케이션으로 돌아와 볼륨을 생성합니다.
로그를 수집할 애플리케이션 - 설정 - 볼륨 - "생성" 버튼을 클릭하여 다음과 같이 볼륨을 생성합니다.
볼륨 유형
: Config Map
볼륨 명
: 사용자 지정 이름
컨피그맵
: 사용자가 생성한 컨피그맵 이름
권한
: 644
다음은 생성한 볼륨을 마운트하는 과정입니다.
로그를 수집할 애플리케이션 - 설정 - 볼륨 마운트 - "추가" 버튼을 클릭하여 다음과 같이 설정하여 볼륨에 마운트시킵니다.
컨테이너 경로
: Log Data - 로그가 저장된 디렉토리 경로 (eg. /var/log)
컨테이너 경로
: Fluent-bit -conf -fluent-bit의 설정파일 경로 (eg. /fluent-bit/etc)
fluent-bit 컨테이너가 정상적으로 작동하지 않을때