mongoDB的监控工具怎么用
mongoDB的监控工具怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
mongostat
mongostat捕捉并返回各种类型(如插入、 查询、 更新、 删除等)数据库操作的计数。这些计数展示了服务器上的负载分布。使用 mongostat 以了解操作类型的分布,并告知容量规划。详细信息请参见 mongotop manual。
mongotop
mongotop追踪并报告MongoDB实例当前的读取和写入活动,而且是基于每个集合报告这些统计数据。使用 mongotop 来检查数据库的活动和使用是否符合您的期望。详细信息请参见 mongotop manual 。
这两个工具在bin目录下:
[mongo@tstdb-25-220bin]$pwd/usr/local/mongodb/bin[mongo@tstdb-25-220bin]$ll总用量174480-rwxr-xr-x.1mongodbmon47227684月282016bsondump-rwxr-xr-x.1mongodbmon209873014月282016mongo-rwxr-xr-x.1mongodbmon367311944月282016mongod-rwxr-xr-x.1mongodbmon107962564月282016mongodump-rwxr-xr-x.1mongodbmon66072884月282016mongoexport-rwxr-xr-x.1mongodbmon64571684月282016mongofiles-rwxr-xr-x.1mongodbmon67247604月282016mongoimport-rwxr-xr-x.1mongodbmon61901764月282016mongooplog-rwxr-xr-x.1mongodbmon364365214月282016mongoperf-rwxr-xr-x.1mongodbmon135421284月282016mongorestore-rwxr-xr-x.1mongodbmon167495604月282016mongos-rwxr-xr-x.1mongodbmon64192564月282016mongostat-rwxr-xr-x.1mongodbmon62739044月282016mongotop
运行mongostat,看一下相关输出
[mongo@tstdb-25-220bin]$./mongostat-h172.16.25.225-p27017-uroot-pmongo--authenticationDatabase=admin--rowcount=101insertqueryupdatedeletegetmorecommandflushesmappedvsizeresfaultsqr|qwar|awnetInnetOutconnsetrepltime*0*0*0*003|001.2G3.3G110.0M00|00|0401b13k3moeSEC2016-11-01T10:42:59+08:00*0*0*0*001|001.2G3.3G110.0M00|00|079b12k3moeSEC2016-11-01T10:43:00+08:00*0*0*0*003|001.2G3.3G110.0M00|00|0401b13k3moeSEC2016-11-01T10:43:01+08:00*0*0*0*001|001.2G3.3G110.0M00|00|079b12k3moeSEC2016-11-01T10:43:02+08:00*0*0*0*003|001.2G3.3G110.0M00|00|0401b13k3moeSEC2016-11-01T10:43:03+08:00*0*0*0*001|001.2G3.3G110.0M00|00|079b12k3moeSEC2016-11-01T10:43:04+08:00*0*0*0*003|001.2G3.3G110.0M00|00|0401b13k3moeSEC2016-11-01T10:43:05+08:00*0*0*0*001|001.2G3.3G110.0M00|00|079b12k3moeSEC2016-11-01T10:43:06+08:00*0*0*0*003|001.2G3.3G110.0M00|00|0401b13k3moeSEC2016-11-01T10:43:07+08:00*0*0*0*001|001.2G3.3G110.0M00|00|079b12k3moeSEC2016-11-01T10:43:08+08:00
主要详细说明一下各列的意义(也可以参考./mongostat --help)
insert: 一秒内的插入数
query : 一秒内的查询数
update: 一秒内的更新数
delete: 一秒内的删除数
10条简单的查询可能比一条复杂的查询速度还快, 所以数值的大小,意义并不大。但至少可以知道,现在是否在处理查询,是否在插入。如果是slave,数值前往往有一个*, 代表是replicate操作
getmore: 查询时游标(cursor)的getmore操作
command: 一秒内执行的命令数
比如批量插入,只认为是一条命令。意义不大。如果是slave,会显示两个值, local|replicated,通过这两个数值的比较,或许可以看出点问题。
flushes: 一秒内flush的次数
一般都是0,或者1,通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。flush开销是很大的,如果频繁的flush,可能就要找找原因了。
mapped:
vsize:
res:
这个和你用top看到的一样,mapped, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。
faults:
别被这个名字吓着,大压力下这个数值往往不为0。如果经常不为0,那就该加内存了。
locked:
MongoDB就一把读写锁,这里指的是写锁所住的时间百分比。这个数值过大(经常超过10%),那就是出状况了。
idx miss:
非常重要的参数, 正常情况下,所有的查询都应该通过索引,也就是idx miss为0。如果这里数值较大,是不是缺少索引。
qr|qw: queue lengths for clients waiting (read|write)
ar|aw: active clients (read|write)
如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了。
netIn: network traffic in - bits
netOut: network traffic out - bits
网络带宽压力,一般MongoDB,网络不会成为瓶颈
conn: number of open connections
MongoDB为每一个连接创建一个线程,线程的创建和释放也是有开销的。尽量不要让这个数值很大。
repl: 服务器当前状态
M - master
SEC - secondary
REC - recovering
UNK - unknown
SLV - slave
time: 当前时间
下面看一下mongotop
[mongo@tstdb-25-220bin]$./mongotop-h172.16.25.220-p27017-uroot-pmongo--authenticationDatabase=admin2016-11-01T10:54:01.683+0800connectedto:172.16.25.220nstotalreadwrite2016-11-01T10:54:02+08:00admin.system.indexes0ms0ms0msadmin.system.js0ms0ms0msadmin.system.namespaces0ms0ms0msadmin.system.profile0ms0ms0msadmin.system.roles0ms0ms0msadmin.system.users0ms0ms0msadmin.system.version0ms0ms0mslocal.me0ms0ms0mslocal.oplog.rs0ms0ms0mslocal.replset.election0ms0ms0ms
这两个工具在测试的时候,只能选择"admin"这个数据库,选择其他的数据库,用其他库的认证账户都不行。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。