我已按照以下网页上的说明构建了日志虚拟系统 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监视检查了一段时间,发现rpushing到redis的速度比redis的blpop速度快得多,我认为这是redis服务器内存增加的原因。 / p>
weblogic @ MSAMGM01:〜/ logcenter / redis / bin $ ./redis-cli monitor> 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
任何人都有任何想法或经验来解决这类问题?
BTW,中央服务器的CPU很低,我确认这不是造成这个问题的根本原因。谢谢!
答案 0 :(得分:0)
根据
documentation for the Redis input,
您应该能够将threads
设置为您要用于的线程数
从Redis那里读到,或许你可以增加这个来从Redis中吸取更多的事件
同时?
此外,如果logstash在过滤管道中太慢,则可以运行
bin/logstash -w <N>
其中<N>
是要运行的过滤工作者数
同时进行。
答案 1 :(得分:0)
经过一番尝试。我最终从elasticsearch日志中找到了原因:
超出了高磁盘水印,它会尝试移动碎片。
但我只有一个节点用于测试,我认为这是导致性能不佳的原因。
删除一些索引后,所有事情都运作良好。