Fluent Bit 学习手册
1. 概述
Fluent Bit 是一个开源的日志处理器和转发器,专为高性能和低内存消耗设计。它可以从各种来源收集日志和数据,并将其发送到不同的后端存储或分析系统。
2. 安装 Fluent Bit
Fluent Bit 支持多种操作系统,包括 Linux, Windows, macOS 等。以下是一些常见操作系统的安装方法:
- Linux (Debian/Ubuntu)
sudo apt-get update sudo apt-get install fluent-bit
- Linux (RedHat/CentOS)
sudo yum install fluent-bit
- Windows
下载并安装 Fluent Bit 的 Windows 二进制包:
- macOS
使用 Homebrew 安装:brew install fluent-bit
3. 配置 Fluent Bit
Fluent Bit 的配置文件通常命名为 fluent-bit.conf
,其中包含了输入、过滤器和输出的配置。
- 输入 (Input)
定义数据来源,例如:[INPUT] Name tail Path /var/log/syslog Tag syslog
- 过滤器 (Filter)
处理输入的数据,例如:[FILTER] Name parser Match * Key_Name log Parser syslog
- 输出 (Output)
定义数据发送到哪里,例如:[OUTPUT] Name es Match * Host elasticsearch Port 9200 Index fluent-bit
4. 运行 Fluent Bit
在配置文件准备好后,可以使用以下命令启动 Fluent Bit:
fluent-bit -c /path/to/fluent-bit.conf
5. 示例配置文件
以下是一个简单的 Fluent Bit 配置文件示例,用于从 /var/log/syslog
收集日志并发送到 Elasticsearch:
[SERVICE]
Flush 1
Log_Level info
[INPUT]
Name tail
Path /var/log/syslog
Tag syslog
[FILTER]
Name parser
Match *
Key_Name log
Parser syslog
[OUTPUT]
Name es
Match *
Host elasticsearch
Port 9200
Index fluent-bit
6. 常用插件
- 输入插件
tail
: 从文件中读取日志。syslog
: 从 Syslog 读取日志。forward
: 通过网络接收 Fluentd 兼容的数据。
- 过滤器插件
grep
: 过滤日志。record_modifier
: 修改记录字段。parser
: 解析日志。
- 输出插件
es
: 发送到 Elasticsearch。kafka
: 发送到 Kafka。stdout
: 发送到标准输出。
7. 监控和日志
Fluent Bit 本身也会生成日志,默认情况下这些日志会输出到标准错误 (stderr)。可以通过配置文件中的 Log_Level
参数来调整日志级别。
[SERVICE]
Log_Level debug
8. 高级功能
- 多线程: Fluent Bit支持多线程处理,可以显著提高处理速度。
- TLS/SSL: 支持在输入和输出插件中启用 TLS/SSL 加密。
- 插件扩展: 可以使用 C 语言编写自定义插件。
9. 常见问题
- 内存占用高: 检查输入插件的缓冲区设置,适当调整。
- 数据丢失: 检查输出插件的连接状态和缓冲区设置。
10. 社区和资源
通过以上步骤,可以快速入门并开始使用 Fluent Bit 收集、处理和转发日志数据。