完整的网站访问审核和报告策略

时间:2011-06-01 03:55:08

标签: architecture logging audit-trail

我正在寻找改进以下问题解决方案的一些建议。即使我使用的是Unix工具链,我更倾向于使用一般方法而不是实现。

我们走了:

应记录对网站的每次访问,并且业务用户应能够近乎实时地报告(可接受5分钟的延迟)。报告将按用户或时间段或两者的组合进行过滤。

也会记录匿名用户访问,并且一旦匿名用户登录,登录前的信息应与注册用户绑定。

我想记录每个页面的访问权限(GET或POST)加上任何参数加上时间戳。

报告要求是:“告诉我用户ID 1在上午11:15到11:18之间做了什么”

响应应该是:

  • 11:15:23他来到主页。
  • 在11:15:49他走了我们的页面。
  • 在11:16:23他进入了登录页面。
  • 在11:16:34,他尝试使用用户名“hacked”登录。
  • 在11:16:38登录请求失败 - 用户名/密码不正确
  • 在11:16:45他用用户名“myuser”
  • 登录
  • 11:17:12他去了产品页面。

解决方案是将所有这些使用会话ID作为主键和帐户ID以及请求数据插入到数据库中。

为了不让DB插件陷入其间的消息队列并延迟写入数据库。

但是,根据数据库中的数据量,报告很快就会变慢。

我知道像woopra这样的解决方案 - 但是我想在内部保留访问者数据,也喜欢内部基于角色的数据访问等内部报告的想法。

编辑:过去你是如何做过这样的事情?如果你有完整的选择,你会怎么做呢?

1 个答案:

答案 0 :(得分:0)

立即执行某些操作的更简单方法是在您的服务器/应用程序上实施Google分析而不会产生太多开销。

使用它的缺点是事件并不像实时那样......它只需几个小时。

另一种解决方案是将消息传递解决方案实现到单独的数据库,然后重新