Use this reference when configuring additional parameters of fluent-bit add-on via the Custom Resources(CRs) tab.

Configurable parameters

Parameter

Description

Type

Default value

Note

fluent_bit.config.service

For information about the configuration for Fluent Bit service, see the Fluent Bit documentation.

String

Default fluent-bit service config.

fluent_bit.config.outputs

For information about the configuration for Fluent Bit outputs, see the Fluent Bit documentation.

String

Standard output

fluent_bit.config.inputs

For information about the configuration for Fluent Bit inputs, see the Fluent Bit documentation.

String

Ingest Kubernetes container logs using the tail plugin and ingest systemd logs from Kubelet.

fluent_bit.config.filters

For information about the configuration for Fluent Bit filters, see the Fluent Bit documentation.

String

Default kubernetes filter.

fluent_bit.config.parsers

For information about the configuration for Fluent Bit parsers, see the Fluent Bit documentation.

String

JSON parser

fluent_bit.config.plugins

Content for Fluent Bit plugins configuration.

String

fluent_bit.config.streams

Content for Fluent Bit streams file.

String

fluent_bit.daemonset.resources

For information about the configuration for Fluent Bit containers resource requirements, see the Fluent Bit documentation.

Map

{}

fluent_bit.daemonset.podAnnotations

The Fluent Bit deamonset pods annotations.

Map

{}

fluent_bit.daemonset.podLabels

The Fluent Bit deamonset pods labels

Map

{}

A sample fluent-bit addon CR is:

metadata:
  name: fluent-bit
  clusterName: wc0
spec:
  name: fluent-bit
  clusterRef:
    name: wc0
    namespace: wc0
  config:
    stringData:
      values.yaml: |
        fluent_bit:
          config:
            service: |
              [Service]
                Flush         5
                Log_Level     info
                Daemon        off
                Parsers_File  parsers.conf
                HTTP_Server   On
                HTTP_Listen   0.0.0.0
                HTTP_Port     2020
            inputs: |
              [INPUT]
                Name             tail
                Path             /var/log/containers/*.log
                Parser           cri
                Tag              kube.*
                Mem_Buf_Limit    5MB
                Skip_Long_Lines  On
              [INPUT]
                Name                systemd
                Tag                 host.*
                Systemd_Filter      _SYSTEMD_UNIT=kubelet.service
                Systemd_Filter      _SYSTEMD_UNIT=containerd.service
                Read_From_Tail      On
            outputs: |
              [OUTPUT]
                Name                 syslog
                Match                *
                Host                 1.2.3.4
                Port                 514
                Mode                 udp
                Syslog_Format        rfc5424
                Syslog_Hostname_key  tca_cluster_name
                Syslog_Appname_key   pod_name
                Syslog_Procid_key    container_name
                Syslog_Message_key   message
            filters: |
              [FILTER]
                Name                kubernetes
                Match               kube.*
                Kube_URL            https://kubernetes.default.svc:443
                Kube_CA_File        /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
                Kube_Token_File     /var/run/secrets/kubernetes.io/serviceaccount/token
                Kube_Tag_Prefix     kube.var.log.containers.
                Merge_Log           On
                Merge_Log_Key       log_processed
                K8S-Logging.Parser  On
                K8S-Logging.Exclude Off
              [FILTER]
                Name                nest
                Match               kube.*
                Operation           lift
                Nested_Under        kubernetes
              [FILTER]
                Name                record_modifier
                Match               *
                Record              tca_cluster_name wc0
            parsers: |
              [PARSER]
                Name                 cri
                Format               regex
                Regex                ^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*) (?<message>.*)$
                Time_Key             time
                Time_Format          %Y-%m-%dT%H:%M:%S.%L%z

In this sample CR:

  1. Use the default fluent_bit.config.service value.

  2. Collect all Kubernetes container logs and systemd logs for kubelet.service and containerd.service in fluent_bit.config.inputs value.

  3. Use output of type syslog to integrate fluent-bit with VMware vRealize LogInsight, replace the host IP address 1.2.3.4 to your vRealize LogInsight IP address.

  4. Use the default filter of type kubernetes in fluent_bit.config.filters value, add a filter of type nest and a filter of type record_modifier to process the native logs so that the logs can be easily filtered out and displayed pretty on vRealize LogInsight. Remember to replace the tca_cluster_name wc0 to your cluster name in record_modifier filter.

  5. Use a Regular Expression parser to parse Kubernetes container logs in fluent_bit.config.parsers value.