Fluent Bit 學習手冊
1. 概述
Fluent Bit 是(shi)一個開源的日志處理(li)器和轉(zhuan)發(fa)器,專(zhuan)為高性能和低(di)內存(cun)消耗設計。它可以從各種來(lai)源收集(ji)日志和數(shu)據,并將(jiang)其發(fa)送(song)到不同(tong)的后(hou)端存(cun)儲或分析(xi)系統。
2. 安裝 Fluent Bit
Fluent Bit 支(zhi)持多種操(cao)(cao)作(zuo)系統(tong),包括 Linux, Windows, macOS 等。以(yi)下(xia)是一(yi)些常(chang)見操(cao)(cao)作(zuo)系統(tong)的安裝方(fang)法:
- 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,其中包含了輸入、過濾器和輸出的配(pei)置。
- 輸入 (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
在(zai)配(pei)置文件準(zhun)備(bei)好后,可以(yi)使用以(yi)下命令(ling)啟動 Fluent Bit:
fluent-bit -c /path/to/fluent-bit.conf
5. 示例配置文件
以下是一個簡單的 Fluent Bit 配置文件示例,用于從 /var/log/syslog 收集日志并發送到(dao) 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 參(can)數來調整日(ri)志級別。
[SERVICE]
    Log_Level    debug
8. 高級功能
- ?多線程?: Fluent Bit支持多線程處理,可以顯著提高處理速度。
- ?TLS/SSL?: 支持在輸入和輸出插件中啟用 TLS/SSL 加密。
- ?插件擴展?: 可以使用 C 語言編寫自定義插件。
9. 常見問題
- ?內存占用高?: 檢查輸入插件的緩沖區設置,適當調整。
- ?數據丟失?: 檢查輸出插件的連接狀態和緩沖區設置。
10. 社區和資源
通過以上步驟(zou),可以快速入(ru)門并開始使用 Fluent Bit 收集、處理和轉發(fa)日志數據。