数据岗位面试题更新 2026-08-05

请描述 Logstash 与 Beats 之间的集成方式,以及 Logstash 通过何种机制从 Beats 接收数据?

数据技术原理Elastic BeatsLogstash

考察说明

考查对 Logstash 与 Beats 协同工作方式及数据接收链路的理解。

回答思路

  1. 【回答框架 1】Beats 是轻量级数据采集器,Logstash 作为集中处理服务器。两者集成通过 Logstash 的 Beats input 插件实现,该插件监听 TCP 端口(默认 5044),接收 Beats 发送的 Event 数据。
  2. 【回答框架 2】Beats 启动时配置输出为 Logstash,并指定主机和端口。Beats 与 Logstash 之间的通信协议是 lumberjack,Beats 将数据封装为事件批量发送,支持 SSL 加密传输,保证安全性。
  3. 【回答框架 3】Logstash 的 Beats input 插件解析接收到的数据,并设置内部字段(如 host、beat.name 等),然后数据进入 filter 阶段进行加工处理,最后输出到目标存储系统。
  4. 【回答框架 4】为了确保可靠传输,Beats 与 Logstash 之间存在 ACK 确认机制,Logstash 成功处理事件后会返回确认,Beats 收到确认后才会删除本地缓存,否则会重试发送,保障数据不丢失。
  5. 【回答框架 5】高可用场景中,Logstash 可以配置多个节点并用负载均衡分发,Beats 支持配置多个 Logstash 主机,实现故障转移。
  6. 【关键点 1】Beats 通过 lumberjack 协议与 Logstash 通信,默认端口 5044。
  7. 【关键点 2】Logstash 使用 Beats input 插件接收数据,并支持 SSL 加密。
  8. 【关键点 3】通过 ACK 确认机制保障数据可靠传输,避免丢失。
  9. 【关键点 4】Beats 可配置多台 Logstash 主机实现负载均衡与故障转移。
  10. 【易错点 1】不要误认为 Beats 直接通过 HTTP 与 Logstash 通信,实际是 TCP 上的 lumberjack 协议。
  11. 【易错点 2】不能假设数据实时到达,Beats 有内部缓冲和重试机制,可能导致轻微延迟。
  12. 【易错点 3】配置 SSL 时需确保证书匹配,否则连接失败。