在去年有写过一篇关于低成本日志存储方案的文章,感兴趣的朋友可以点击此处查看,不过这个方案有个弊端就是当logstash消费不过来时导致日志积压在公网redis,当redis被写满时会导致日志丢失的问题,这个问题有几种解决方案:
一.增加服务器内存
增加服务器内存会导致存储成本增高,而且增加到多少是好?这个方案首先就被否决了
二.寻找redis的替代产品
众所周知,磁盘存储方案比内存存储方案成本要低很多!在经过多个产品的对比之后我选中了腾讯开源的低成本KV存储方案Tendis,Tendis对redis的指令支持率达到了95%以上,基本上常用的命令都已经完美支持,不过美中不足的是对redis的blpop指令不支持,导致没办法直接使用,所以我在logstash-input-redis包的基础上进行了调整,开发了logstash-input-tendis扩展包,经过长时间测试观察,非常稳定,现在已经正式在生产环境使用
logstash-input-tendis扩展包源码地址: https://github.com/xyzj91/logstash-input-tendis 欢迎各位关注,给个star
No Leanote account? Sign up now.