资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

MongoDB日志切换(RotateLogFiles)指南-创新互联

MongoDB日志切换(Rotate Log Files)指南

创新互联自2013年创立以来,是专业互联网技术服务公司,拥有项目成都做网站、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元云和做网站,已为上家服务,为云和各地企业和个人服务,联系电话:18982081108

MongoDB默认情况下不会自动的切换轮转日志的,这将会导致日志日渐增大,在繁忙的业务下,日志增长量非常大的。如此之大的日志文件,查看某天的日志也不太方便。因此,需要对mongodb 日志文件进行切换。

日志切换行为

--logRotate

默认值: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.,重命名的原始日志文件。
切换日志文件不会修改旧的切换日志文件。当你切换日志时,你将通过附加时间戳来重命名server1.log文件,并且一个新的空server1.log文件将会收到所有新的日志输入。

使用--logRotate reopen切换日志

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日志切换行为。

通过syslog切换日志

2.2版本的新特性。

通过syslog切换日志,mongod发送日志数据到syslog而不是写入到文件。

1. 启动mongod实例使用--syslog选项  

mongod –syslog

不要包含--logpath。因为--syslog告诉mongod发送日志数据到syslog,所以指定--logpath将导致错误。
为了指定用于记录信息到syslog的设备级别,使用--syslogFacility选项或者systemLog.syslogFacility配置设置。

2. 使用系统默认的日志切换机制存储并切换日志输出。

使用SIGUSR1强制日志切换

对于Linux/Unix系统,你可以对于一个单一进程使用SIGUSR1信号来切换日志,如下:

Kill –SIGUSR1 

参考:   
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/

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:MongoDB日志切换(RotateLogFiles)指南-创新互联
网站URL:http://cdkjz.cn/article/cdscis.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220