1. 程式人生 > >使用Mtools分析MongoDB日誌檔案

使用Mtools分析MongoDB日誌檔案

https://github.com/rueckstiess/mtools/issues

一 Mtools介紹

  mtools是一組用來解析和過濾MongoDB日誌檔案的指令碼。mtools包括以下幾個工具:

  mlogfilter    可以根據時間切割日誌檔案,過濾慢查詢等

  mloginfo      返回日誌檔案資訊,比如開始和結束時間等

  mplotqueries   對日誌檔案進行檢視展現

  mlogvis      建立一個自定義html檔案互動式展現

  mlaunch      快速搭建本地測試環境,包括複製集合分片系統

  mtools是用python寫的,需要python2.6或者python2.7,目前不相容python3

二 Mtools使用

1.安裝mtools

 可以使用pip直接安裝mtools

 yum install python-devel

 pip install numpy

 pip install python-matplotlib

1 pip install mtools

或者直接下載安裝

1 2 3 wget https://pypi.python.org/packages/25/fe/c9375c462c9f0592407695bb5ce784866ce7b5336b8d66141e1f3250cf1f/mtools-1
.2.2.tar.gz tar zxvf mtools-1.2.2.tar.gz python setup.py install

2.mlogfilter

mlogfilter用於解析日誌,如果有多個日誌檔案,mlogfilter按照時間戳合併

1 mlogfilter mongod.log --slow --json | mongoimport -d test -c mycoll

分析慢查詢並以json格式匯出並匯入到test庫的mycoll集合中

1 mlogfilter /opt/logs/mongodb/*.log --slow  --json

檢視某個庫的某個集合的慢查詢, --slow可以指定慢查詢時間為多少毫秒

1 mlogfilter mongod.log --namespace admin.\$cmd --slow 1000

檢視某一個操作型別的慢查詢,一次只能指定一個操作型別,可以是query,insert,update,delete,command,getmore

1 mlogfilter /opt/logs/mongodb/*.log --slow  1000  --namespace order.bill   --operation query

根據某一個執行緒的檢視慢查詢

1 mlogfilter /opt/logs/mongodb/*.log --slow  1000  --namespace order.bill   --operation query  --thread conn1317475

--parttern P  根據匹配條件查詢日誌