使用 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
与 output-elasticsearch
一起使用
编辑Elastic 集成旨在与 数据流 和 兼容 ECS 的输出一起使用。请确保在 output-elasticsearch
插件中启用了这些功能。
- 将
data-stream
设置为true
。
(查看 数据流 以获取其他数据流设置。) - 将
ecs-compatibility
设置为v1
或v8
。
查看 output-elasticsearch
插件 文档以获取其他设置。