我已按照以下网络上的说明构建了日志虚拟系统
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>
是要运行的过滤器工作程序的数量
同时。