Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

MongoDBログローテーション

More than 3 years have passed since last update.

環境・条件

CentOS7で実施した。

$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

MongoDBのバージョンは3.4.2。

$ mongod --version
db version v3.4.2
git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
    distmod: rhel70
    distarch: x86_64
    target_arch: x86_64

手順

mongod.confを編集する。
ログ関連の設定については以下が参考になる。

systemlog-options

$ sudo /etc/mongod.conf

以下のように記述を編集する。

# logAppend: true #コメントアウトする
logRotate: rename

logAppendはデフォルトではfalseのはずだが、MongoDBを2.6から使っていたためか、trueになっていたのでコメントアウトした。

logAppendをfalseにしてもログがローテートされない?ため、注意。

systemLog.logAppendには、以下のような記載があり、

When true, mongos or mongod appends new entries to the end of the existing log file when the mongos or mongod instance restarts. Without this option, mongod will back up the existing log and create a new file.

When trueに対して、When falseではなく、Without this optionとあるため、falseに設定するのではなく設定自体をコメントアウトした方がよさそうである。

logRotateはデフォルトでrenameだが、明示的に指定する。

mongodを再起動する。

$ sudo systemctl restart mongod

mongoシェルを起動し、以下のようにコマンドを発行する。

$ mongo

> use admin;

> db.runCommand('logRotate', 1);

> exit

ログファイルの出力先(mongod.confのsystemLog:pathで設定がある)を確認する。
以下のようにログファイルが分割されていればOK。

$ ls /var/log/mongodb -l
-rw-r--r-- 1 mongod mongod    7445330  4月 7 13:36 mongod.log
-rw-r--r-- 1 mongod mongod 2143691041  4月 7 12:05 mongod.log.2017-04-07T03-05-51
satouf
業務用ソフトウェアベンダーである株式会社ソリューションウェアの代表取締役。
solutionware
WEBサービスの開発・運営を通じてお客様の生産性向上を実現します
https://solutionware.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away