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