首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ELK Stack和Redis我可以停止清空数据库吗?

ELK Stack和Redis我可以停止清空数据库吗?
EN

Stack Overflow用户
提问于 2018-09-07 19:44:42
回答 1查看 54关注 0票数 0

我有一个正在运行的实时系统,它使用一个redis DB和一个旧的ELK堆栈。我正在创建一个新版本。我想要的是使用我的新Logstash的输入部分从旧的redis DB读取数据,但在我的测试中,当我这样做时,我似乎会耗尽它的数据。我不想以任何方式修改当前的logstash或实时管道实现(即向实时logstash配置添加第二个输出)。

代码语言:javascript
复制
LIVE Data -> Redis -> Logstash -> ES -> Kibana
               |                          :
            Read only               compare old with new
               |                          :       
               V                          V
            New Logstash -> New ES -> New Kibana

我觉得我遗漏了一些关于logstash和redis之间的关系。我希望在我的新logstash配置中简单地复制redis读取,并在我上线之前验证管道的行为与旧管道相同,但如果我删除这些数据而不是复制它,我将严重扰乱监控团队!

如何防止我的新logstash从redis中耗尽日志?

EN

回答 1

Stack Overflow用户

发布于 2018-09-10 23:16:16

我没有回答这个问题就找到了一个解决方案。我用的是redis replica,例如

代码语言:javascript
复制
LIVE Data -> Redis    ->    Logstash    ->    ES    -> Kibana
               |                                          :
            Read only                                  compare
               |                                          :       
               V                                          V
           Redis Replica -> New Logstash -> New ES -> New Kibana

唯一的问题是通过logstash从旧的Redis DB中提取数据的速度太快了,以至于我无法使用新的logstash读取数据(通常是位通过)。数据库向副本服务器发送了LPOP,并删除了数据。这并不是太糟糕,因为我可以停止旧系统上的logstash,让新系统填满它的ES数据库,然后重新启用旧的logstash,这将很快赶上。然后,他们有了相同时期的相同数据集,我可以进行比较。

我还没有想出一种同时运行这两个系统的方法,但这对我的目的来说已经足够好了,因为它不会改变旧系统的配置,只是中断它一段时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52221894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档