使用Mtools分析MongoDB日志文件-创新互联-成都快上网建站

使用Mtools分析MongoDB日志文件-创新互联

一 Mtools介绍

创新互联-专业网站定制、快速模板网站建设、高性价比上海网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式上海网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖上海地区。费用合理售后完善,10余年实体公司更值得信赖。

 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

 pip install mtools

或者直接下载安装

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按照时间戳合并

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

分析慢查询并以json格式导出并导入到test库的mycoll集合中

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

查看某个库的某个集合的慢查询, --slow可以指定慢查询时间为多少毫秒

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

查看某一个操作类型的慢查询,一次只能指定一个操作类型,可以是query,insert,update,delete,command,getmore

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

根据某一个线程的查看慢查询

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

--parttern P  根据匹配条件查询日志

mlogfilter mongod.log --pattern '{"_id": 1, "host": 1, "ns": 1}

这里需要注意的是,字段名称必须用双引号包围

根据关键字过滤日志

mlogfilter mongod.log --word assert warning error

根据时间范围进行日志搜索

返回所有9月份的日志

mlogfilter mongod.log --from Sep

返回5分钟之前的日志

mlogfilter mongod.log --from "now -5min"

返回当天00:00:00 到当天02:00:00 的日志

mlogfilter mongod.log --from today --to +2hours

返回当天从9:30开始的日志

mlogfilter mongod.log --from today 9:30

3.mloginfo

mloginfo可以包括日志文件的相关信息

显示日志的查询统计信息

mloginfo mongod.log --queries

对结果进行排序

mloginfo mongod.log --queries --sort count mloginfo mongod.log --queries --sort sum

显示重启信息

mloginfo mongod.log --restarts

分类显示日志消息

mloginfo mongod.log --distinct

显示连接信息

mloginfo mongod.log --connections

显示复制集信息

mloginfo mongod.log --rsstate

4.mplotqueries

mplotqueries是一个可以可视化MongoDB日志文件中的操作的工具。

-- group GROUP

group参数指定数据根据什么分组然后每组一个种颜色绘制成各种图表,默认是散点分布图

GROUP可以的值有

namespace

filename

operation

thread

log2code

pattern

mplotqueries mongod.log --group operation

创建一个散点分布图

使用Mtools分析MongoDB日志文件

mlogfilter mongod.log --operation update --namespace test.users |   mplotqueries --type histogram --group "_id: ObjectId\('([^']+)'\)"

mlogfilter先过滤所有test.users的update操作,然后根据_id分组绘制直方图

如果groups的数量太大,可以使用 --group-limit 限制前几个分组

使用Mtools分析MongoDB日志文件

mplotqueries mongod.log --type range --group log2code --group-limit 10

使用Mtools分析MongoDB日志文件

--type scatter(default)

参考文档:

https://github.com/rueckstiess/mtools

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:使用Mtools分析MongoDB日志文件-创新互联
标题链接:http://kswjz.com/article/coiedd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流