1. ホーム
  2. データベース
  3. モンゴルディーブ

MongoDBのログ切り出しの3つの方法のまとめ

2022-01-19 05:01:44

プリアンブル

オンラインサービスでは、実行ログやアクセスログが大量に生成され、エラーや警告、ユーザーの行動などの情報が含まれます。通常、サービスではログ情報をテキスト形式で記録しているため、可読性が高く、日常的に問題を見つけやすい。しかし、大量のログが発生した場合、大量のログから価値あるコンテンツを発掘するためには、データのさらなる蓄積と分析が必要となる。

どんな種類のデータベースにも様々なログがあり、MongoDBも例外ではありません。MongoDBのログには、システムログ、ジャーナルログ、オプログマスタースレーブログ、スロークエリログなどの4種類のログが存在します。これらのログは、MongoDBデータベースのさまざまな側面の痕跡を記録します。

MongoDB はデフォルトではログを切りません。logRotate = rename を設定して MongoDB サービスを再起動しない限りは、実際にログファイルのひとつをオーバーサイズにしないためにはログを切り詰める必要があり、その方法は二通りあります。

その方法とは、以下の通りです。

1.MongoDB管理コマンドで切る

このコマンドを使うときは、MongoDB実行時にログファイルのパスを指定する必要があります。--logpath [file]、または設定ファイルで指定します。

use admin
db.runCommand({logRotate:1})

2. Linuxシステムに付属しているサービスlogrotateを切り離す。

まずMongoDBのパラメータlogRotate = reopen, logappend = trueを設定し、Linuxに付属しているlogrotateを使用する必要があります。設定ファイルは/etc/logrotate.d/に置き、カットした設定ファイルの例としては

/opt/mongodb/log/mongodb.log {
rotate 180  
daily
size 100M
olddir /opt/mongodb/logcopytruncate
dateext
compress
notifempty
missingok
missingok}

3. プロセスにSIGUSR1シグナルを送ることでログをカットする。

プロセスIDが1955の場合、以下のコマンドでログをカットすることができます。このコマンドを実行すると、すぐにログがカットされます。

kill -SIGUSR1 19555

概要

MongoDBのログカットの3つの方法についてのこの記事はこれで終わりです、もっと関連するMongoDBのログカットの内容はBinaryDevelopの過去の記事を検索してください、または以下の関連記事を引き続き閲覧してください、今後ともBinaryDevelopをよろしくお願いします