使用Mtools分析MongoDB日誌檔案
阿新 • • 發佈:2018-12-24
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 根據匹配條件查詢日誌