在我们的一个应用程序中,我们使用logstash解析应用程序日志并将它们索引到elasticsearch中。我们简单的架构是日志文件---> filebeat ---> logstash -----> elasticsearch。
由于我们启用了多个日志文件示例(apachelogs,passengerlogs,应用程序日志等),因此logstash无法解析数据量,因此在elasticsearch中缺少日志。有没有办法在logstash处理大量数据,或者我们可以有多个logstash服务器根据日志类型从filebeat接收日志?例如:应用程序日志将输出logstash-1和apachelogs发送到logstash-2。
提前致谢。
答案 0 :(得分:0)
目前无法在Filebeat中多次定义相同的输出类型。
但是有一些选择可以达到你想要的目的:
您可以使用filebeat中的 loadbalance 选项将您的事件分发到多个Logstash。 https://www.elastic.co/guide/en/beats/filebeat/current/logstash-output.html#loadbalance,默认beats会选择一个随机主机并坚持下去。
使用队列,如kafka并使logstash使用kafka输入,这将允许您根据需要添加更多LS。