首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP应用程序日志存储

问PHP应用程序日志存储
EN

Stack Overflow用户
提问于 2012-07-19 01:04:57
回答 2查看 153关注 0票数 0

我们的基于PHP和MySQL的应用程序创建自定义日志,这些日志被写入到MySQL数据库中供用户执行操作。我们这样做主要是为了便于搜索,因为应用程序已经在使用MySQL进行持久存储,所以它是有意义的。

我们的日志现在包含1760万行,大小为2 2GB。在这个地方走动的时候可不那么友好。

我想知道社区可能会推荐什么更好、更有效的方式来存储日志。

显然,您可以将此表拆分为1周的所有日志,然后删除非关键日志,并将历史关键日志一分为二,例如付款等。

通常,我们通过函数的方式写入日志,例如

代码语言:javascript
复制
playerlog($id,$message,$cash,$page,$ip,$time);

但这是一个相当简单的版本,我们也使用MySQL的插入延迟,因为日志对于页面加载并不重要。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-19 05:14:37

如果您对使用MongoDB (我假设它来自标记)感兴趣,那么您可能想看看这里:http://docs.mongodb.org/manual/use-cases/storing-log-data/

票数 2
EN

Stack Overflow用户

发布于 2012-07-19 01:21:57

您应该弄清楚需要哪些日志。作为插入后的第二步,您可以设置一个处理日志数据的作业,例如读取日志并处理它们(这会将您的DBMS降级为某种消息传递中间件)。这可能是将部分(如支付)存储到未被删除的存档中,或者将身份验证日志写入到指定保留时间后被删除的位置。但这完全取决于您的用例。

根据您计划分析的内容或查询数据的方式,您甚至可以将它们存储在MySQL之外。

一些可能性:

  • 实施旨在分析事件、触发警报等的SIEM系统(http://en.wikipedia.org/wiki/Security_information_and_event_management)。
  • 使用类似SIEM的软件,如Splunk (请参阅splunk.com),该软件处理原始日志,并针对日志搜索和数据库管理系统解决方案进行日志搜索。如果
  • “足够快”,则只需使用syslog并存储文本日志文件--您可以跳过整个MySQL thing see
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11546669

复制
相关文章

相似问题

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