• mongoDB之监控工具mongostat及其参数的具体含义


      mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。

    mongostat命令格式,当然也可以加参数:

       在对应的 mongodb2.6.1的版本下,  ./mongo --help如下:

    Options:
    --help produce help message
    -v [ --verbose ] be more verbose (include multiple times
    for more verbosity e.g. -vvvvv)
    --quiet silence all non error diagnostic
    messages
    --version print the program's version and exit
    -h [ --host ] arg mongo host to connect to ( <set
    name>/s1,s2 for sets)
    --port arg server port. Can also use --host
    hostname:port
    --ipv6 enable IPv6 support (disabled by
    default)
    -u [ --username ] arg username
    -p [ --password ] arg password
    --authenticationDatabase arg user source (defaults to dbname)
    --authenticationMechanism arg (=MONGODB-CR)
    authentication mechanism
    --gssapiServiceName arg (=mongodb) Service name to use when authenticating
    using GSSAPI/Kerberos
    --gssapiHostName arg Remote host name to use for purpose of
    GSSAPI/Kerberos authentication
    --noheaders don't output column names
    -n [ --rowcount ] arg (=0) number of stats lines to print (0 for
    indefinite)
    --http use http instead of raw db connection
    --discover discover nodes and display stats for
    all
    --all all optional fields

    在第一个例子中,mongostat将返回数据的每一秒,持续20秒。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下所有调用产生相同的行为:
     
    mongostat -rowcount 20 1
    mongostat -rowcount 20
    mongostat -n 20 1
    mongostat -n 20
    在下面的例子中,mongostat返回的数据每5分钟(300秒),只要在程序运行。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。
     
    mongostat - rowcount 0 300
    mongostat -n 0 300
    mongostat 300
    在下面的例子中,mongostat返回的数据每5分钟一个小时(12次)。mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。
     
    mongostat -rowcount 12 300
    mongostat -n 12 300
    在许多情况下,使用 -discover将帮助整组机器的状态,提供更完整的快照。如果Mongos的过程中,连接到一个片式集群上运行在本地机器上的端口27017,你可以使用下面的形式从群集中的所有成员返回统计:
     

    mongostat -discover

    以上参考文档:http://cn.docs.mongodb.org/manual/reference/mongostat/ 

     主要详细说明一下各列的意义(也可以参考./mongostat --help)

    insert:     一秒内的插入数
    query :     一秒内的查询数
    update:     一秒内的更新数
    delete:     一秒内的删除数
      10条简单的查询可能比一条复杂的查询速度还快, 所以数值的大小,意义并不大。
      但至少可以知道,现在是否在处理查询,是否在插入。
      如果是slave,数值前往往有一个*, 代表是replicate操作
     
    getmore:    查询时游标(cursor)的getmore操作
      用处不大
        www.2cto.com  
    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: 当前时间

     如果在windows下的cmd窗口中执行mongostat命令时,可能由于窗口太窄,监控数据排列较乱而阻碍视觉的情况,大家可以把结果输出到一个txt文件中,然后去查看这个文件,办法是曲折了一些哈哈。

    E:mongodb-win32-x86_64-2.2.1inmongostat -n 2 > E: est.txt 

     打印2行结果到E盘的跟目录下的test.txt中。

    参考文档:http://cn.docs.mongodb.org/manual/reference/mongostat/
     
    (转自:http://www.cnblogs.com/zhuque/archive/2013/03/29/2988577.html)
     
  • 相关阅读:
    hbase全分布安装配置
    ElasticSearch概述及Linux下的单机ElasticSearch安装
    Redis 集群搭建详细指南
    spark集群安装配置
    hbase全分布安装配置
    zookeeper图形界面工具zooinspector
    storm集群安装配置
    kafka集群安装配置
    sqoop配置安装以及导入
    Flume的安装部署
  • 原文地址:https://www.cnblogs.com/unqiang/p/3736497.html
Copyright © 2020-2023  润新知