Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch NoSQL用于带全文搜索的多站点存档日志记录_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logging_Cassandra_Couchbase_Nosql - Fatal编程技术网 elasticsearch NoSQL用于带全文搜索的多站点存档日志记录,elasticsearch,logging,cassandra,couchbase,nosql,elasticsearch,Logging,Cassandra,Couchbase,Nosql" /> elasticsearch NoSQL用于带全文搜索的多站点存档日志记录,elasticsearch,logging,cassandra,couchbase,nosql,elasticsearch,Logging,Cassandra,Couchbase,Nosql" />

elasticsearch NoSQL用于带全文搜索的多站点存档日志记录

elasticsearch NoSQL用于带全文搜索的多站点存档日志记录,elasticsearch,logging,cassandra,couchbase,nosql,elasticsearch,Logging,Cassandra,Couchbase,Nosql,我正在考虑构建一个有点复杂的日志处理系统,以取代旧的临时设置,并可能需要一些建议。我对SQL数据库和网络非常熟悉,但对NoSQL存储非常陌生,这似乎是解决这一混乱局面的关键。请注意,我们有一个非常好的团队,但许可预算有限,因此免费/开源选项是首选。(这就是说,如果事情变成梨形,能够得到支持将是一件好事。) 要求: 归档(测试)在世界各地多个站点以几GB/天的速度生成的日志 在每个站点提供这些日志的全文搜索,以便进行调试 将归档的数据推回到中心位置(尽管每个站点都有一个副本是绝对可以的) 在中心

我正在考虑构建一个有点复杂的日志处理系统,以取代旧的临时设置,并可能需要一些建议。我对SQL数据库和网络非常熟悉,但对NoSQL存储非常陌生,这似乎是解决这一混乱局面的关键。请注意,我们有一个非常好的团队,但许可预算有限,因此免费/开源选项是首选。(这就是说,如果事情变成梨形,能够得到支持将是一件好事。)

要求:

  • 归档(测试)在世界各地多个站点以几GB/天的速度生成的日志
  • 在每个站点提供这些日志的全文搜索,以便进行调试
  • 将归档的数据推回到中心位置(尽管每个站点都有一个副本是绝对可以的)
  • 在中心位置提供该数据的分析
限制条件:

  • 这些网站目前的互联网连接相当糟糕(高延迟和低带宽)。大部分数据都是在白天生成的,而大部分同步都必须滞后,并且每天都要在夜间完成
  • 如果广域网完全离线,站点必须能够运行
额外费用

  • 测井数据(通常)是高度可压缩的。首选任何压缩跨WAN从节点到节点的数据处理的解决方案
  • 许多日志文件在多级层次结构中相互关联,这种关系非常重要,必须维护
  • 站点通常不会修改相同的数据或在存储后再次修改数据。这大部分都是档案
  • 我们可以在生成日志时进行流式处理,也可以推送日志块。流媒体是首选,因为它将大大简化事情
我知道的选项有:

  • 用于日志记录和本地配置管理的本地MySQL和文件夹结构。
    • 这就是我们现在所拥有的,并且正在运行,但无论如何都不是一个长期的解决方案
  • 弹性搜索
    • 我已经读过了,但据我所知,它不支持多站点
  • 卡桑德拉
    • 这似乎有内置的多站点支持,但我并不完全熟悉数据模型。对于这样的事情,这是一个好的选择吗?如果我尝试一下,我会恨自己吗
  • CouchDB
    • 这是一个文档存储,看起来(?)与日志数据很匹配,但似乎没有多站点支持
  • 阿帕奇·卡夫卡
    • 我读了这篇文章,但我还没有完全理解它
问题:

  • 它们中有哪一个真的可以让您流式附加日志,还是它们最适合将已完成的文件转储到中
  • 有没有我错过的更好的解决方案
  • 有没有关于多站点的建议,其中有些选项本身不支持多站点
有趣的链接:


    • 我可能有点偏见,因为Couchbase是我的雇主,但这听起来像是一个需要解决的问题


      您可以在多个地理站点上建立一个集群(Couchbase称这些“数据中心”),然后XDCR将在站点之间自动复制(双向)数据。如果我正确理解您的需求,这听起来正是您所需要的。

      我不明白您为什么需要多站点elasticsearch?有一个很好的、现成的、经过良好测试的解决方案es/logstash/kibana(所谓的ELK stack),您可以从任何站点到单个位置收集日志,然后在elasticsearch集群上对其进行索引,在该集群中,数据可用于大量分析和处理,这看起来是一种有趣的方式,但由于WAN链接的不可靠性,我仍然需要本地搜索能力。我将更深入地了解这一点!谢谢啊!!我在文档中遗漏了这一点!而且它看起来也支持单向复制,这甚至更好。(这意味着大多数数据中心可以拥有相对较小的数据池。)