首页 > 解决方案 > 如何从 Azure Blob 存储配置 Fluentbit / Fluentd 输入?什么输入类型?

问题描述

我们目前正在使用尾部输入收集 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,以便对两个数据源的解析以相同的方式完成,确保收集的字段相同,仅使用源扩展它们。这样我们就可以以几乎相同的方式处理/可视化两个数据源。

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

标签: loggingazure-blob-storagepipelinefluentdfluent-bit

解决方案


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

不支持 Azure Blob 存储,也不支持 Amazon S3。FluentBit 被设计为轻量级/嵌入式日志收集器,因此其输入积压相应地优先处理。所有繁重的工作通常由 fluentd 处理。

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

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

推荐阅读