Tanzu Packages latest

Install Fluent Bit for Log Forwarding

Last Updated February 10, 2025

This topic gives an overview of the Fluent Bit package, which you can install in Tanzu Kubernetes Grid (TKG) workload clusters to provide log forwarding services for the cluster.

Fluent Bit is a fast, lightweight log processor and forwarder that lets you collect application data and logs from different sources, unify them, and send them to multiple destinations.

You can use Fluent Bit as a log forwarder for logs from a TKG cluster. You need to have a logging management server deployed for storing and analyzing logs. You can use one of the supported logging servers.

  • Syslog
  • HTTP
  • Elastic Search
  • Kafka
  • Splunk

See Install Fluent Bit in Workload Clusters Deployed by a Standalone Management Cluster.

Fluent Bit Components, Configuration, Data Values

The following sections describe Fluent Bit components and show how you can configure the Fluent Bit package.

Fluent Bit Components

The Fluent Bit package installs on the cluster the container listed in the table. For more information, see https://fluentbit.io/. The package pulls the container from the VMware public registry specified in Package Repository.

ContainerResource TypeReplicasDescription
Fluent BitDaemonSet6Log collector, aggregator, forwarder

Fluent Bit Data Values

The following example can be used for an HTTP logging endpoint.

...
    ---
    namespace: fluentbit-logging
    tkg:
      instance_name: "<TKG_INSTANCE_NAME>"
      cluster_name: "<CLUSTER_NAME>"
    fluentbit:
      pspNames: "vmware-system-restricted"
      output_plugin: "http"
      http:
        host: "<HTTP_HOST>"
        port: "<HTTP_PORT>"
        uri: "<URI>"
        header_key_value: "<HEADER_KEY_VALUE>"
        format: "json"

The following example can be used for Elastic Search.

...
    ---
    namespace: fluentbit-logging
    tkg:
      instance_name: "<TKG_INSTANCE_NAME>"
      cluster_name: "<CLUSTER_NAME>"
    fluentbit:
      pspNames: "vmware-system-restricted"
      output_plugin: "elasticsearch"
      elasticsearch:
        host: "<ELASTIC_SEARCH_HOST>"
        port: "<ELASTIC_SEARCH_PORT>"

The following example can be used for Kafka.

...
    ---
    namespace: fluentbit-logging
    tkg:
      instance_name: "<TKG_INSTANCE_NAME>"
      cluster_name: "<CLUSTER_NAME>"
    fluentbit:
      pspNames: "vmware-system-restricted"
      output_plugin: "kafka"
      kafka:
        broker_service_name: "<BROKER_SERVICE_NAME>"
        topic_name: "<TOPIC_NAME>"

The following example can be used for Splunk.

...
    ---
    namespace: fluentbit-logging
    tkg:
      instance_name: "<TKG_INSTANCE_NAME>"
      cluster_name: "<CLUSTER_NAME>"
    fluentbit:
      pspNames: "vmware-system-restricted"
      output_plugin: "splunk"
      splunk:
        host: "<SPLUNK_HOST>"
        port: "<SPLUNK_PORT>"
        token: "<SPLUNK_TOKEN>"

Fluent Bit Configuration Parameters (Standalone MC)

The table below lists configuration parameters of the Fluent Bit package and describes their default values. You can set the following configuration values in your fluent-bit-data-values.yaml file created in Deploy Fluent Bit on a Cluster.

ParameterDescriptionTypeDefault
namespaceNamespace where Fluent Bit will be deployed.Stringtanzu-system-logging
fluent_bit.config.outputsFor information about the configuration for Fluent Bit outputs, see the Fluent Bit documentation.Multiline YAMLStandard output
fluent_bit.config.parsersFor information about the configuration for Fluent Bit parsers, see the Fluent Bit documentation.Multiline YAMLJSON parser
fluent_bit.config.pluginsContent for Fluent Bit plugins configuration.String<nil>
fluent_bit.config.serviceFor information about the configuration for Fluent Bit service, see the Fluent Bit documentation.Multiline YAMLDefault Fluent Bit service config.
fluent_bit.config.streamsContent for Fluent Bit streams file.String<nil>
fluent_bit.config.filtersFor information about the configuration for Fluent Bit filters, see the Fluent Bit documentation.Multiline YAMLDefault Kubernetes filter.
fluent_bit.config.inputsFor information about the configuration for Fluent Bit inputs, see the Fluent Bit documentation.StringIngest Kubernetes container logs using the tail plugin and ingest systemd logs from kubelet.
fluent_bit.daemonset.resourcesFor information about the configuration for Fluent Bit containers resource requirements, see the Fluent Bit documentation.Multiline YAML<nil>
fluent_bit.daemonset.podAnnotationsThe Fluent Bit deployments pod annotations.List<nil>
fluent_bit.daemonset.podLabelsThe Fluent Bit deployments pod labels.List<nil>
fluent_bit.ipv6PrimaryIf you are deploying Fluent Bit to an IPv6 cluster, set ipv6Primary to true.Booleanfalse