我正在使用MongoDB和Ruby(sinatra)应用程序。目前,所有日志记录都完成到本地文件。我宁愿将日志消息放入MongoDB集合中。做这个的最好方式是什么?登录到MongoDB集合(Ruby)
2
A
回答
1
有,不只是这一个开源项目:从文件
1
- 加载数据。
- 将日志插入到mongodb集合中(here详细的ruby驱动程序tutolrial)。
- 在记录数据而不是在文件中写入的方法只是在mongodb集合中插入日志。
另外capped collections很适合记录等任务。
+0
没问题。我需要知道如何在不重写所有记录行的情况下执行第3步? – 2011-03-22 22:00:20
1
当您使用MongoDB进行日志记录时,担心写入吞吐量过高。尽管默认情况下MongoDB的插入是默认情况下的fire-and-forget样式,调用大量insert()会导致严重的写入锁争用。这可能会影响应用程序性能,并阻止读者聚合/筛选存储的日志。
一种解决方案可能使用日志收集器框架,如Fluentd,Logstash或Flume。这些守护进程应该在每个应用程序节点上启动,并从应用程序进程获取日志。
他们缓冲日志和异步写入数据至其他系统,如MongoDB的/ PostgreSQL的/等写入分批进行,所以这是一个很大比直接从应用程序编写效率更高。该链接描述了如何将日志从Ruby程序放入Fluentd中。
相关问题
- 1. Ruby MongoDB drop GridFS集合
- 2. BasicDBList到集合MongoDB
- 3. 通过Ruby导入MongoDb集合(ROR)
- 4. 未找到MongoDB集合
- 5. Mongodb聚合集合
- 6. Node.js,MongoDB登录表
- 7. Ruby Ohm,如何在一个集合或集合中找到记录?
- 8. Ruby on Rails - 登录
- 9. 在ruby中登录
- 10. MongoDB聚合投影集合
- 11. MongoDb封顶集合
- 12. Mongodb链接集合
- 13. 了解mongodb集合
- 14. MongoDB - 将数据集合传输到另一个集合
- 15. 使用mongoexport导出到csv mongodb集合
- 16. Scrapy写入到多个MongoDB集合
- 17. 从mysql到mongodb - 设计集合
- 18. 推送项目到Mongodb集合数组
- 19. 在MongoDB中找不到数据集合
- 20. MongoDB和PHP简单登录
- 21. Ruby的集合库
- 22. Ruby - 方法集合
- 23. Google登录集成
- 24. Windows登录集成
- 25. Ruby on rails3登录教程
- 26. SOAP Ruby On Rails登录Affili.net
- 27. Ruby on Rails登录会话
- 28. 登录/注册Ruby on Rails?
- 29. node-mongodb-native保存集合?
- 30. mongodb加入多个集合
文档似乎暗示这是Rails的宝石,正如我在我的问题说,我没有使用Rails。你有没有在非Rails环境中使用它?如果是的话,多少黑客参与到它的工作? – 2011-03-22 01:49:02