mtools是一組幫助腳本,可用於解析、過濾和可視化MongoDB的日誌文件(mongod,mongos)。 mtools還包括mlaunch,您可以使用mlaunch可以在本地設備上快速搭建複雜的MongoDB測試環境。
- mtools介紹與安裝
- - 工具簡介
- - 免責聲明
- - 安裝
- 前提條件
- 使用pip安裝
- 通過源碼安裝
- 依賴項說明
- - psutil
- -pymongo
- - matplotlib
- - numpy
文章來源:MongoDB中文社區(mongoing.com)一個mongoers都會來的技術社區。
工具簡介
- mlogfilter
按時間分割日誌文件、合併日誌文件、過濾慢查詢、查找全表掃描、縮短日誌行、按其他屬性過濾,支持轉換為JSON格式。
- mloginfo
返回有關日誌文件的信息,如開始和結束時間、版本、二進制文件,還有重啟,連接,去重視圖等一些特殊部分。
- mplotqueries
使用不同類型的圖表對日誌文件進行可視化。(依賴於matplotlib)
- mlogvis
創建一個可在Web瀏覽器中提供交互式展現的獨立HTML文件。(可替代mplotqueries)
- mlaunch
一個快速搭建本地測試環境的腳本,包括單節點、副本集和分片集群系統(依賴於pymongo)。
mtools源代碼在GitHub上以Apache 2.0許可證提供。
免責聲明
MongoDB,Inc.在任何商業訂閱或其他方面均不支持該軟件。使用mtools的風險由您自行承擔。您可以在GitHub上的Issues部分中發佈錯誤報告、功能請求及遇到的問題。
安裝
mtools合集是用python編寫的,大多數工具只使用Python附帶的標準軟件包。該工具目前使用Python 2.7和3.6進行過測試。
mtools中的某些工具在使用時需要依賴項,具體依賴項在工具介紹中均有說明。
mtools僅使用當前提供支持的(非生命終止)MongoDB版本上進行過測試。截至2018年4月,包括MongoDB 3.2或更新版本。
前提條件
您需要安裝Python 2.7.x或3.6.x才能使用mtools。目前不支持其他版本的Python。
您可以在命令行上運行python --version來檢查Python的版本。
使用pip安裝
安裝mtools的最簡單方法是通過pip安裝。在命令行中運行:
sudo pip install mtools
您需要安裝了pip才能使用該命令。如果您還沒有安裝pip,請首先從命令行嘗試運行sudo easy_install pip來安裝,或者按照
pip installation page
中的說明進行操作。
譯者注:簡化內容,加入sudo執行安裝避免權限不足引發的問題。
通過源碼安裝
如果pip不可用,而且您想通過源碼安裝mtools,則可以通過克隆mtools的github倉庫
來獲取源代碼。
git clone git://github.com/rueckstiess/mtools.git
您也可以從PyPI下載tar壓縮包,並使用以下命令解壓縮:
tar xzvf mtools-.tar.gz
然後使用cd命令進入mtools目錄並運行以下命令:
sudo python setup.py install
該操作會將mtools安裝到python的site-packages文件夾中,創建腳本鏈接並設置所有內容。您現在應該可以直接從命令行使用所有腳本。
譯者注:您還需要安裝依賴項,詳情請參見下文的依賴項說明。
依賴項說明
您可以在 requirements.txt 文件中獲取完整的依賴項列表。
其中一些已包含在Python標準庫中。
- 要安裝所有依賴項以獲得完整功能支持,請運行以下命令:
pip install mtools[all]
- 要為mtools中的某個子集安裝依賴項,請指定一個或多個腳本名稱,以逗號分隔,命令如下:
pip install mtools[mlaunch,mloginfo]
譯者注:直接使用pip install mtool[all]或pip install mtools[mlaunch,mloginfo]命令安裝依賴項時,可能出現報錯。建議訪問各類插件的官網,手動安裝需求列表中的各類插件,例如pip install psutil。
psutil
mlaunch所需的依賴項
psutil:管理啟動、停止和查找MongoDB進程。
pymongo
mlaunch所需的依賴項
pymongo:MongoDB官方Python驅動程序,mlaunch使用它來配置和查詢本地MongoDB部署。
matplotlib
mplotqueries所需的依賴項
matplotlib:python 2D繪圖庫,可以生成各種格式的圖表以及提供跨平臺的交互式環境。
numpy
matplotlib(mplotqueries)所需的依賴項
numpy:用於科學計算和數值計算的Python模塊。
原文鏈接如下,合併為一個文檔,剩餘文檔後續輸出:
- http://blog.rueckstiess.com/mtools/index.html
- http://blog.rueckstiess.com/mtools/install.html
譯者:桂陳
TW一枚,熟悉計算機網絡方向,數據庫技術的學習者。