이 항목에서는 Fluent Bit 패키지에 대한 참조 정보를 제공합니다.

Fluent Bit 정보

Fluent Bit(https://fluentbit.io/)는 빠르고 가벼운 로그 프로세서 및 전달자이며, 다양한 소스에서 애플리케이션 데이터와 로그를 수집하고 통합하여 여러 대상으로 보내는 데 사용할 수 있습니다.

Fluent Bit를 TKG 클러스터의 로그에 대한 로그 전달자로 사용할 수 있습니다. 로그 저장 및 분석을 위해 로깅 관리 서버를 배포해야 합니다. 지원되는 로깅 서버에는 Syslog, HTTP, Elastic Search, Kafka 및 Splunk가 포함됩니다.

TKG 클러스터에 Fluent Bit 패키지를 설치하려면 다음 항목을 참조하십시오.

Fluent Bit 구성 요소

Fluent Bit 패키지는 표에 나열된 컨테이너를 클러스터에 설치합니다. 패키지는 패키지 저장소에 지정된 공용 레지스트리에서 컨테이너를 가져옵니다.
컨테이너 리소스 유형 복제 설명
Fluent Bit DaemonSet 6 로그 수집기, 집계기, 전달자

Fluent Bit 데이터 값

다음 fluent-bit-data-values.yaml 예는 Syslog 서버에 사용할 수 있습니다.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "syslog"
  syslog:
    host: "<SYSLOG_HOST>"
    port: "<SYSLOG_PORT>"
    mode: "<SYSLOG_MODE>"
    format: "<SYSLOG_FORMAT>"

다음 fluent-bit-data-values.yaml 예는 HTTP 끝점에 사용할 수 있습니다.

---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "http"
  http:
    host: "<HTTP_HOST>"
    port: "<HTTP_PORT>"
    uri: "<URI>"
    header_key_value: "<HEADER_KEY_VALUE>"
    format: "json"
다음 fluent-bit-data-values.yaml 예는 Elastic Search에 사용할 수 있습니다.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "elasticsearch"
  elasticsearch:
    host: "<ELASTIC_SEARCH_HOST>"
    port: "<ELASTIC_SEARCH_PORT>"
다음 fluent-bit-data-values.yaml 예는 Kafka에 사용할 수 있습니다.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "kafka"
  kafka:
    broker_service_name: "<BROKER_SERVICE_NAME>"
    topic_name: "<TOPIC_NAME>"
다음 fluent-bit-data-values.yaml 예는 Splunk에 사용할 수 있습니다.
---
namespace: fluentbit-logging
tkg:
  instance_name: "<TKG_INSTANCE_NAME>"
  cluster_name: "<CLUSTER_NAME>"
fluentbit:
  output_plugin: "splunk"
  splunk:
    host: "<SPLUNK_HOST>"
    port: "<SPLUNK_PORT>"
    token: "<SPLUNK_TOKEN>"

Fluent Bit 구성

구성 값은 fluent-bit-data-values.yaml에 설정되어 있습니다. 다음 표에는 사용 가능한 매개 변수와 그에 대한 설명이 나와 있습니다.
표 1. Fluent Bit 패키지 구성
매개 변수 설명 유형 기본값
logging.namespace Fluent Bit가 배포될 네임스페이스 문자열 tanzu-system-logging
logging.service_account_name Fluent Bit 서비스 계정의 이름 문자열 fluent-bit
logging.cluster_role_name Fluent Bit에 대한 get, watch 및 list 권한을 부여하는 클러스터 역할의 이름 문자열 fluent-bit-read
logging.image.name Fluent Bit 이미지의 이름 문자열 fluent-bit
logging.image.tag Fluent Bit 이미지 태그. 버전을 업그레이드하는 경우 이 값을 업데이트해야 할 수 있습니다. 문자열 v1.6.9_vmware.1
logging.image.repository Fluent Bit 이미지가 있는 저장소의 위치입니다. 기본값은 공용 VMware 레지스트리입니다. 비공개 저장소(예: 에어갭 환경)를 사용하는 경우 이 값을 변경합니다. 문자열 projects.registry.vmware.com/tkg
logging.image.pullPolicy Fluent Bit 이미지 Pull 정책 문자열 IfNotPresent
logging.update_strategy DaemonSet 업데이트 시 사용할 업데이트 전략 문자열 RollingUpdate
tkg.cluster_name Tanzu Kubernetes 클러스터의 이름 문자열 Null(필수 매개 변수)
tkg.instance_name 하나의 배포에서 모든 Tanzu Kubernetes 클러스터 및 감독자 클러스터가 공유하는 TKG 인스턴스의 사용자 정의 이름. 설치와 관련된 모든 이름을 사용할 수 있습니다. 문자열 Null(필수 매개 변수)
참고: 이 필드는 필수이지만 임의의 필드입니다. 로그에 나타나는 이름입니다.
fluent_bit.log_level Fluent Bit에 사용할 로그 수준 문자열 정보
fluent_bit.output_plugin Fluent-Bit가 수집한 정보를 플러시해야 하는 백엔드 설정 문자열 Null(필수 매개 변수)
fluent_bit.elasticsearch.host 대상 Elasticsearch 인스턴스의 IP 주소 또는 호스트 이름 문자열 Null(output_plugin이 elastic search인 경우 매개 변수)
fluent_bit.elasticsearch.port 대상 Elasticsearch 인스턴스의 TCP 포트 정수 Null(output_plugin이 elastic search인 경우 매개 변수)
fluent_bit.elasticsearch.buffer_size Elasticsearch 서비스의 응답을 읽는 데 사용되는 버퍼 크기를 지정. False인 경우 제한 없음으로 설정 문자열 False
fluent_bit.elasticsearch.tls Elasticsearch에 대한 TLS의 기본 설정 지정 문자열 꺼짐
fluent_bit.kafka.broker_service_name Kafka 브로커의 여러 목록 중 하나(예: 192.168.1.3:9092) 문자열 Null(output_plugin이 kafka인 경우 필수 매개 변수)
fluent_bit.kafka.topic_name Fluent Bit가 Kafka에 메시지를 보내는 데 사용할 단일 항목 또는 (,)로 구분된 항목의 목록 문자열 Null(output_plugin이 kafka인 경우 필수 매개 변수)
fluent_bit.splunk.host 대상 Splunk 서버의 IP 주소 또는 호스트 이름 문자열 Null(output_plugin이 splunk인 경우 필수 매개 변수)
fluent_bit.splunk.port 대상 Splunk 서버의 TCP 포트 정수 Null(output_plugin이 splunk인 경우 필수 매개 변수)
fluent_bit.splunk.token HTTP 이벤트 수집기 인터페이스에 대한 인증 토큰 지정 문자열 Null(output_plugin이 splunk인 경우 필수 매개 변수)
fluent_bit.http.host 대상 HTTP 서버의 IP 주소 또는 호스트 이름 문자열 Null(output_plugin이 http인 경우 필수 매개 변수)
fluent_bit.http.port 대상 HTTP 서버의 TCP 포트 정수 Null(output_plugin이 http인 경우 필수 매개 변수)
fluent_bit.http.mode 대상 웹 서버에 대한 HTTP URI 지정 문자열 Null(output_plugin이 http인 경우 필수 매개 변수)
fluent_bit.http.header_key_value HTTP 헤더 키/값 쌍. 여러 헤더를 설정할 수 있음 문자열 Null(output_plugin이 http인 경우 필수 매개 변수)
fluent_bit.http.format HTTP 요청 본문에 사용할 데이터 형식 지정 문자열 Null(output_plugin이 http인 경우 필수 매개 변수)
fluent_bit.syslog.host 원격 Syslog 서버의 도메인 또는 IP 주소 문자열 Null(output_plugin이 syslog인 경우 필수 매개 변수)
fluent_bit.syslog.port 원격 Syslog 서버의 TCP 또는 UDP 포트 정수 Null(output_plugin이 syslog인 경우 필수 매개 변수)
fluent_bit.syslog.mode TCP, UDP 및 TLS 중에 전송 유형 지정 문자열 Null(output_plugin이 syslog인 경우 필수 매개 변수)
fluent_bit.syslog.format HTTP 요청 본문에 사용할 데이터 형식 지정 문자열 Null(output_plugin이 syslog인 경우 필수 매개 변수)
host_path.volume_1 볼륨 1에 대한, 호스트 노드의 파일 시스템에서 포드로의 디렉토리 경로 문자열 /var/log
host_path.volume_2 볼륨 2에 대한, 호스트 노드의 파일 시스템에서 포드로의 디렉토리 경로 문자열 /var/lib/docker/containers
host_path.volume_3 볼륨 3에 대한, 호스트 노드의 파일 시스템에서 포드로의 디렉토리 경로 문자열 /run/log
systemd.path Systemd 저널 디렉토리의 경로 문자열 /var/log/journal