關於MongoDB數據庫的日志解析


MongoDB日志記錄了數據庫實例的健康狀態、語句的執行狀況、資源的消耗情況,所以日志對於分析數據庫服務和性能優化很有幫助。

因此,很有必要花費一些時間來學習解析一下MongoDB的日志文件。

 

日志信息的格式

 

<日志時間> <嚴重級別> <信息所屬分類> [<內容>] <消息>

例如 :

2014-11-03T18:28:32.450-0500 I NETWORK [initandlisten] waiting for connections on port 27017

 

日志信息嚴重級別

 

級別

級別描述

F

Fatal

E

Error

W

Warning

I

Informational, for Verbosity Level of 0

D

Debug, for All Verbosity Levels > 0

 

 

 

 

 

 

 

 

 

 

信息所屬分類

 

日志分類

英文

分類描述

登入信息

ACCESS

登入訪問相關的信息,例如登錄驗證情況。

命令信息

COMMAND

數據庫執行命令相關信息,例如,查詢。

控制管理信息

CONTROL

記錄控制管理相關的信息,例如數據庫初始化。

FTDC信息

FTDC(full-time diagnostic data )

全程檢測數據信息,例如Server的狀態統計信息。

索引信息

INDEX

索引相關信息,例如索引的創建過程信息。

網絡信息

NETWORK

網絡相關信息,例如網絡連接信息。

查詢信息

QUERY

查詢相關信息,例如查詢計划信息。

副本集信息

REPL

副本集相關信息,例如副本集初始過程、心跳、回滾等信息

分片信息

SHARDING

分片相關信息,例如mongos的啟動信息

存儲信息

STORAGE

存儲相關信息,例如將 storage 層的數據刷入磁盤的信息。

還原信息

RECOVERY

還原活動相關的信息

日志信息

JOURNAL

日志相關的信息

寫操作信息

WRITE

寫操作相關的信息,例如更新(update)的命令。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

查詢日志詳細等級

 

MongoDB將日志詳細等級划分為0~5

1.  0 是MongoDB日志的的默認級別,會包含 Informational  類信息。

2.  1~5 是調試級別,會記錄客戶端所有的完整請求

查詢日志詳細等級的命令。

 db.getLogComponents()

 

修改日志詳細等級

 

修改日志詳細等級的途徑有兩種。

第一種 設置logComponentVerbosity 參數來進行修改。

另外還需說明的一點是日志分類還可以進一步細化,

例如:將systemLog 整體設置為1,其中 query 子項 和storage子項 設置為2,而子項storage的子項設置journal再設置為1。

 修改的具體命令為:

 

db.adminCommand( {

   setParameter: 1,

   logComponentVerbosity: {

      verbosity: 1,

      query: {

         verbosity: 2

      },

      storage: {

         verbosity: 2,

         journal: {

            verbosity: 1

         }

      }

   }

} )

 

第二種方法,通過 db.setLogLevel()進行修改。

 此種方法多是針對單一的日志類別進行修改。另外還有一點需要特別指出,我們有時候會通過db.getLogComponents() 看到級別日志級別為-1,其實-1,代表和其父類別的等級一樣。

 例如,我們將query類別的日志的詳細級別設置為父類( systemLog)的日志詳細級別,可以執行以下命令:


db.setLogLevel(-1, "query")

 

上面的兩種方法都是修改,那么能否初始化是就配置呢?其實是可以的,我們只需要在初始配置文件中加入相應的參數就可以了,在此不再展開。

 

本文版權歸作者所有,未經作者同意不得轉載,謝謝配合!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM