使用数据采集管道进行解析
编辑使用数据采集管道进行解析
编辑当您将 Filebeat 模块与 Logstash 一起使用时,可以使用 Filebeat 提供的数据采集管道来解析数据。您需要将管道加载到 Elasticsearch 中并配置 Logstash 来使用它们。
加载数据采集管道
在安装了 Filebeat 的系统上,运行 setup
命令,并指定 --pipelines
选项来加载特定模块的数据采集管道。例如,以下命令加载 system 和 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 协同工作。