このトピックでは、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 イメージ プル ポリシー 文字列 IfNotPresent
logging.update_strategy DaemonSet の更新時に使用される更新方法 文字列 RollingUpdate
tkg.cluster_name Tanzu Kubernetes クラスタの名前 文字列 Null(必須パラメータ)
tkg.instance_name スーパーバイザー クラスタ、および 1 つのデプロイ内のすべての Tanzu Kubernetes クラスタで共有される TKG インスタンスのユーザー定義による名前。インストールに関連する任意の名前を使用できます。 文字列 Null(必須パラメータ)
注: このフィールドは必須ですが、任意に指定できます。ログに表示される名前です。
fluent_bit.log_level Fluent Bit に使用するログ レベル 文字列 info
fluent_bit.output_plugin Fluent-Bit が収集する情報をフラッシュするバックエンドを設定します 文字列 Null(必須パラメータ)
fluent_bit.elasticsearch.host ターゲット Elasticsearch インスタンスの IP アドレスまたはホスト名 文字列 Null(output_plugin が弾性検索の場合の必須パラメータ)
fluent_bit.elasticsearch.port ターゲット Elasticsearch インスタンスの TCP ポート 整数型 Null(output_plugin が弾性検索の場合の必須パラメータ)
fluent_bit.elasticsearch.buffer_size Elasticsearch サービスからの応答の読み取りに使用するバッファ サイズを指定します。False の場合は無制限に設定されます 文字列 False
fluent_bit.elasticsearch.tls Elasticsearch の TLS のデフォルト設定を指定します 文字列 オフ
fluent_bit.kafka.broker_service_name Kafka Broker の単一または複数リスト(例: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 ターゲット Web サーバの 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