我正在使用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. mongodb丢失集合目录
- 3. BasicDBList到集合MongoDB
- 4. 通过Ruby导入MongoDb集合(ROR)
- 5. 从python登录到MongoDB
- 6. 连接到mongoDB的集合
- 7. 未找到MongoDB集合
- 8. Mongodb聚合集合
- 9. mongodb集合
- 10. MongoDB中 - 集合
- 11. Node.js,MongoDB登录表
- 12. 到MongoDB的集合移动到另一个集合
- 13. Ruby Ohm,如何在一个集合或集合中找到记录?
- 14. 用户在登录时加载集合
- 15. 系统登录Ruby?
- 16. Ruby on Rails - 登录
- 17. Ruby on Rails登录
- 18. Ruby实时登录
- 19. 在ruby中登录
- 20. MongoDB聚合投影集合
- 21. Mongodb链接集合
- 22. MongoDb封顶集合
- 23. MongoDB描述集合
- 24. mongodb集合变空
- 25. 链接MongoDB集合
- 26. MongoDB更新集合
- 27. 了解mongodb集合
- 28. Ruby MongoDB合并$ ne和$或
- 29. MongoDB - 将数据集合传输到另一个集合
- 30. 使用Ruby与Mechanize登录到网站
文档似乎暗示这是Rails的宝石,正如我在我的问题说,我没有使用Rails。你有没有在非Rails环境中使用它?如果是的话,多少黑客参与到它的工作? – 2011-03-22 01:49:02