前言
日志是MongoDB中一個(gè)非常重要的功能,他保證了數(shù)據(jù)庫服務(wù)器在意外斷電、自然災(zāi)害下數(shù)據(jù)的完整性 。MongoDB日志記錄了數(shù)據(jù)庫實(shí)例的健康狀態(tài)、語句的執(zhí)行狀況、資源的消耗情況,所以日志對(duì)于分析數(shù)據(jù)庫服務(wù)和性能優(yōu)化很有幫助。
因此,很有必要花費(fèi)一些時(shí)間來學(xué)習(xí)解析一下MongoDB的日志文件。
下面話不多說了,來一起看看詳細(xì)的介紹吧。
日志信息的格式
日志時(shí)間> 嚴(yán)重級(jí)別> 信息所屬分類> [內(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 |
信息所屬分類
日志分類 |
英文 |
分類描述 |
登入信息 |
ACCESS |
登入訪問相關(guān)的信息,例如登錄驗(yàn)證情況。 |
命令信息 |
COMMAND |
數(shù)據(jù)庫執(zhí)行命令相關(guān)信息,例如,查詢。 |
控制管理信息 |
CONTROL |
記錄控制管理相關(guān)的信息,例如數(shù)據(jù)庫初始化。 |
FTDC信息 |
FTDC(full-time diagnostic data ) |
全程檢測數(shù)據(jù)信息,例如Server的狀態(tài)統(tǒng)計(jì)信息。 |
索引信息 |
INDEX |
索引相關(guān)信息,例如索引的創(chuàng)建過程信息。 |
網(wǎng)絡(luò)信息 |
NETWORK |
網(wǎng)絡(luò)相關(guān)信息,例如網(wǎng)絡(luò)連接信息。 |
查詢信息 |
QUERY |
查詢相關(guān)信息,例如查詢計(jì)劃信息。 |
副本集信息 |
REPL |
副本集相關(guān)信息,例如副本集初始過程、心跳、回滾等信息 |
分片信息 |
SHARDING |
分片相關(guān)信息,例如mongos的啟動(dòng)信息 |
存儲(chǔ)信息 |
STORAGE |
存儲(chǔ)相關(guān)信息,例如將 storage 層的數(shù)據(jù)刷入磁盤的信息。 |
還原信息 |
RECOVERY |
還原活動(dòng)相關(guān)的信息 |
日志信息 |
JOURNAL |
日志相關(guān)的信息 |
寫操作信息 |
WRITE |
寫操作相關(guān)的信息,例如更新(update)的命令。 |
查詢?nèi)罩驹敿?xì)等級(jí)
MongoDB將日志詳細(xì)等級(jí)劃分為0~5
1. 0 是MongoDB日志的的默認(rèn)級(jí)別,會(huì)包含 Informational 類信息。
2. 1~5 是調(diào)試級(jí)別,會(huì)記錄客戶端所有的完整請(qǐng)求
查詢?nèi)罩驹敿?xì)等級(jí)的命令。
db.getLogComponents()
修改日志詳細(xì)等級(jí)
修改日志詳細(xì)等級(jí)的途徑有兩種。
第一種 設(shè)置logComponentVerbosity 參數(shù)來進(jìn)行修改。
另外還需說明的一點(diǎn)是日志分類還可以進(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 } } } } )
第二種方法,通過 db.setLogLevel()
進(jìn)行修改。
此種方法多是針對(duì)單一的日志類別進(jìn)行修改。另外還有一點(diǎn)需要特別指出,我們有時(shí)候會(huì)通過db.getLogComponents()
看到級(jí)別日志級(jí)別為-1,其實(shí)-1,代表和其父類別的等級(jí)一樣。
例如,我們將query類別的日志的詳細(xì)級(jí)別設(shè)置為父類( systemLog)的日志詳細(xì)級(jí)別,可以執(zhí)行以下命令:
db.setLogLevel(-1, "query")
上面的兩種方法都是修改,那么能否初始化是就配置呢?其實(shí)是可以的,我們只需要在初始配置文件中加入相應(yīng)的參數(shù)就可以了,在此不再展開。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
標(biāo)簽:雞西 玉林 自貢 廈門 興安盟 泰安 遼陽 無錫
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB數(shù)據(jù)庫的日志文件深入分析》,本文關(guān)鍵詞 MongoDB,數(shù)據(jù)庫,的,日志,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。