将 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
插件 文档。