我正在使用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