Fluent Operator 2.5.0 發佈:新增多個插件

日前,Fluent Operator 發佈了 v2.5.0。

Fluent Operator v2.5.0 新增 11 個 features, 其中 Fluent Bit 新增支持 7 個插件, Fluentd 新增支持 1 個插件。此外,對 Fluent Operator 也進行了增強,調整了默認參數,以便適應更多場景,並對 helm chart 進行了優化,用戶可以更方便的進行安裝,並修復了部分 bug。

以下將重點介紹:

Fluent Bit 增加多個插件

1. Prometheus Exporter 插件

Fluent Bit 新增了輸出插件 Prometheus Exporter,Prometheus Exporter 輸出插件允許您從 Fluent Bit 中獲取 metrics 並暴露它們,以便 prometheus 實例可以抓取它們。

相關 PR:https://github.com/fluent/fluent-operator/pull/840。

2. Forward 插件

Fluent Bit 新增了輸入插件 Forward,Forward 是 Fluent Bit 和 Fluentd 用於在對等設備之間路由消息的協議。使用該插件可以監聽 Forward 消息的輸入。

相關 PR:https://github.com/fluent/fluent-operator/pull/843。

3. GELF 插件

Fluent Bit 新增了輸出插件 GELF,GELF 是 Graylog 擴展日誌格式。GELF 輸出插件允許使用 TLS、TCP 或 UDP 協議將 GELF 格式的日誌直接發送到 Graylog 輸入端。

相關 PR: https://github.com/fluent/fluent-operator/pull/882。

4. OpenTelemetry 插件

Fluent Bit 新增了輸入插件 OpenTelemetry,OpenTelemetry 插件可讓您按照 OTLP 規範,從各種 OpenTelemetry 輸出程序、OpenTelemetry 收集器或 Fluent Bit 的 OpenTelemetry 輸出插件獲取 OpenTelemetry 格式的數據。

相關 PR:https://github.com/fluent/fluent-operator/pull/890。

5. HTTP 插件

Fluent Bit 新增了輸入插件 HTTP,HTTP 輸入插件允許 Fluent Bit 打開一個 HTTP 端口,然後以動態方式將數據路由到該端口。該插件支持動態標籤,允許你通過同一個輸入發送帶有不同標籤的數據。

相關 PR:https://github.com/fluent/fluent-operator/pull/904。

6. MQTT 插件

Fluent Bit 新增了輸入插件 MQTT,MQTT 輸入插件允許通過 TCP 連接從 MQTT 控制包中獲取消息/數據。要接收的傳入數據必須是 JSON map 格式的數據。

相關 PR:https://github.com/fluent/fluent-operator/pull/911。

7. Collectd 插件

Fluent Bit 新增了輸入插件 MQTT,Collectd 輸入插件允許您從 Collectd 服務端接收數據。

相關 PR:https://github.com/fluent/fluent-operator/pull/914。

Fluentd 主要變化

新增 Grok parser 插件

Fluentd 新增 Grok parser 插件。Grok 是一個第三方的解析器,Grok 是一個簡化和重用正則表達式的宏,最初由 Jordan Sissel 開發。如果您熟悉 Grok 模式,那麼 Grok parser 插件非常有用。

Grok parser 插件的版本涵蓋如下:

fluent-plugin-grok-parser fluentd ruby
>= 2.0.0 >= v0.14.0 >= 2.1
< 2.0.0 >= v0.12.0 >= 1.9

相關 PR: https://github.com/fluent/fluent-operator/pull/861。

增加對 Fluentd 作爲 DaemonSet 運行的支持

目前,Fluentd 以 StatefulSet 的形式運行,但我們希望將 Fluentd 作爲一個完整的日誌方面的進程來運行,這就需要在 Fluentd 中包含一些輸入插件(tail、systemd)。所以我們需要將 Fluentd 作爲 DaemonSet 的方式來運行。

在該 PR 中,我們引入了將 Fluentd 作爲 DaemonSet 運行的選項支持。默認情況下,Fluentd 將作爲 StatefulSet 運行,但用戶也可以通過啓用 agent 模式,將 Fluend 作爲 DaemonSet 運行。如果開始了agent 模式,那麼在創建 DaemonSet 時會忽略 StatefulSet 特定字段,反之亦然。

此外,Fluend 可以作爲 DaemonSet 或 StatefulSet 運行,而不能同時作爲 DaemonSet 和 StatefulSet 運行。如果我們啓用 DaemonSet,StatefulSet 將被刪除,Fluentd 將作爲 DaemonSet 運行。

相關 PR:https://github.com/fluent/fluent-operator/pull/839。

其他優化

  • 在 Fluent-bit config 中刪除重複的 Cluster parsers;
  • 調整 Fluent Bit 的多項默認參數;
  • 爲 Fluentd 添加 ImagePullSecret 參數;
  • 將 Fluent Bit 升級到 2.1.9 版本;
  • 優化 Fluent Operator 的 helm chart 中的各項參數;
  • ...

致謝貢獻者

該版本貢獻者共有 16 位,他們分別是:

  • gregorycuellar
  • Nyefan
  • WaywardWizard
  • alexandrevilain
  • yash97
  • husnialhamdani
  • L1ghtman2k
  • wenchajun
  • leonsteinhaeuser
  • vincent-vinf
  • Rajan-226
  • sharkeyl
  • ikolesnikovrevizto
  • karan56625
  • ajax-bychenok-y
  • sjliu1

這些貢獻者大部分來自海外,這表明 Fluent Operator 是一個全球化的項目,越來越受歡迎和具有影響力,在此感謝各位貢獻者!也非常歡迎大家參與這個開源項目和社區!

關於新版本的具體變化,您還可以參考 release note: https://github.com/fluent/fluent-operator/releases/tag/v2.5.0。

本文由博客一文多發平臺 OpenWrite 發佈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章