我们的前端网络服务器现在正在使用 mod_log_sql 将我们所有的网络日志记录到 mySQL 中,从而在我们的 apache 配置中释放了数千个“AccessLog”指令(我们现在在我们的服务器上运行在 600-900 个虚拟主机之间)
话虽如此,我正在尝试找到一个与 mod_log_sql 一起使用的合理的博客分析器。我已经使用 webalizer 和 awstats 多年了,我真的很喜欢它们,但是这两个工具都不支持基于 sql 的日志记录。
它不必是实时的,但它至少必须能够从数据库表中获取数据。
有人有什么建议吗?
有一个名为 Skeith 的 php 脚本可以执行您想要的操作。
去这里下载http://skeith.sourceforge.net/
这是该网站的一个片段:
Skeith 是一个简单的日志分析器和报告器。具体来说,Skeith 适用于 Apache 的 mod_log_sql 模块(它也应该适用于 mod_log_mysql,但迄今为止仅使用 mod_log_sql 完成了测试)。
Skeith 的主要特点是将它与其他日志分析器区分开来,它可以即时生成给定日期或月份的日志文件。这样,系统管理员可以查看可能有问题或有害的确切请求。
我不建议将日志存储在任何类型的 SQL 数据库中。SQL 存储引擎根本不适合这种情况,随着数据量的增加(接近 1000 台虚拟主机肯定会增加),写入速度将严重缓慢。从数据库中删除也是一个痛苦的操作,因为表会变得碎片化,进一步增加读/写延迟并降低速度。
如果您坚持将日志存储到 SQL 数据库中,您将必须尽最大努力尽可能多地过滤掉不重要的数据。