用logstash收集日志并发送到redis,然后通过logstash取redis数据写入到es集群,最近kibana显示日志总是中断,日志收集不过来,客户端重启发现报错:
Failed to send event to Redis
CommandError: OOM command not allowed when used memory > 'maxmemory'.>
根据报错推断redis满了,在客户端清空redis 重启收集端的logstash 可以重新写入数据,由此判断有进程不断写入redis而且没有被清空
然后通过命令查看redis:
redis-cli -h 10.28.100.106 -p 6379 --bigkeys
发现了最大的一个key,而这个key是最近在kibana删除的,所以logstash不会取这个值,而收集端没有关闭发送进程,导致一直在写入redis,redis写满其余的收集端就写入不了,出现中断情况