MongoDB數(shù)據(jù)庫(kù)的日志文件深入分析
前言
日志是MongoDB中一個(gè)非常重要的功能,他保證了數(shù)據(jù)庫(kù)服務(wù)器在意外斷電、自然災(zāi)害下數(shù)據(jù)的完整性 。MongoDB日志記錄了數(shù)據(jù)庫(kù)實(shí)例的健康狀態(tài)、語(yǔ)句的執(zhí)行狀況、資源的消耗情況,所以日志對(duì)于分析數(shù)據(jù)庫(kù)服務(wù)和性能優(yōu)化很有幫助。
因此,很有必要花費(fèi)一些時(shí)間來(lái)學(xué)習(xí)解析一下MongoDB的日志文件。
下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
日志信息的格式
<日志時(shí)間> <嚴(yán)重級(jí)別> <信息所屬分類(lèi)> [<內(nèi)容>] <消息>
例如 :
2014-11-03T18:28:32.450-0500 I NETWORK [initandlisten] waiting for connections on port 27017
日志信息嚴(yán)重級(jí)別
|
級(jí)別 |
級(jí)別描述 |
|
F |
Fatal |
|
E |
Error |
|
W |
Warning |
|
I |
Informational, for Verbosity Level of 0 |
|
D |
Debug, for All Verbosity Levels > 0 |
信息所屬分類(lèi)
|
日志分類(lèi) |
英文 |
分類(lèi)描述 |
|
登入信息 |
ACCESS |
登入訪問(wèn)相關(guān)的信息,例如登錄驗(yàn)證情況。 |
|
命令信息 |
COMMAND |
數(shù)據(jù)庫(kù)執(zhí)行命令相關(guān)信息,例如,查詢(xún)。 |
|
控制管理信息 |
CONTROL |
記錄控制管理相關(guān)的信息,例如數(shù)據(jù)庫(kù)初始化。 |
|
FTDC信息 |
FTDC(full-time diagnostic data ) |
全程檢測(cè)數(shù)據(jù)信息,例如Server的狀態(tài)統(tǒng)計(jì)信息。 |
|
索引信息 |
INDEX |
索引相關(guān)信息,例如索引的創(chuàng)建過(guò)程信息。 |
|
網(wǎng)絡(luò)信息 |
NETWORK |
網(wǎng)絡(luò)相關(guān)信息,例如網(wǎng)絡(luò)連接信息。 |
|
查詢(xún)信息 |
QUERY |
查詢(xún)相關(guān)信息,例如查詢(xún)計(jì)劃信息。 |
|
副本集信息 |
REPL |
副本集相關(guān)信息,例如副本集初始過(guò)程、心跳、回滾等信息 |
|
分片信息 |
SHARDING |
分片相關(guān)信息,例如mongos的啟動(dòng)信息 |
|
存儲(chǔ)信息 |
STORAGE |
存儲(chǔ)相關(guān)信息,例如將 storage 層的數(shù)據(jù)刷入磁盤(pán)的信息。 |
|
還原信息 |
RECOVERY |
還原活動(dòng)相關(guān)的信息 |
|
日志信息 |
JOURNAL |
日志相關(guān)的信息 |
|
寫(xiě)操作信息 |
WRITE |
寫(xiě)操作相關(guān)的信息,例如更新(update)的命令。 |
查詢(xún)?nèi)罩驹敿?xì)等級(jí)
MongoDB將日志詳細(xì)等級(jí)劃分為0~5
1. 0 是MongoDB日志的的默認(rèn)級(jí)別,會(huì)包含 Informational 類(lèi)信息。
2. 1~5 是調(diào)試級(jí)別,會(huì)記錄客戶端所有的完整請(qǐng)求
查詢(xún)?nèi)罩驹敿?xì)等級(jí)的命令。
db.getLogComponents()
修改日志詳細(xì)等級(jí)
修改日志詳細(xì)等級(jí)的途徑有兩種。
第一種 設(shè)置logComponentVerbosity 參數(shù)來(lái)進(jìn)行修改。
另外還需說(shuō)明的一點(diǎn)是日志分類(lèi)還可以進(jìn)一步細(xì)化,
例如:將systemLog 整體設(shè)置為1,其中 query 子項(xiàng) 和storage子項(xiàng) 設(shè)置為2,而子項(xiàng)storage的子項(xiàng)設(shè)置journal再設(shè)置為1。
修改的具體命令為:
db.adminCommand( {
setParameter: 1,
logComponentVerbosity: {
verbosity: 1,
query: {
verbosity: 2
},
storage: {
verbosity: 2,
journal: {
verbosity: 1
}
}
}
} )
第二種方法,通過(guò) db.setLogLevel()進(jìn)行修改。
此種方法多是針對(duì)單一的日志類(lèi)別進(jìn)行修改。另外還有一點(diǎn)需要特別指出,我們有時(shí)候會(huì)通過(guò)db.getLogComponents() 看到級(jí)別日志級(jí)別為-1,其實(shí)-1,代表和其父類(lèi)別的等級(jí)一樣。
例如,我們將query類(lèi)別的日志的詳細(xì)級(jí)別設(shè)置為父類(lèi)( systemLog)的日志詳細(xì)級(jí)別,可以執(zhí)行以下命令:
db.setLogLevel(-1, "query")
上面的兩種方法都是修改,那么能否初始化是就配置呢?其實(shí)是可以的,我們只需要在初始配置文件中加入相應(yīng)的參數(shù)就可以了,在此不再展開(kāi)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解
- MongoDB中4種日志的詳細(xì)介紹
- 如何利用MongoDB存儲(chǔ)Docker日志詳解
- SpringBoot中l(wèi)ogback日志保存到mongoDB的方法
- Linux下定時(shí)切割Mongodb數(shù)據(jù)庫(kù)日志并刪除指定天數(shù)前的日志記錄
- 深入講解MongoDB的慢日志查詢(xún)(profile)
- 使用MongoDB分析Nginx日志的方法詳解
- MongoDB運(yùn)行日志實(shí)現(xiàn)自動(dòng)分割的方法實(shí)例
- Node.js和MongoDB實(shí)現(xiàn)簡(jiǎn)單日志分析系統(tǒng)
- MongoDB日志文件過(guò)大的解決方法
- 詳解MongoDB中的日志模塊
相關(guān)文章
MongoDB對(duì)Document(文檔)的插入、刪除及更新
這篇文章介紹了MongoDB對(duì)Document(文檔)的插入、刪除及更新,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
MongoDB如何查詢(xún)耗時(shí)記錄的方法詳解
查詢(xún)操作是我們?nèi)粘2僮鲾?shù)據(jù)庫(kù)經(jīng)常會(huì)遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于MongoDB如何查詢(xún)耗時(shí)記錄的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09
MongoDB快速入門(mén)筆記(二)之MongoDB的概念及簡(jiǎn)單操作
MongoDB是面向集合的文檔式數(shù)據(jù)庫(kù),不像關(guān)系數(shù)據(jù)庫(kù)那樣,有表,列、行,mongoDB數(shù)據(jù)庫(kù)則是由一系列的文檔組成。接下來(lái)通過(guò)本文給大家介紹MongoDB的概念及簡(jiǎn)單操作,一起看看吧2016-06-06
cgroup限制mongodb進(jìn)程內(nèi)存大小
這篇文章主要介紹了cgroup限制mongodb進(jìn)程內(nèi)存大小,需要的朋友可以參考下2014-07-07
詳解mongoDB主從復(fù)制搭建詳細(xì)過(guò)程
這篇文章主要介紹了詳解mongoDB主從復(fù)制搭建詳細(xì)過(guò)程的相關(guān)資料,這里對(duì)實(shí)現(xiàn)主從復(fù)制進(jìn)行了詳細(xì)的步驟介紹,需要的朋友可以參考下2017-08-08

