Ruby (sinatra) 응용 프로그램과 함께 MongoDB를 사용하고 있습니다. 현재 모든 로깅은 로컬 파일에 수행됩니다. 나는 대신 로그 메시지를 MongoDB 컬렉션에 저장하려고한다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?MongoDB 컬렉션 (Ruby)에 로그인
답변
그냥 않는 오픈 소스 프로젝트가있다 : 파일에서
- 데이터를로드합니다.
- 로그를 mongodb 컬렉션에 삽입하십시오 (here 자세한 루비 드라이버 튜토리얼).
- 파일에 쓰는 대신 로그 데이터가 mongodb 컬렉션에 로그를 삽입하는 방식입니다.
또한 capped collections 로깅과 같은 작업에 적합합니다.
바로. 모든 로깅 라인을 다시 작성하지 않고 3 단계를 수행하려면 어떻게해야합니까? –
MongoDB를 로깅 할 때 쓰기 처리량이 높습니다. MongoDB의 삽입은 기본적으로 fire-and-forget 스타일이지만 많은 insert()를 호출하면 쓰기 잠금 경합이 많이 발생합니다. 이로 인해 응용 프로그램 성능이 저하되고 독자가 저장된 로그를 집계/필터링하지 못할 수 있습니다.
하나의 솔루션은 , Logstash 또는 Flume과 같은 로그 수집기 프레임 워크를 사용할 수 있습니다. 이 데몬은 모든 응용 프로그램 노드에서 시작되며 응용 프로그램 프로세스에서 로그를 가져옵니다.
그들은 비동기 로그 버퍼와 같은 다른 시스템에 데이터를 써 MongoDB를/PostgreSQL을/등이 훨씬 더 효율적인 응용 프로그램에서 직접 작성하는 것보다, 그래서 쓰기가 일괄하여 수행됩니다. 이 링크는 Ruby 프로그램에서 Fluentd에 로그를 저장하는 방법을 설명합니다. Fluentd: Data Import from Ruby Applications
- 1. 모자이크 컬렉션 mongodb
- 2. MongoDb 출연 하위 컬렉션
- 3. mongodb, 모든 문서를 컬렉션
- 4. Ruby에 백 구현이 있습니까?
- 5. MongoDB 스키마 디자인 - 새로운 컬렉션 또는 참조?
- 6. MongoDB mongorestore 및 기존 컬렉션 with records
- 7. Ruby에 difflib
- 8. Ruby (ROR)를 통해 MongoDb 컬렉션 가져 오기
- 9. Mongodb : 컬렉션 내의 짧은 기본 키로 사용되는 개체 ID
- 10. Ruby에 해당하는 Python setattr()
- 11. Ruby에 상응하는 ASP.NET Application_Start?
- 12. Ruby에 파일 포함하기 질문들
- 13. Ruby에 대한 설명서 생성
- 14. Ruby에 플러그인이있는 편집기?
- 15. Ruby에 해당하는 파이썬 "_"
- 16. ruby에 each_if가 있습니까?
- 17. Ruby에 MySQL gem 설치
- 18. Ruby에 서명 된 리틀 엔디안 압축 풀기
- 19. mongodb 관계
- 20. 몽구스 - 강제 컬렉션 이름
- 21. MongoDb 출장 수집 모음
- 22. Ruby에 PKCS # 8 바이너리 키를로드하십시오.
- 23. Ruby에 들어있는 것과 비슷한 것
- 24. Ruby에 상수 인스턴스 변수가 있습니까?
- 25. Ruby에 상응하는 Perl 데이터 :: Dumper
- 26. 컬렉션
- 27. MongoDB 고급 쿼리
- 28. MongoDB 인덱스는 얼마나 완성되어야합니까?
- 29. mongodb 다른 레코드를 얻으십시오
- 30. 컬렉션 내에서 일반 컬렉션 만들기
문서는이 레일 보석임을 암시하는 것, 그리고 내가 내 질문에 말했듯이, 나는 레일을 사용하지 않는 블로그 10gen합니다. 비 레일 환경에서 이것을 사용 했습니까? 그렇다면 해킹이 작동하려면 얼마나 많은 해킹이 필요합니까? –