MongoDB日志切换(Rotate Log Files)指南
admin
2023-04-12 06:43:09
0

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

 

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/

相关内容

热门资讯

热搜爆了!腾讯张军: 不会开发... 5月11日晚,“微信状态 访客记录”爆上热搜第一。 今天(5月12日),微信员工@客村小蒋发文回应:...
“人工胚胎”,首次进入太空! 来源:市场资讯 (来源:环球网资讯) 来源:央视新闻微信公众号 11日,我国天舟十号成功发射。“人工...
巨婴孙杨,屡教不改 内娱,终于等来了自己的综艺鬼才。体育冠军孙杨,人送外号“高需求宝宝”;艺术体操运动员张豆豆,被网友戏...
微纳米七级分散乳化机选型指南:... 导语:在医药制剂、化工新材料、食品加工等行业中,微纳米级分散乳化机的性能直接影响产品稳定性与生产效率...
全国率先!湖北人形机器人开始登... 当前,我国人形机器人产业爆发,各品牌机器人层出不穷。然而,不同品牌机器人由于技术路径不同,采用的零部...
国标出台,人工智能终端分级工作... 人工智能终端是人工智能技术规模化落地、体系化发展的关键载体。近年来,我国人工智能产业蓬勃发展,人工智...
OPPO「母亲节」交学费,另一... 「核心提示」 母亲节文案翻车背后:OPPO的营销,为何总在“雷区”蹦迪? 作者 | 李白 编...
今天,这场内阁会议或将决定斯塔... 英国工党日前在地方选举中大败,首相斯塔默地位岌岌可危,党内逼宫浪潮高涨。斯塔默将于5月12日召开一场...
定做衣柜要多少钱索菲亚定做衣柜... 回答1: 定做衣柜都是按平米计算的 索菲亚衣柜在全国有连锁店,价格也是统一的,一般一线城市跟...