本主题提供 Fluent Bit 软件包的参考信息。
关于 Fluent Bit
Fluent Bit (https://fluentbit.io/) 是一种快速的轻型日志处理器和转发器,可用于从不同来源收集应用程序数据和日志,并统一并将其发送到多个目标。
可以使用 Fluent Bit 作为 TKG 集群中日志的日志转发器。您需要部署一个用于存储和分析日志的日志记录管理服务器。支持的日志记录服务器包括 Syslog、HTTP、Elastic Search、Kafka 和 Splunk。
要在 TKG 集群中安装 Fluent Bit 软件包,请参阅以下主题:
- vSphere 8.x TKr:安装 Fluent Bit
- vSphere 7.x TKr:
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
中设置。下表列出并介绍了可用的参数。
参数 | 描述 | 类型 | 默认 |
---|---|---|---|
logging.namespace | 将部署 Fluent Bit 的命名空间 | string | tanzu-system-logging |
logging.service_account_name | Bit 服务帐户的名称 | string | fluent-bit |
logging.cluster_role_name | 为 fluent bit 授予获取、监视和列出权限的集群角色的名称 | string | fluent-bit-read |
logging.image.name | 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 端口 | integer | 空(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 端口 | integer | 空(output_plugin 为 splunk 时为必填参数) |
fluent_bit.splunk.token | 为 HTTP 事件收集器接口指定身份验证令牌 | string | 空(output_plugin 为 splunk 时为必填参数) |
fluent_bit.http.host | 目标 HTTP 服务器的 IP 地址或主机名 | string | 空(output_plugin 为 http 时为必填参数) |
fluent_bit.http.port | 目标 HTTP 服务器的 TCP 端口 | integer | 空(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 端口 | integer | 空(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 | 从主机节点的文件系统到 pod 的目录路径(对于卷 1) | string | /var/log |
host_path.volume_2 | 从主机节点的文件系统到 pod 的目录路径(对于卷 2) | string | /var/lib/docker/containers |
host_path.volume_3 | 从主机节点的文件系统到 pod 的目录路径(对于卷 3) | string | /run/log |
systemd.path | Systemd 日志目录的路径 | string | /var/log/journal |