前言
其實(shí)所謂自動(dòng)分割MongoDB日志文件,就是指Rotate MongoDB log files,即讓MongoDB每天(或每個(gè)星期,可自定義控制)生成一個(gè)日志文件,而不是將MongoDB所有的運(yùn)行日志都放置在一個(gè)文件中,這樣每個(gè)日志文件都相對(duì)較小,定位問(wèn)題也更容易。
實(shí)現(xiàn)自動(dòng)分割MongoDB日志的方法可以參考:https://docs.mongodb.com/manual/tutorial/rotate-log-files/
現(xiàn)在以一個(gè)MongoDB實(shí)例為例,可以寫(xiě)一個(gè)腳本來(lái)實(shí)現(xiàn)自動(dòng)分割MongoDB日志
1、配置MongoDB實(shí)例啟動(dòng)參數(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、編寫(xiě)自動(dòng)分割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定時(shí)任務(wù)
在打開(kāi)的文件底部添加如下內(nèi)容
59 23 * * * root /data/logRotate/logRotate.sh
:wq
保存,表示配置一個(gè)定時(shí)任務(wù),定時(shí)每天23:59以root身份執(zhí)行腳本/data/logRotate/logRotate.sh
,實(shí)現(xiàn)定時(shí)自動(dòng)分割MongoDB日志
至此,就實(shí)現(xiàn)了自動(dòng)分割MongoDB日志,MongoDB每天都會(huì)生成一個(gè)新的日志文件,日志文件的命名帶有標(biāo)識(shí)文件日期的時(shí)間戳。
如下所示:
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運(yùn)行日志自動(dòng)分割的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
您可能感興趣的文章:- Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解
- MongoDB中4種日志的詳細(xì)介紹
- 如何利用MongoDB存儲(chǔ)Docker日志詳解
- MongoDB數(shù)據(jù)庫(kù)的日志文件深入分析
- SpringBoot中l(wèi)ogback日志保存到mongoDB的方法
- Linux下定時(shí)切割Mongodb數(shù)據(jù)庫(kù)日志并刪除指定天數(shù)前的日志記錄
- 深入講解MongoDB的慢日志查詢(profile)
- 使用MongoDB分析Nginx日志的方法詳解
- Node.js和MongoDB實(shí)現(xiàn)簡(jiǎn)單日志分析系統(tǒng)
- MongoDB日志文件過(guò)大的解決方法
- 詳解MongoDB中的日志模塊