麋鹿堆栈和Redis。我可以停止清空数据库吗?
我有一个运行的实时系统,它使用redis DB和一个旧的ELK堆栈。我正在创建一个新版本。我想要的是使用新日志存储的输入部分从旧的redis DB中读取数据,但是在我的测试中,当我这样做时,我似乎会从中吸取数据。我无论如何都不想修改当前日志存储或实时管道实现(即,向实时日志存储配置添加第二个输出) 我觉得我忽略了logstash和redis之间的关系。我希望在我使用新的logstash配置之前简单地复制redis读取的数据,并验证管道的行为是否与旧管道相同,但是如果我删除这些数据而不是复制这些数据,我将严重扰乱监控团队麋鹿堆栈和Redis。我可以停止清空数据库吗?,redis,elastic-stack,Redis,Elastic Stack,我有一个运行的实时系统,它使用redis DB和一个旧的ELK堆栈。我正在创建一个新版本。我想要的是使用新日志存储的输入部分从旧的redis DB中读取数据,但是在我的测试中,当我这样做时,我似乎会从中吸取数据。我无论如何都不想修改当前日志存储或实时管道实现(即,向实时日志存储配置添加第二个输出) 我觉得我忽略了logstash和redis之间的关系。我希望在我使用新的logstash配置之前简单地复制redis读取的数据,并验证管道的行为是否与旧管道相同,但是如果我删除这些数据而不是复制这些数
如何防止我的新日志库从redis中删除日志?我没有回答这个问题就找到了解决方案。我用了一个例如 唯一的问题是数据被logstash从旧的Redis数据库中快速取出,以至于我无法用新的logstash读取数据(通常是通过位)。DB向复制副本发送了一个LPOP,并删除了数据。这还不算太糟糕,因为我可以停止旧系统上的日志存储,让新系统填充它的ES数据库,然后重新启用旧的日志存储,这将很快赶上。然后他们在同一时期有相同的数据集,我可以进行比较 我还没有找到一种同时运行这两个系统的方法,但这对于我来说已经足够好了,因为它不会改变旧系统的配置,只需中断一段时间
LIVE Data -> Redis -> Logstash -> ES -> Kibana
| :
Read only compare old with new
| :
V V
New Logstash -> New ES -> New Kibana
LIVE Data -> Redis -> Logstash -> ES -> Kibana
| :
Read only compare
| :
V V
Redis Replica -> New Logstash -> New ES -> New Kibana