我已经阅读了一些关于使用 beats 将数据发送到 elasticsearch 的教程。
我注意到有些教程喜欢使用logstash
作为输出,然后输出到 elasticsearch。其他一些教程直接输出到elasticsearch
。
在配置中/etc/packetbeat/packetbeat.yml
:
output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]
代替:
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
答案1
使用输出的输出logstash
是通过本机 lumberjack 协议进行的。在这些情况下,接收器可能运行完整的 logstash,并在 lumberjack 端口上使用侦听器。这些 logstash 配置将执行比 beats 本机可以执行的复杂得多的转换。然后,logstash 节点会将修改后的事件发送到 elasticsearch。
[ host ] -> [ beats ] --> [ logstash ] --> [ elasticsearch ]
输出elasticsearch
将以最少的更改将其直接发送到 elasticsearch。
[ host ] -> [ beats ] --> [ elasticsearch ]