我已按照以下网络上的说明构建了日志虚拟系统
http://michael.bouvy.net/blog/en/2013/11/19/collect-visualize-your-logs-logstash-elasticsearch-redis-kibana/

登录磁盘-> logstash-forwarder ----------> redis-> logstash-> elasticsearch

在添加四台服务器将其日志发送到我的中央日志收集服务器之前,所有事情都解决了。

Redis服务器的内存随着时间的流逝而增加,并在消耗完所有内存后最终崩溃。

我使用redis-cli监视检查了一段时间,发现从redis推送到redis的速度要比从redis的blpop速度快得多,我认为这是redis服务器内存增加的原因。

weblogic @ MSAMGM01:〜/ logcenter / redis / bin $ ./redis-cli监视器> 1.txt

weblogic @ MSAMGM01:〜/ logcenter / redis / bin $ grep blpop 1.txt | wc -l
1159
weblogic @ MSAMGM01:〜/ logcenter / redis / bin $ grep rpush 1.txt | wc -l
17123

任何人都有解决这种问题的想法或经验吗?

顺便说一句,中央服务器的cpu相当低,我确认这不是此问题的根本原因。

谢谢!

最佳答案

根据
documentation for the Redis input
您应该能够将threads设置为要用于的线程数
从Redis阅读,也许您可​​以增加它以从Redis中获取更多事件
同时?

另外,如果logstash在过滤管道中太慢,则可以运行bin/logstash -w <N>,其中<N>是要运行的过滤器工作程序的数量
同时。

10-01 17:08
查看更多