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