前言
其實所謂自動分割MongoDB日志文件,就是指Rotate MongoDB log files,即讓MongoDB每天(或每個星期,可自定義控制)生成一個日志文件,而不是將MongoDB所有的運行日志都放置在一個文件中,這樣每個日志文件都相對較小,定位問題也更容易。
實現(xiàn)自動分割MongoDB日志的方法可以參考:https://docs.mongodb.com/manual/tutorial/rotate-log-files/
現(xiàn)在以一個MongoDB實例為例,可以寫一個腳本來實現(xiàn)自動分割MongoDB日志
1、配置MongoDB實例啟動參數(shù)
security:
keyFile: /usr/local/mongodb/authentication/keyFile
sharding:
clusterRole: shardsvr
replication:
replSetName: rs3
net:
port: 27023
storage:
dbPath: /data/db_delay_rs3
systemLog:
path: /data/log_delay_rs3/mongodb.log
destination: file
logAppend: true
logRotate: rename
processManagement:
fork: true
配置MongoDB系統(tǒng)日志保存路徑,并配置logRotate
參數(shù)為rename
2、編寫自動分割MongoDB日志腳本
#!/bin/bash
#Rotate the MongoDB logs to prevent a single logfile from consuming too much disk space.
app=mongod
mongodPath=/usr/local/mongodb/bin/
pidArray=$(pidof $mongodPath/$app)
for pid in $pidArray;do
if [ $pid ]
then
kill -SIGUSR1 $pid
fi
done
exit
:wq
保存,并命名為logRotate.sh
,保存到目錄/data/logRotate/
3、設(shè)置Linux定時任務(wù)
在打開的文件底部添加如下內(nèi)容
59 23 * * * root /data/logRotate/logRotate.sh
:wq
保存,表示配置一個定時任務(wù),定時每天23:59以root身份執(zhí)行腳本/data/logRotate/logRotate.sh
,實現(xiàn)定時自動分割MongoDB日志
至此,就實現(xiàn)了自動分割MongoDB日志,MongoDB每天都會生成一個新的日志文件,日志文件的命名帶有標(biāo)識文件日期的時間戳。
如下所示:
mongodb.log mongodb.log.2016-12-08T15-59-01 mongodb.log.2016-12-13T15-59-01
mongodb.log.2016-12-06T07-14-10 mongodb.log.2016-12-09T15-59-01 mongodb.log.2016-12-14T15-59-01
mongodb.log.2016-12-06T15-59-01 mongodb.log.2016-12-10T15-59-01 mongodb.log.2016-12-15T15-59-01
mongodb.log.2016-12-07T01-54-05 mongodb.log.2016-12-11T15-59-01 mongodb.log.2016-12-16T15-59-01
mongodb.log.2016-12-07T15-59-01 mongodb.log.2016-12-12T15-59-01
總結(jié)
以上就是關(guān)于MongoDB運行日志自動分割的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
您可能感興趣的文章:- Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解
- MongoDB中4種日志的詳細(xì)介紹
- 如何利用MongoDB存儲Docker日志詳解
- MongoDB數(shù)據(jù)庫的日志文件深入分析
- SpringBoot中l(wèi)ogback日志保存到mongoDB的方法
- Linux下定時切割Mongodb數(shù)據(jù)庫日志并刪除指定天數(shù)前的日志記錄
- 深入講解MongoDB的慢日志查詢(profile)
- 使用MongoDB分析Nginx日志的方法詳解
- Node.js和MongoDB實現(xiàn)簡單日志分析系統(tǒng)
- MongoDB日志文件過大的解決方法
- 詳解MongoDB中的日志模塊