使用提取管道进行解析
编辑使用提取管道进行解析编辑
当您将 Filebeat 模块与 Logstash 一起使用时,您可以使用 Filebeat 提供的提取管道来解析数据。您需要将管道加载到 Elasticsearch 中,并将 Logstash 配置为使用它们。
加载提取管道
在安装了 Filebeat 的系统上,运行带有 --pipelines
选项的 setup
命令,以加载特定模块的提取管道。例如,以下命令加载系统和 nginx 模块的提取管道
filebeat setup --pipelines --modules nginx,system
此设置步骤需要连接到 Elasticsearch,因为 Filebeat 需要将提取管道加载到 Elasticsearch 中。如有必要,您可以在运行命令之前暂时禁用已配置的输出并启用 Elasticsearch 输出。
将 Logstash 配置为使用管道
在安装了 Logstash 的系统上,创建一个 Logstash 管道配置,该配置从 Logstash 输入(例如 Beats 或 Kafka)读取数据并将事件发送到 Elasticsearch 输出。将 Elasticsearch 输出中的 pipeline
选项设置为 %{[@metadata][pipeline]}
,以使用您之前加载的提取管道。
以下示例配置从 Beats 输入读取数据,并使用 Filebeat 提取管道解析模块收集的数据
input { beats { port => 5044 } } output { if [@metadata][pipeline] { elasticsearch { hosts => "https://061ab24010a2482e9d64729fdb0fd93a.us-east-1.aws.found.io:9243" manage_template => false index => "%{[@metadata][beat]}-%{[@metadata][version]}" action => "create" pipeline => "%{[@metadata][pipeline]}" user => "elastic" password => "secret" } } else { elasticsearch { hosts => "https://061ab24010a2482e9d64729fdb0fd93a.us-east-1.aws.found.io:9243" manage_template => false index => "%{[@metadata][beat]}-%{[@metadata][version]}" action => "create" user => "elastic" password => "secret" } } }
如果在您的配置中禁用了数据流,请将 |
|
如果您在配置中禁用了数据流的使用,则可以删除此设置,或根据需要将其设置为不同的值。 |
|
配置 Logstash 以根据事件中传递的元数据选择正确的提取管道。 |
有关设置和运行模块的更多信息,请参阅 Filebeat 模块 文档。
有关完整示例,请参阅 示例:设置 Filebeat 模块以使用 Kafka 和 Logstash。