Fluent Bit v4.0.4 发布
Fluent Bit v4.0.4 现已发布。本版本引入了强大的 OpenTelemetry 接口,提升编码解码能力;增强 Lua 脚本支持 OTLP 元数据访问;支持非 UTF-8 日志的字符编码转换;新增 AWS IAM 对 Kafka/MSK 的支持,同时带来性能提升、NFS-tail 修复及其他多项改进。
新的 OpenTelemetry 接口
Fluent Bit 持续强化作为现代 OpenTelemetry 数据管道的地位。v4.0.4 中新增内部 OpenTelemetry 接口,专注于编码和解码处理,使 OTLP 日志处理更快、更安全、更易测试。
主要改进:
-
JSON 与 Protobuf OTLP 统一处理
-
输入、处理、输出阶段职责更清晰
-
更好的单元测试与编码错误报告
-
out_opentelemetry 和 in_opentelemetry 新增自定义 logs_body_key 支持,方便按需构建 OTLP 日志体
此基础为跟踪、指标、日志的强力接入打下坚实基础,使 Fluent Bit 成为 OTLP 原生环境中可靠的转发器。
Lua 过滤器新能力:OTLP 元数据及分组访问
v4.0.4 中,Lua 过滤器支持 OpenTelemetry,能进行更灵活的记录级和分组级处理。适合根据资源或范围属性动态修改 OTLP 日志。
新函数签名:
function cb(tag, timestamp, group, metadata, record)
你可以做:
-
注入 resource.attributes(如 service.name)到日志记录
-
修改 OTLP 严重级别或标签
-
每次调用返回多条记录和元数据
-
简单脚本和复杂脚本兼容
示例:调整 OTLP 严重级别并添加服务名
function cb(tag, ts, group, metadata, record) if group['resource']['attributes']['service.name'] then record['service_name'] = group['resource']['attributes']['service.name'] end if metadata['otlp']['severity_number'] == 9then metadata['otlp']['severity_number'] = 13 metadata['otlp']['severity_text'] = 'WARN' end return1, ts, metadata, record end
兼容 OpenTelemetry Collector 日志和所有 OTLP 日志生产者。
亚洲市场编码支持:原生转码
亚洲很多组织日志仍用 GBK、Big5、Shift_JIS 等编码,发送到 UTF-8 后端时会出现乱码。
Fluent Bit 现在在 in_tail 中集成了原生字符编码引擎。通过 generic.encoding 属性,可在读取时直接转码为 UTF-8。
示例:GBK 转 UTF-8
pipeline: inputs: -name:tail path:/var/log/my_legacy_app.log parser:json generic.encoding:GBK outputs: -name:stdout
确保 Elasticsearch、OpenSearch、S3 等后端收到干净的 UTF-8 日志。非常适合 Fluentd → Fluent Bit 平滑迁移。
Kafka + AWS MSK IAM + 性能提升
Fluent Bit 新增对 Amazon MSK 的 AWS IAM 认证支持(输入和输出插件均支持)。
亮点:
-
使用 OAuthBearer 的 AWS SigV4 签名
-
支持 EC2 IAM 角色、STS 令牌和无服务器 MSK
-
基于 librdkafka 实现无状态令牌刷新
无需在配置中存储凭证,只需 IAM 即可。
额外功能:Kafka 输入支持 enable_auto_commit
Kafka 消费者支持:
enable_auto_commit: true
-
false(默认)= 安全优先,处理完毕后提交
-
true = 性能优先,批量提交,提高吞吐
适合能容忍重复消费、追求最大吞吐的场景。
in_tail 文件轮转改进(NFS 友好)
NFS 或远程挂载的日志文件轮转和覆盖常带来问题。
v4.0.4 中,in_tail 改用 fstat() 判断轮转,更适用于:
-
网络文件系统(NFS)
-
集中日志目录
-
容器卷挂载环境
防止文件移动或轮转时日志重复、丢失或漏采。
其他亮点
插件:
-
out_opentelemetry:重试、元数据合并和分组修复
-
out_loki:避免多工作线程使用 Remove_Keys 时的竞态
-
filter_modify / filter_lua:内存修复和清理
-
in_kafka / out_kafka:改进 AWS MSK 集成和令牌验证
核心与构建系统:
-
librdkafka 升级到 v2.10.1
-
新增编码、过滤器、上游行为测试
-
优化上游连接复用逻辑
-
安装器支持 Rocky Linux 和 AlmaLinux
-
全面代码清理和内存泄漏修复

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SQLite 3.50.3 发布
SQLite 是一个 C 语言库,实现了一个小型、快速、独立、高可靠性、全功能的 SQL 数据库引擎。SQLite 是世界上使用最多的数据库引擎。SQLite 的源代码属于公共领域,每个人都可以免费使用,用于任何目的。 SQLite 3.50.3 现已发布,更新内容如下: 添加sqlite3_setlk_timeout()接口,在支持阻塞锁的构建中为阻塞锁设置独立的超时,有别于 sqlite3_busy_timeout()。 SQLITE_DBCONFIG_ENABLE_COMMENTS约束(在上一版本中添加)略有放宽,以便从现有sqlite_schema表读取 schema 时始终允许注释。注释仅在新 SQL 中被阻止。 新的 SQL 函数: unistr() unistr_quote() 对于内置 printf()(涵盖sqlite3_mprintf()API 和format() SQL 函数及类似函数)中的%Q 和 %q 转换,alternate-form-1 标志(“#”)会导致控制字符转换为适合unistr()的 backslash-escapes。 CLI 增强功能: 避免...
- 下一篇
Podman Desktop 1.20 版本发布
Podman Desktop 1.20 现已发布。 本次更新带来了很多新功能和改进: 批量启动所有容器:新增批量启动按钮,一键启动多个选中的容器,节省启动容器堆栈的时间。 切换用户和集群:在 Podman Desktop 内即可无缝切换 Kubernetes 集群和用户上下文,多集群操作更轻松。 按描述搜索扩展:不仅能按名称,还能根据扩展描述中的关键词快速查找扩展。 资源页更新 Provider:直接在资源页更新容器引擎或 Kubernetes Provider,升级更顺畅。 本地扩展开发模式:生产版支持开启开发模式,加载并实时测试本地扩展,无需运行 dev/watch 模式。 即时停止容器日志流:可随时停止实时日志流,且不关闭日志窗口,更好控制资源和调试流程。 新社区页面:官网新增社区页面,方便用户交流、获取资源,参与 Podman Desktop 开发。 更多详情可查看官方公告。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- 2048小游戏-低调大师作品
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- 设置Eclipse缩进为4个空格,增强代码规范