使用集成过滤插件在 Logstash 中处理来自 Elastic 集成的数据

作者:来自 Elastic Rossall Sandford

通过使用集成过滤插件,将数据处理操作从你的 Elastic 部署卸载到 Logstash。

Logstash 的 Elastic 集成过滤插件允许你在 Logstash 内执行摄取管道来处理来自 Elastic 集成的数据,然后再将数据转发到 Elastic。

为什么要使用它?

这种方法的优势在于,它可以将数据处理操作从你的 Elastic 部署中卸载到 Logstash,使你可以灵活决定处理数据的位置。

此外,使用 Logstash 作为数据进入 Elastic 之前的最终路由,可以避免为每个 Agent 或 Beats 实例单独开放端口和设置不同的防火墙规则,因为 Logstash 可以聚合所有这些组件的输出。

先决条件

你需要在服务器上运行一个 Elastic Agent,并在其代理策略中包含一个或多个集成。如果需要安装 Elastic Agent,可以按照Elastic 集成过滤插件进行操作。

步骤

我们将执行以下操作:

  1. 安装 Logstash,但在所有步骤完成之前不会运行它。

  2. 在 Logstash 服务器上生成自定义证书和密钥,以启用 Fleet 服务器与 Logstash 之间的安全通信。

  3. 配置 Fleet 以添加 Logstash 输出。

  4. 设置 Logstash,包括一个自定义管道,该管道接收来自 Elastic Agent 的输入,使用集成过滤插件,并最终将事件转发到 Elastic。

  5. 启动 Logstash。

  6. 更新代理策略以使用新的 Logstash 输出。

安装 Logstash

请按照此指南在你的服务器上安装 Logstash。

在 Logstash 服务器上设置 SSL/TLS

请按照此指南创建自定义证书和密钥,以保护 Fleet 与 Logstash 之间的输出连接。在设置 Logstash 的自定义管道文件之前,我们需要先完成此步骤,因为在配置中将引用部分证书的值。

按照指南,我下载了 Elasticsearch,以便使用其中包含的 certutil 工具,并解压了内容。

在 Kibana 中为 Fleet 添加 Logstash 输出

在获得证书和密钥后,我们可以在 Kibana 内完成设置 Logstash 输出的必要步骤,以供 Fleet 使用。但暂时不要在代理策略上设置 Logstash 输出,因为我们首先需要在 Logstash 中配置一个自定义管道。

为 Logstash 设置自定义管道

我们需要添加一个自定义 yml 文件,其中包括 Elastic Agent 输入和集成过滤插件。Logstash 管道的典型定义如下:

我们的自定义 pipeline.yml 文件将从 Elastic Agent 输入插件开始,相关指南可在此处找到。

接下来,我们将添加**集成过滤插件,然后根据数据是否要进入 托管云部署无服务器项目**,配置不同的 Elastic Cloud 输出。

完整的 pipeline.yml 文件应类似于以下内容:

ini 复制代码
`

1.  input {
2.    elastic_agent {
3.      port => 5044
4.      ssl_enabled => true
5.      ssl_certificate_authorities => ["/pathtoca/ca.crt"]
6.      ssl_certificate => "/pathtologstashcrt/logstash.crt"
7.      ssl_key => "/pathtologstashkey/logstash.pkcs8.key"
8.      ssl_client_authentication => "required"
9.    }
10.  }
11.  filter {
12.    elastic_integration{
13.      cloud_id => "Ross_is_Testing:123456"
14.      cloud_auth => "elastic:yourpasswordhere"
15.    }
16.  }
17.  output {
18.      # For cloud hosted deployments
19.      elasticsearch {
20.          cloud_id => "Ross_is_Testing:123456
21.          cloud_auth => "elastic:yourpasswordhere"
22.          data_stream => true
23.          ssl => true
24.          ecs_compatibility => v8
25.      }
26.      # For serverless projects
27.      elasticsearch {
28.          hosts => ["https://projectname.es.us-east-1.aws.elastic.cloud:443"]
29.          api_key => "yourapikey-here"
30.          data_stream => true
31.          ssl => true
32.          ecs_compatibility => v8
33.      }
34.  }



`AI写代码

上述输出部分的语法是有效的, 你可以指定多个输出!

对于云托管部署, 你 可以使用部署的 CloudId 进行身份验证, 你 可以在云管理控制台的部署概览页面获取它:

我也在使用用户名和密码, 但如果需要, 你 也可以指定一个 API key。

对于无服务器项目, 你 需要使用 你的 Elasticsearch 端点和 API key 来连接 Logstash, 具体请参考此处的文档。 你 可以在云管理控制台的项目管理页面获取 Elasticsearch 端点:

确保 Logstash 的主 pipelines.yml 文件也包含对 你的 自定义管道文件的引用:

python 复制代码
`

1.  # This file is where you define your pipelines. You can define multiple.
2.  # For more information on multiple pipelines, see the documentation:
3.  #   https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html
4.  - pipeline.id: fromagent
5.    path.config: "/etc/logstash/conf.d/agent.conf"

`AI写代码

然后, 你 可以启动 Logstash。 由于尚未更新 Elastic Agent 策略以使用 Logstash 输出, 目前不会有事件通过 Logstash。

更新代理策略以使用 Logstash 输出

在 Logstash 运行后, 你现在可以在所选的代理策略上设置已配置的 Logstash 输出

完成

来自所选代理策略中的集成的事件将通过 Logstash 发送, 并在 Logstash 内运行相关的摄取管道来处理数据, 然后再发送到 Elastic Cloud。

本帖子中描述的任何功能或特性均由 Elastic 全权决定其发布与时间安排。 任何当前不可用的功能或特性可能不会按时发布, 甚至可能不会发布。

原文:Process data from Elastic integrations with the integration filter plugin in Logstash --- Elastic Observability Labs

相关推荐
Elasticsearch3 小时前
Elasticsearch:构建一个 AI 驱动的电子邮件钓鱼检测
elasticsearch
alan07214 小时前
【Java + Elasticsearch全量 & 增量同步实战】
java·elasticsearch·jenkins
Elastic 中国社区官方博客5 小时前
Elasticsearch:你是说,用于混合搜索(hybrid search)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客9 小时前
在 Kibana 中可视化你的 Bosch Smart Home 数据
大数据·运维·elasticsearch·搜索引擎·信息可视化·全文检索·kibana
Dxy123931021610 小时前
Elasticsearch 聚合入门:像 Excel 透视表一样分析数据
elasticsearch·excel
Elastic 中国社区官方博客10 小时前
通过 Elasticsearch 中的 function score query 按利润和受欢迎程度提升电商搜索效果
大数据·数据库·elasticsearch·搜索引擎·全文检索
管理大亨11 小时前
智慧农业ELK落地方案:数据驱动精准农业
大数据·redis·python·elk·elasticsearch
神的泪水11 小时前
深度解析:基于 DeepSeek V3.2 与 Claude Code 构建终端智能体开发环境
大数据·elasticsearch·搜索引擎
Dxy123931021611 小时前
Elasticsearch 查询入门:像查字典一样简单
大数据·elasticsearch