MongoDBのログシステム

1582 ワード

MongoDBには、システム・ログ、Journalログ、oplogプライマリ・スレーブ・ログ、遅いクエリー・ログのいくつかのログがあります.これらのログには、MongoDBデータベースの異なるトレースが記録されています.
システムログ
システムログには、Mongodbの起動と停止の操作、およびサーバの実行中に発生した異常情報が記録されます.
システムログを構成する方法は簡単です.mongodを起動するときにlogpathパラメータを指定するだけです.たとえば、次のようにします.
mongod -logpath=/data/db/logs/serverlog.log -logappend

Journalログ
Journalログは、事前に書き込みされたredoログによってMongoDBに追加の信頼性を保証します.機能をオンにすると、データの更新はJournalログに書き込まれ、定期的に集中的にコミットされ(現在は100 msごとにコミットされています)、実際のデータで変更が実行されます.サーバが安全にシャットダウンされると、ログは消去されます.サーバの起動時にJournalログが存在する場合、コミットが実行されます.これにより、Journalログに書き込まれていますが、サーバがクラッシュする前にコミットされていない操作が、ユーザーがサーバに接続する前に実行され、2回のコミット間の100 msタイムウィンドウが、将来のバージョンで縮小される見込みです.
journal機能を有効にするのは簡単です.mongodの後にjournalパラメータを指定するだけでいいです.たとえば、次のようにします.
mongod -journal
では、journal情報がデータベースディレクトリ(デフォルトは/data/db/)のjournalフォルダに格納されます.
oplogプライマリ・スレーブ・ログ
MongoDBの高可用性レプリケーションポリシーにはReplica Setsというものがあります.Replica Setsレプリケーションでは、1つのサーバがプライマリ・サーバとして機能し、1つ以上のサーバがセカンダリ・サーバとして機能し、プライマリ・サーバはローカルのcollectionに更新を書き込み、このcollectionはプライマリ・サーバで発生した更新操作を記録し、これらの操作をセカンダリ・サーバに配布します.
このログはCapped Collectionであり、サイズに分けられているので、mongodの起動時にサイズ(単位:MB)を設定することが望ましいです.たとえば、次のようにします.
mongod - oplogSize=1024

スロー・クエリー・ログ
スロー・クエリー・ログは、設定した時間のバルブ値を超える実行時間を持つ操作文を記録します.スロー・クエリー・ログは、パフォーマンスに問題がある文を発見するのに役立ちます.このログの内容をオンにし、頻繁に分析することをお勧めします.
この機能を構成するにはmongod起動時にprofileパラメータを指定するだけです.たとえば、5秒を超える操作をすべて記録するには、次の文を使用します.
mongod --profile=1 --slowms=5
システムがしばらく稼働すると、dbを表示することができる.system.profileというcollectionは、スローログ情報を取得します.