2010-03-06 24 views
1

我刚刚发现了一个伟大的博客张贴在http://simonwillison.net/2009/Aug/26/logging/载明下列将apache2记录到mongodb:apache hook?有东西在那里?

MongoDB是梦幻般的记录”。 听起来很诱人...高性能 插入,JSON结构化记录和 上限的集合,如果你只是想 保持过去的X项。如果你关心 年纪较大的历史数据,但仍 要保留你可以运行 定期工作中总结记录卷起日志条目 空间。它不应该 太难写命令行 脚本,它连接到Apache的 登录指令并将记录 写入MongoDB。

这里有什么吗?任何已经用mongodb使用apache记录的人?

+0

没办法。我不希望我的Web服务器在IO上尝试写入某个套接字时阻塞它。没有什么比文件系统更稳定 - 如果你的文件系统失败了,你不需要关心已经记录的事情。 因此,“Apache登录到MongoDB”的想法对我来说似乎非常有意思。我不会认真对待或多或少繁忙的生产现场。 – 2010-03-07 16:40:35

+0

mongodb与log4net结合使用:http://github.com/jsk/log4net-MongoDB – Theo 2010-03-08 12:12:12

回答

1

一个简单的解决方案是设置Apache将访问日志写入perl脚本,然后完成需要的工作,例如解析,插入到Mongo中等等。

@Alexander,你不需要在IO上有Apache块。编写你的记录器/ perl脚本,以便它使用消息队列+线程。 Apache将日志行发送到perl脚本,然后将该消息插入保存在内存中的队列中。另一个线程读取队列并执行实际工作。我们在10亿美元以上的浏览量/月缓存服务器上执行此操作,并且无故障运行。

相关问题