首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库以有效地存储和处理客户端日志

数据库以有效地存储和处理客户端日志
EN

Stack Overflow用户
提问于 2014-01-15 01:28:30
回答 3查看 156关注 0票数 2

因此,上下文是,我有一个生成日志的客户端应用程序,我希望偶尔将这些数据上传到后端。后端将充当分析服务器,存储、处理和显示这些数据--因此您可以想象会涉及到一些查询。

在数据收集高峰负载方面,我希望有大约5k个客户端,每个客户端每天生成50-100行数据,我希望解决方案能够处理这类数据。如果你算一算,那就是每月超过100万条日志线。

就数据分析负载而言,它将相当低--我希望我们中的一些人(管理员)每周从所有日志中运行一次查询来获取一些信息。

我的应用程序目前正在运行RoR + Postgres,但如果它更适合我的需要,则可以使用不同的dB。目前在我脑海中的竞争者是MongoDB & Cassandra,但我真的不想离开Postgres,如果它能按比例完成任务。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-15 04:00:27

根据我的经验,当您有大量日志时,您将需要一个搜索引擎来进行故障排除和分析,而不是使用数据库。(搜索引擎将比数据库更快。)

现在,我正在使用logstash+Elasticsearch+Kibana完全解决方案来构建我的日志系统。

  • 洛格斯塔什是一个可以解析日志并使其更具可读性的工具。
  • 弹性搜索是一个搜索引擎,用于在日志中进行索引和搜索。
  • 基巴纳是一个webUI,您可以使用它与您的Elasticsearch进行通信。

这是Kibana演示网站。你可以去看看。http://demo.kibana.org/。它提供了搜索界面和分析工具,如饼图、表格等。

在我的项目中,我的应用程序每天生成超过150万条日志。这个日志系统可以处理所有这些日志。

尽情享受吧。

票数 0
EN

Stack Overflow用户

发布于 2014-01-15 01:35:27

为此,我推荐一个像logstash这样的专用工具:

http://logstash.net/

另一种选择是Apache Flume:

http://flume.apache.org/

票数 1
EN

Stack Overflow用户

发布于 2014-01-15 03:41:38

如果您正在寻找随着请求而增长的数据库解决方案,那么我建议您超越Postgres。

卡桑德拉非常适合时间序列数据,尽管键值存储不适合于临时分析。一种方法是将日志存储在Cassandra中,然后再将它们卷到另一个系统中。

为了直观地存储和显示数据,请看一看石墨,一个实时绘图项目。

您可以使用Graphite创建您自己的自定义图形,并将它们保存为仪表板。

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

https://stackoverflow.com/questions/21127485

复制
相关文章

相似问题

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