記得前幾天有個小伙伴要查看mongodb的日志,從而排查問題,可能總找不到日志放在何處,今天就系統(tǒng)說一下mongodb的日志系統(tǒng)。mongodb中主要有四種日志。分別是系統(tǒng)日志、Journal日志、oplog主從日志、慢查詢?nèi)罩镜取_@些 日志記錄著Mongodb數(shù)據(jù)庫不同方便的蹤跡。下面分別介紹這四種日志:
系統(tǒng)日志在Mongdb數(shù)據(jù)中很中重要,它記錄mongodb啟動和停止的操作,以及服務(wù)器在運行過程中發(fā)生的任何異常信息;配置系統(tǒng)日志也非常簡單,在運行mongod時候增加一個參數(shù)logpath,就可以設(shè)置;
例如:mongod -logpath='/data/db/log/server.log' -logappend.
Jouranl日志通過預(yù)寫入的redo日志為mongodb增加了額外的可靠性保障。開啟該功能時候,數(shù)據(jù)的更新就先寫入Journal日志,定期集中提交(目前是每100ms提交一次) ,然后在正式數(shù)據(jù)執(zhí)行更改。啟動數(shù)據(jù)庫的Journal功能非常簡單,只需在mongod后面指定journal參數(shù)即可;
開啟方式:mongod -journal
Mongodb的高可用復(fù)制策略有一個叫做Replica Sets.ReplicaSet復(fù)制過程中有一個服務(wù)器充當(dāng)主服務(wù)器,而一個或多個充當(dāng)從服務(wù)器,主服務(wù)將更新寫入一個本地的collection中,這個collection記錄著發(fā)生在主服務(wù)器的更新操作。并將這些操作分發(fā)到從服務(wù)器上。這個日志是Capped Collection。利用如下命令可以配置
慢查詢記錄了執(zhí)行時間超過了所設(shè)定時間閥值的操作語句。慢查詢?nèi)罩緦τ诎l(fā)現(xiàn)性能有問題的語句很有幫助,建議開啟此功能并經(jīng)常分析該日志的內(nèi)容。
要配置這個功能只需要在mongod啟動時候設(shè)置profile參數(shù)即可。例如想要將超過5s的操作都記錄,可以使用如下語句:
mongod --profile=1 --slowms=5
新聞熱點
疑難解答