如何配置来自 Azure Blob 存储的 Fluentbit/Fluentd 输入?什么输入类型?

How to configure Fluentbit / Fluentd input from Azure Blob Storage? What input type?

我们目前正在使用尾部输入收集 IIS 日志,并使用 fluentbit 将它们发送到 New Relic。

流利-bit.conf

[SERVICE]
   Flush         1
   Log_File      C:\inetpub\logs\LogFiles\W3SVC1\*.log
   Parsers_File  C:\Program Files\New Relic\newrelic-infra\parsers.conf

[INPUT]
   Name        tail
   Path        C:\inetpub\logs\LogFiles\W3SVC1\*.log
   Parser      iis_logs_parser
   Mem_Buf_Limit     1000MB

[OUTPUT]
   name      nrlogs
   match     *
   api_key   {{NewRelicKey}}

现在我们想要收集我们可以在 Azure Blob 存储中访问的另一个日志源。我们想使用 fluentbit,以便以相同的方式解析两个数据源,确保收集的字段相同,仅使用源扩展它们。这样我们就可以 process/visualise 两个数据源几乎相同。

如何配置fluentbit从Azure Blob Storage读取日志?我们在寻找什么 fluentbit 输入?

这些是受支持的 fluentbit 输入: https://docs.fluentbit.io/manual/pipeline/inputs

不支持 Azure Blob 存储,也不支持 Amazon S3。 FluentBit 被设计为 light-weight/embedded 日志收集器,因此它的输入积压也相应地进行了优先排序。所有 heavy-lifting 通常由 fluentd 处理。

我还查看了 fluentd - 有几个用于 Azure blob 存储的插件,但找不到支持输入的插件(S3 支持两者 input/output)。看起来解决方案将是由存储事件触发的 azure 函数,读取文件并进一步发送数据。

Local logs    -> FluentBit      -TCP-> fluentd-server -> destinations
Azure storage -> Azure function -TCP-> fluentd-server -> destinations

这个帖子是旧的,但只是想添加可能有用的新信息。

“Fluent Bit 和 Azure Data Explorer 已同意合作并为 Azure Blob 存储发布了一个新的输出连接器。”

https://azure.microsoft.com/en-gb/updates/fluent-bit-connector-for-azure-storage-to-support-azure-data-explorer/