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