Fluent Bit 中文文档
  • Fluent Bit 中文文档
  • 关于
    • Fluent Bit 是什么?
    • Fluent Bit 简要历史
    • Fluentd & Fluent Bit
    • 协议
  • 概念
    • 核心概念
    • 缓冲
    • 数据管道
      • 输入
      • 解析器
      • 过滤器
      • 缓冲
      • 路由
      • 输出
  • 安装
    • 升级说明
    • 平台支持
    • 依赖
    • 源码安装
      • 下载源码
      • 构建和安装
      • 以静态配置构建
    • Linux 软件包
      • Amazon Linux
      • Redhat / CentOS
      • Debian
      • Ubuntu
      • 树莓派
    • Docker
    • Kubernetes
    • Windows
  • 管理
    • 配置 Fluent Bit
      • 格式与模式
      • 配置文件
      • 变量
      • 命令
      • 上游服务负载均衡
      • 单位
    • 安全性
    • 缓冲与存储
    • 积压
    • 调度与重试
    • 内存管理
    • 监控
    • 内部状态导出/信号
  • 数据管道
    • 输入插件
      • Dummy
      • Memory Metics
      • Standard Input
      • Systemd
      • tail
    • 解析器
      • JSON
      • Regular Expression
      • LTSV
      • Logfmt
    • 过滤器
      • Grep
      • Kubernetes
      • Rewrite Tag
      • Modify
      • Nest
    • 输出插件
      • Counter
      • Elasticsearch
      • File
      • FlowCounter
      • HTTP
      • Kafka
      • NULL
      • PostgreSQL
      • Standard Output
      • TCP & TLS
  • 流处理
    • 简介
    • 总览
    • 快速开始
      • Fluent Bit + SQL
      • Check Keys and NULL values
      • Hands On! 101
  • FLUENT BIT FOR DEVELOPERS
    • C Library API
    • 手动提取记录
    • Golang 输出插件
Powered by GitBook
On this page
  • 配置
  • NODE 和特定插件配置
  • Nodes and TLS (Transport Layer Security)
  • 配置文件示例

Was this helpful?

  1. 管理
  2. 配置 Fluent Bit

上游服务负载均衡

Previous命令Next单位

Last updated 4 years ago

Was this helpful?

Fluent Bit 通过网络连接外部服务交付日志是很常见的,例如 , 和 等其他插件都是这种情况。比较常见的是连接到一个节点(主机),可以满足许多应用场景,但是在某些情况下,则需要在不同节点进行负载均衡。 Upstream 特性提供了这种能力。

Upstream 定义了作为输出插件目标一组节点,根据实现的性质,输出插件必须支持 Upstream 功能。以下插件支持 Upstream:

当前实现的负载均衡模式是 round-robin(轮询)。

配置

要定义 Upstream,需要创建一个特定的配置文件,其中包含 UPSTREAM 和一个或多个 NODE 配置段。下表描述了与每个配置段关联的属性。请注意,所有这些都是必须的:

配置段

配置项/键

描述

UPSTREAM

name

定义 Upstream 名称

NODE

name

定义 Node 名称,包含一个节点

host

目标主机的 IP 地址或主机名

port

目标服务的 TCP 端口

NODE 和特定插件配置

NODE 可能包含其他插件所需的配置项,这样我们为输出插件提供了足够的灵活性。一个常见的用例是 Forward 输出插件如果启用了TLS,则它需要一些共享的配置项(下面示例中包含更多详细信息)。

Nodes and TLS (Transport Layer Security)

除了上表中定义的属性之外,可以通过使用 TLS 加密和证书完成对一个节点的网络进行加密。

可用的 TLS 选项在 部分中进行了描述,且可以添加到任何 Node 配置段中。

配置文件示例

如下示例定义了一个名称为 forward-balancing 的Upstream,供 Forward 输出插件使用,它注册了三个 Nodes:

  • node-1: 连接到 127.0.0.1:43000

  • node-2: 连接到 127.0.0.1:44000

  • node-3: 连接到 127.0.0.1:45000,使用 TLS 而无需验证。它还定义了名称 shared_key 的 Forward 输出插件所需的特定配置项。

[UPSTREAM]
    name       forward-balancing

[NODE]
    name       node-1
    host       127.0.0.1
    port       43000

[NODE]
    name       node-2
    host       127.0.0.1
    port       44000

[NODE]
    name       node-3
    host       127.0.0.1
    port       45000
    tls        on
    tls.verify off
    shared_key secret

请注意,每个 Upstream 必须定义在自己的配置文件中。不允许在同一文件或不同文件中添加多个 Upstreams。

输出插件
HTTP
Elasticsearch
Forward
Forward
TLS/SSL