本主題提供 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 的命名空間 string tanzu-system-logging
logging.service_account_name Fluent Bit 服務帳戶的名稱 string fluent-bit
logging.cluster_role_name 授與取得、監視和列示權限的叢集角色名稱 string fluent-bit-read
logging.image.name Fluent Bit 映像的名稱 string fluent-bit
logging.image.tag Fluent Bit 映像標籤。如果您要升級版本,則可能需要更新此值。 string v1.6.9_vmware.1
logging.image.repository 具有 Fluent Bit 映像的存放庫的位置。預設為公用 VMware 登錄。如果您要使用私人存放庫 (例如氣隙環境),請變更此值。 string projects.registry.vmware.com/tkg
logging.image.pullPolicy Fluent Bit 提取原則 string IfNotPresent
logging.update_strategy 更新在更新 DaemonSet 時所使用的策略 string RollingUpdate
tkg.cluster_name Tanzu Kubernetes 叢集的名稱 string 空值 (必要參數)
tkg.instance_name TKG 執行個體的使用者定義名稱,由一個部署中的主管叢集及所有 Tanzu Kubernetes 叢集共用。可以使用與安裝相關的任何名稱。 string 空值 (必要參數)
備註: 此欄位為必填,但內容是任意的。這是顯示在記錄中的名稱。
fluent_bit.log_level 要用於 Fluent Bit 的記錄層級 string 資訊
fluent_bit.output_plugin 設定 Fluent Bit 應排清所收集之資訊的後端 string 空值 (必要參數)
fluent_bit.elasticsearch.host 目標 Elasticsearch 執行個體的 IP 位址或主機名稱 string 空值 (output_plugin 為彈性搜尋時的必要參數)
fluent_bit.elasticsearch.port 目標 Elasticsearch 執行個體的 TCP 連接埠 整數 空值 (output_plugin 為彈性搜尋時的必要參數)
fluent_bit.elasticsearch.buffer_size 指定用來讀取 Elasticsearch 服務回應的緩衝區大小。若為 False,則設定為無限制 string False
fluent_bit.elasticsearch.tls 指定適用於 Elasticsearch 之 TLS 的預設設定 string 關閉
fluent_bit.kafka.broker_service_name Kafka Broker 的多個清單之一,例如:192.168.1.3:9092 string 空值 (output_plugin 為 kafka 時的必要參數)
fluent_bit.kafka.topic_name Fluent Bit 用於將訊息傳送給 Kafka 的單一項目或以 (,) 分隔的主題清單 string 空值 (output_plugin 為 kafka 時的必要參數)
fluent_bit.splunk.host 目標 Splunk 伺服器的 IP 位址或主機名稱 string 空值 (output_plugin 為 splunk 時的必要參數)
fluent_bit.splunk.port 目標 Splunk 伺服器的 TCP 連接埠 整數 空值 (output_plugin 為 splunk 時的必要參數)
fluent_bit.splunk.token 指定 HTTP 事件收集器介面的驗證 Token string 空值 (output_plugin 為 splunk 時的必要參數)
fluent_bit.http.host 目標 HTTP 伺服器的 IP 位址或主機名稱 string 空值 (output_plugin 為 http 時的必要參數)
fluent_bit.http.port 目標 HTTP 伺服器的 TCP 連接埠 整數 空值 (output_plugin 為 http 時的必要參數)
fluent_bit.http.mode 指定目標 Web 服務器的 HTTP URI string 空值 (output_plugin 為 http 時的必要參數)
fluent_bit.http.header_key_value HTTP 標頭索引鍵/值配對。可以設定多個標頭 string 空值 (output_plugin 為 http 時的必要參數)
fluent_bit.http.format 指定要用於 HTTP 要求本文的資料格式 string 空值 (output_plugin 為 http 時的必要參數)
fluent_bit.syslog.host 遠端 Syslog 伺服器的網域或 IP 位址 string 空值 (output_plugin 為 syslog 時的必要參數)
fluent_bit.syslog.port 遠端 Syslog 伺服器的 TCP 或 UDP 連接埠 整數 空值 (output_plugin 為 syslog 時的必要參數)
fluent_bit.syslog.mode 從 TCP、UDP 和 TLS 指定傳輸類型 string 空值 (output_plugin 為 syslog 時的必要參數)
fluent_bit.syslog.format 指定要用於 HTTP 要求本文的資料格式 string 空值 (output_plugin 為 syslog 時的必要參數)
host_path.volume_1 從主機節點檔案系統到網繭的目錄路徑 (針對磁碟區 1) string /var/log
host_path.volume_2 從主機節點檔案系統到網繭的目錄路徑 (針對磁碟區 2) string /var/lib/docker/containers
host_path.volume_3 從主機節點檔案系統到網繭的目錄路徑 (針對磁碟區 3) string /run/log
systemd.path Systemd 日誌目錄的路徑 string /var/log/journal