elasticsearch NoSQL用于带全文搜索的多站点存档日志记录
我正在考虑构建一个有点复杂的日志处理系统,以取代旧的临时设置,并可能需要一些建议。我对SQL数据库和网络非常熟悉,但对NoSQL存储非常陌生,这似乎是解决这一混乱局面的关键。请注意,我们有一个非常好的团队,但许可预算有限,因此免费/开源选项是首选。(这就是说,如果事情变成梨形,能够得到支持将是一件好事。) 要求:elasticsearch NoSQL用于带全文搜索的多站点存档日志记录,elasticsearch,logging,cassandra,couchbase,nosql,elasticsearch,Logging,Cassandra,Couchbase,Nosql,我正在考虑构建一个有点复杂的日志处理系统,以取代旧的临时设置,并可能需要一些建议。我对SQL数据库和网络非常熟悉,但对NoSQL存储非常陌生,这似乎是解决这一混乱局面的关键。请注意,我们有一个非常好的团队,但许可预算有限,因此免费/开源选项是首选。(这就是说,如果事情变成梨形,能够得到支持将是一件好事。) 要求: 归档(测试)在世界各地多个站点以几GB/天的速度生成的日志 在每个站点提供这些日志的全文搜索,以便进行调试 将归档的数据推回到中心位置(尽管每个站点都有一个副本是绝对可以的) 在中心
- 归档(测试)在世界各地多个站点以几GB/天的速度生成的日志
- 在每个站点提供这些日志的全文搜索,以便进行调试
- 将归档的数据推回到中心位置(尽管每个站点都有一个副本是绝对可以的)李>
- 在中心位置提供该数据的分析
- 这些网站目前的互联网连接相当糟糕(高延迟和低带宽)。大部分数据都是在白天生成的,而大部分同步都必须滞后,并且每天都要在夜间完成
- 如果广域网完全离线,站点必须能够运行
- 测井数据(通常)是高度可压缩的。首选任何压缩跨WAN从节点到节点的数据处理的解决方案
- 许多日志文件在多级层次结构中相互关联,这种关系非常重要,必须维护李>
- 站点通常不会修改相同的数据或在存储后再次修改数据。这大部分都是档案
- 我们可以在生成日志时进行流式处理,也可以推送日志块。流媒体是首选,因为它将大大简化事情
- 用于日志记录和本地配置管理的本地MySQL和文件夹结构。
- 这就是我们现在所拥有的,并且正在运行,但无论如何都不是一个长期的解决方案
- 弹性搜索
- 我已经读过了,但据我所知,它不支持多站点
- 卡桑德拉
- 这似乎有内置的多站点支持,但我并不完全熟悉数据模型。对于这样的事情,这是一个好的选择吗?如果我尝试一下,我会恨自己吗
- CouchDB
- 这是一个文档存储,看起来(?)与日志数据很匹配,但似乎没有多站点支持
- 阿帕奇·卡夫卡
- 我读了这篇文章,但我还没有完全理解它
- 它们中有哪一个真的可以让您流式附加日志,还是它们最适合将已完成的文件转储到中
- 有没有我错过的更好的解决方案
- 有没有关于多站点的建议,其中有些选项本身不支持多站点
- 我可能有点偏见,因为Couchbase是我的雇主,但这听起来像是一个需要解决的问题
您可以在多个地理站点上建立一个集群(Couchbase称这些“数据中心”),然后XDCR将在站点之间自动复制(双向)数据。如果我正确理解您的需求,这听起来正是您所需要的。我不明白您为什么需要多站点elasticsearch?有一个很好的、现成的、经过良好测试的解决方案es/logstash/kibana(所谓的ELK stack),您可以从任何站点到单个位置收集日志,然后在elasticsearch集群上对其进行索引,在该集群中,数据可用于大量分析和处理,这看起来是一种有趣的方式,但由于WAN链接的不可靠性,我仍然需要本地搜索能力。我将更深入地了解这一点!谢谢啊!!我在文档中遗漏了这一点!而且它看起来也支持单向复制,这甚至更好。(这意味着大多数数据中心可以拥有相对较小的数据池。)