开发与运维工具链
Fluent Bit
厂商/来源:
CNCF (云原生基金会)
核心功能:
日志的“精炼厂”。在边缘侧直接过滤、压缩日志,只上传有用的报错,而不是把几 GB 的垃圾日志全传给云端。
| 适用场景 | 嵌入式设备日志收集、Docker 容器日志聚合、将日志转为 JSON 上报 |
| 架构支持 | C 语言编写 (极度轻量)。内存占用仅 650KB。完美运行在嵌入式 Linux 上。 |
| 核心机制 | Input -> Filter -> Output: 1. Input: 读取 /var/log/syslog 或 Docker Log。 2. Filter: 这是最值钱的。使用 grep 过滤掉 "Info" 级别的废话,只保留 "Error";或者给日志打上 "DeviceID" 标签。 3. Output: 发送到 Elasticsearch, Loki, Kafka, 或 HTTP 接口。 |
| 情报秘技 | 文件缓冲 (Filesystem Buffering):当断网时,Fluent Bit 会把日志暂时缓存在磁盘/SD卡中;网络恢复后,自动重传。这保证了“断网不丢日志”。 |
| 避坑指南 | [正则与存储] 1. 正则炸弹:在边缘设备上使用复杂的正则表达式 (Regex) 解析日志会消耗大量 CPU。对策:尽量在应用程序里直接输出 JSON 格式日志,避免使用正则解析文本。 2. 缓冲爆盘:如果你开启了文件缓冲,且断网时间长达一个月,缓存文件会把磁盘写满。对策:必须配置 storage.total_limit_size (如 500M),超过限制自动丢弃旧日志。 |
| 推荐搭配 | [Loki (日志后端)] [Docker] [Grafana] |