您好,登錄后才能下訂單哦!
MongoDB日志切換(Rotate Log Files)指南
MongoDB默認(rèn)情況下不會自動的切換輪轉(zhuǎn)日志的,這將會導(dǎo)致日志日漸增大,在繁忙的業(yè)務(wù)下,日志增長量非常大的。如此之大的日志文件,查看某天的日志也不太方便。因此,需要對mongodb 日志文件進(jìn)行切換。
--logRotate <string>
默認(rèn)值:rename
3.0.0版本新特性:指定logRotate行為。
指定為rename或者reopen。
rename 重命名日志文件。
reopen 關(guān)閉并重新打開日志文件遵循典型的Linux/Unix日志切換行為。當(dāng)使用Linux/Unix logrotate工具時,使用reopen避免日志丟失。
如果指定reopen時,也必須同時使用—logappend
默認(rèn)情況下,MongoDB使用--logRotate rename行為。使用rename,mongod或mongos通過在文件名稱末尾添加UTC(GMT)時間戳的方式重命名當(dāng)前的日志文件,然后打開新的日志文件,關(guān)閉之前舊的日志文件,并發(fā)送所有新的日志信息到新的日志文件中。
1. 啟動mongod實例。
mongod –v –logpath /var/log/mongodb/server1.log
你也可以顯式指定--logRotate rename
2. 列出日志文件。
在另一個終端中,列出匹配文件:
ls /var/log/mongodb/server1.log*
結(jié)果將包含一個日志文件,server1.log。
3. 切換日志文件。
在mongo shell下,從admin數(shù)據(jù)庫運行l(wèi)ogRotate命令切換日志文件:
use admin db.runCommand({logRotate:1})
4. 查看新的日志文件。
列出新的日志文件,來查看新創(chuàng)建的日志:
ls /var/log/mongodb/server1.log*
應(yīng)該列出兩個日志文件:server1.log,它是當(dāng)日志文件重新打開時mongod或mongos創(chuàng)建的;server1.log.<timestamp>,重命名的原始日志文件。
切換日志文件不會修改舊的切換日志文件。當(dāng)你切換日志時,你將通過附加時間戳來重命名server1.log文件,并且一個新的空server1.log文件將會收到所有新的日志輸入。
3.0.0版本的新特性。
使用--logRotate reopen切換日志,關(guān)閉并打開日志文件遵循典型的Linux/Unix日志切換行為。
1. 啟動mongod實例,指定--logRotate參數(shù)值為reopen。
mongod –v –logpath /var/log/mongodb/server1.log –logRotate reopen –logappend
你必須使用帶有--logRoate reopen參數(shù)的--logappend選項。
2. 列出日志文件。
在另一個終端,列出匹配的文件:
ls /var/log/mongodb/server1.log*
結(jié)果包含一個日志文件,server1.log。
3. 切換日志文件。
在mongo shell中,從admin數(shù)據(jù)庫執(zhí)行l(wèi)ogRotate命令執(zhí)行日志文件切換:
use admin db.runCommand({logRotate:1})
你應(yīng)該使用一個外部進(jìn)程重命名日志文件,遵循典型的Linux/Unix日志切換行為。
2.2版本的新特性。
通過syslog切換日志,mongod發(fā)送日志數(shù)據(jù)到syslog而不是寫入到文件。
1. 啟動mongod實例使用--syslog選項
mongod –syslog
不要包含--logpath。因為--syslog告訴mongod發(fā)送日志數(shù)據(jù)到syslog,所以指定--logpath將導(dǎo)致錯誤。
為了指定用于記錄信息到syslog的設(shè)備級別,使用--syslogFacility選項或者systemLog.syslogFacility配置設(shè)置。
2. 使用系統(tǒng)默認(rèn)的日志切換機制存儲并切換日志輸出。
對于Linux/Unix系統(tǒng),你可以對于一個單一進(jìn)程使用SIGUSR1信號來切換日志,如下:
Kill –SIGUSR1 <mongod process id>
參考:
Rotate Log Files: http://docs.mongodb.org/manual/tutorial/rotate-log-files/
logRotate: http://docs.mongodb.org/manual/reference/command/logRotate/
Rotate Agent Log Files: https://docs.mms.mongodb.com/tutorial/rotate-agent-log-files/
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。