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
  • 事件或记录
  • 过滤
  • 标签
  • 时间戳
  • Seconds
  • Nanoseconds
  • (标签)匹配
  • 结构化消息
  • 非结构化消息
  • 结构化消息

Was this helpful?

  1. 概念

核心概念

以下关键概念对于理解 Fluent Bit 的工作方式非常重要

Previous协议Next缓冲

Last updated 4 years ago

Was this helpful?

在开始使用 之前,最好先了解一些服务的关键概念。本文档对这些概念和通用 术语进行了简要介绍。我们列出了所有术语的清单,但建议您从头到尾阅读本文档,以更全面地了解日志或数据流处理器。

  • Event or Record(事件或记录)

  • Filtering(过滤)

  • Tag(标签)

  • Timestamp(时间戳)

  • Match(匹配)

  • Structured Message(结构化消息)

事件或记录

传入 Fluent Bit 的每条日志或指标数据都被视为时间或记录。

例如,一个 Syslog 文件的内容如下:

Jan 18 12:52:16 flb systemd[2222]: Starting GNOME Terminal Server
Jan 18 12:52:16 flb dbus-daemon[2243]: [session uid=1000 pid=2243] Successfully activated service 'org.gnome.Terminal'
Jan 18 12:52:16 flb systemd[2222]: Started GNOME Terminal Server.
Jan 18 12:52:16 flb gsd-media-keys[2640]: # watch_fast: "/org/gnome/terminal/legacy/" (establishing: 0, active: 0)

它包含四行,并且它们代表四个独立的事件。

在内部,事件通常由两部分组成(以数组形式表示):

[TIMESTAMP, MESSAGE]

过滤

在某些情况下,我们需要对事件内容进行修改。修改,丰富或删除事件的过程被称为过滤

过滤过程由需要应用场景,例如:

  • 将特定的信息(如 IP 地址或元数据)添加到事件

  • 选择特定的事件内容

  • 删除与某些模式匹配的事件

标签

每个进入 Fluent Bit 的事件都会分配一个标签。此标签是一个内部字符串,它由路由器在以后的阶段中使用,以确定该事件必须经过哪个过滤器或路由到哪个输出。

大多数的标签是在配置中手动指定的。如果未指定标签,Fluent Bit 将自动分配为生成该事件的输入插件的名称

时间戳

时间戳表示事件创建的 时刻。每个事件都包含一个时间戳。时间戳是数字形式的小数,格式如下:

SECONDS.NANOSECONDS

Seconds

自 Unix 纪元以来经过的秒数

Nanoseconds

小数秒或纳秒

时间戳始终存在,可以通过输入插件设置,也可以通过数据解析过程发现。

(标签)匹配

Fluent Bit 允许将收集和处理的事件传递到一个或多个目的地,这是通过路由阶段完成的。匹配表示一个简单的规则,用于选择标签与定义规则相匹配的事件

结构化消息

源事件可以有或没有结构。结构在事件消息中定义了一组 keys 和 values(键值对)。作为示例,请参考如下两条消息:

非结构化消息

"Project Fluent Bit created on 1398289291"

结构化消息

{"project": "Fluent Bit", "created": 1398289291}

在底层结构上,它们都是一个字节数组,但是结构化消息定义了键值对。结构有助于实现对数据修改的更快操作。

唯一不分配的标签的输入插件是 输出插件。该插件使用被称为 "Forward"(转发) 的 Fluentd 网络协议,其中每个事件都已带有相关联的标签。Fluent Bit 将始终使用客户端设置的传入标签。

要了解有关标签和匹配的更多信息,请查看部分.

Fluent Bit 总是将每个消息作为结构化消息处理。出于高性能性能的考虑,我们使用被称为 的二进制序列化数据格式。

可以将 视为 JSON 的二进制版本

Fluent Bit
Fluent Bit
Forward
路由
MessagePack
MessagePack