關於MongoDB數據庫的日誌解析

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

所以,頗有必要花費一些時間來學習解析一下MongoDB的日誌文件。數據庫

 

日誌信息的格式性能優化

 

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

例如 :性能

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

 

日誌信息嚴重級別優化

 

級別spa

級別描述調試

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")

 

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

 

本文版權歸做者全部,未經做者贊成不得轉載,謝謝配合!!!

相關文章
相關標籤/搜索