使用DB /应用程序服务器日志分析Web应用程序使用和用户模式?

时间:2008-10-23 18:01:37

标签: logging analytics

我假设大多数分析和跟踪是基于从页面请求等浏览器操作收集的数据完成的。像AWStats,Google Analytics和Omniture这样的工具就在这里。

但是,数据库或服务级别日志中还有大量可用数据。例如,基于GWT的应用程序分析可能有点棘手。或者在财务应用程序的情况下,客户可能对可疑转移感兴趣。

所以,请分享您的最佳实践:

  • 您为数据库或日志分析实施了哪些方法?
  • 您使用的是现有工具还是自己的内部产品?
  • 您是否乐意只关注最常使用的功能以及处理速度有多快?
  • 或者您是否实际存储了用户操作路径并使用它们来发现异常模式?

3 个答案:

答案 0 :(得分:1)

我知道在Oracle中你可以用sql注释的形式提供提示。有优化器会看到注释并尝试使用提示来使sql运行得更快或其他各种功能。

当涉及数据库日志记录时,如果您尝试记录用户执行的操作,则只会降低数据库的性能,因为您现在正在创建更多的开销来构建日志文件或表行以存储用户相关信息。

还有其他适用于oracle等企业数据库的工具,可以让您查看并发事务,这些事务可以帮助您在发生减速时找到瓶颈。

您可以获得的用于分析网络流量的最佳元数据是您在上面列出的技术。

当谈到银行交易以及大量数据的移动和存储时,您记录用户在您的站点或数据库中移动的方式会产生更多开销。您可以编写代码来检查可疑行为,但最终会以降低性能为代价来执行此操作。

答案 1 :(得分:1)

我们的应用程序保留已经进行的SQL调用的内存列表,为每个调用的类存储,执行次数,最大执行时间和总执行时间。我们可以访问一个页面,以便在服务器启动后查看信息。

这主要用于性能监控,但我也用来查看特定查询的运行次数。

答案 2 :(得分:1)

在工具正面,对于Windows,您可以使用MS LogParser工具:

基本上将您的平面日志文件转换为“数据库”,您可以运行类似SQL的查询。您甚至可以输出网格,图表和图形。