是否可以使用 stdout 作为 fluentd 源来捕获特定日志以写入 elasticsearch?

Rat*_*ers 5 elasticsearch fluentd

我是 fluentd 和 elasticsearch 的菜鸟,我想知道 fluentd 是否有可能从 stdout 捕获特定日志(在这种情况下,我们的应用程序生成的自定义审计日志) - 使用 stdout 作为源 - 并写入它们到 elasticsearch 中的特定索引。非常感谢您的回复。

Jas*_*man 3

是的,您可以使用 Fluentd 的exec输入插件来启动您的应用程序并捕获其标准输出。请注意,这意味着 fluidd 将负责启动您的应用程序,这可能是不可取的 - 在这种情况下,如果应用程序已经写入日志文件,您可以将 fluidd 设置为尾部该文件,或者如果您的应用程序日志转到类似syslog您可以的内容以此为食。如果您同意修改应用程序,您还可以让应用程序使用 unix 套接字或 TCP/UDP 消息或通过将日志发布到 HTTP 端点将日志写入 Fluentd。有关更多详细信息和不同输入选项的示例,请参阅输入插件概述。

Fluentd 可以进一步将filter这些日志用于自定义审核日志。这可以通过多种方式来完成,基于日志内容或其他日志条目属性或某种组合。此外,还有其他插件可以统计某些日志条目,并且仅在满足某些阈值后才发出。请注意,如果您能够从一开始就标记审核消息,您甚至可能不需要解析任何内容,但是否以及如何执行此操作将根据所使用的输入插件而有所不同。

要将日志发送到 Elasticsearch,您可以使用uken / Fluent-plugin-elasticsearch 的输出插件index_name来控制特定索引。