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-<version>.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一枚,熟悉计算机网络方向,数据库技术的学习者。