将 Logstash 与 Elastic 集成结合使用

编辑

将 Logstash 与 Elastic 集成结合使用

编辑

您可以利用 Elastic 集成广泛的内置功能(例如管理数据收集、转换和可视化),然后使用 Logstash 进行额外的数据处理和输出选项。 Logstash 可以进一步扩展功能,以用于需要额外处理的用例,或者您需要将数据传递到多个目标位置的情况。

Elastic 集成:从摄取到可视化

编辑

Elastic 集成为以下方面提供了快速的端到端解决方案:

  • 从各种数据源摄取数据,
  • 确保符合 Elastic 通用模式 (ECS)
  • 将数据导入 Elastic Stack,以及
  • 使用专门构建的仪表板对其进行可视化。

集成适用于 流行的服务和平台,例如 Nginx、AWS 和 MongoDB,以及许多通用输入类型(如日志文件)。每个集成都包含预先打包的资产,以帮助减少从摄取到获得见解之间的时间。

要查看可用的集成,请转到 Kibana 主页,然后单击 添加集成。您可以使用查询栏来搜索您可能想要使用的集成。当您找到数据源的集成时,UI 将引导您完成添加和配置过程。

使用 Logstash 扩展集成

编辑

当您在 Logstash 管道中使用 Logstash filter-elastic_integration 插件时,Logstash 可以运行 Elastic 集成的摄取管道组件。

filter-elastic_integration 插件添加为第一个过滤器插件,可使管道的行为尽可能接近于如果字节由 Elasticsearch 中的集成处理时的预期行为。在调用 elastic_integration 过滤器之前修改事件越多,修改对事件转换方式产生有意义影响的风险就越高。

示例管道配置

input {
  elastic_agent {
    port => 5044
  }
}

filter {
  elastic_integration{ 
    cloud_id => "<cloud id>"
    cloud_auth => "<your_cloud-auth"
  }

  translate { 
    source => "[http][host]"
    target => "[@metadata][tenant]"
    dictionary_path => "/etc/conf.d/logstash/tenants.yml"
  }
}

output { 
  if [@metadata][tenant] == "tenant01" {
    elasticsearch {
      cloud_id => "<cloud id>"
      api_key => "<api key>"
    }
  } else if [@metadata][tenant] == "tenant02" {
    elasticsearch {
      cloud_id => "<cloud id>"
      api_key => "<api key>"
    }
  }
}

filter-elastic_integration 用作管道中的第一个过滤器

只要它们遵循 filter-elastic_integration,您就可以使用其他过滤器

将数据输出到多个目标的示例配置

filter-elastic_integrationoutput-elasticsearch 结合使用

编辑

Elastic 集成旨在与 数据流与 ECS 兼容的输出一起使用。 请确保在 output-elasticsearch 插件中启用了这些功能。

请查看 output-elasticsearch 插件文档以获取其他设置。