MongoDB mongostat、mongostop、およびリアルタイムモニタツールmotop

7884 ワード

MongoDBにはmongostatとmongotopの2つのコマンドが用意されており、MongoDBの動作を監視しています.この2つのコマンドは、MongoDBデータベースの処理が遅くなるなどの問題を処理するのに役立ち、MongoDBの現在のステータス情報を詳細に統計することができます.それ以外にdbを用いることもできる.serverStatus()、db.stats()、profile機能をオンにしてログを表示してモニタリング分析を行います.
一、mongotop
mongotopは、MongoDBのインスタンスを追跡し、各セットの統計データを提供するために使用されます.デフォルトではmongotopは1秒ごとにリフレッシュされます.
./bin/mongotop --help
View live MongoDB collection statistics.

Options:
  --help                                      
  -v [ --verbose ]                      be more verbose (include multiple times
                                        for more verbosity e.g. -vvvvv)
  --quiet                               silence all non error diagnostic 
                                        messages
  --version                                
  -h [ --host ] arg                         ( <set name>/s1,s2 for sets)
  --port arg                                ,      --host hostname:port
  --ipv6                                  IPV6,    
  -u [ --username ] arg                    
  -p [ --password ] arg                   
  --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
  --locks                                        
は次のとおりです.
                            ns       total        read       write              2015-03-21T04:27:30
                User.User.user         0ms         0ms         0ms
           User.system.indexes         0ms         0ms         0ms
        User.system.namespaces         0ms         0ms         0ms
                     User.user         0ms         0ms         0ms
          admin.system.indexes         0ms         0ms         0ms
            admin.system.roles         0ms         0ms         0ms
            admin.system.users         0ms         0ms         0ms
出力フィールドの説明:
ns:データベース名空間.後者はデータベース名と集合を結合します.
db:データベースの名前.名前のデータベースは、特定のデータベースではなくグローバルにロックされます.
total:mongodがこのコマンドスペースに費やした総時間.
read:このコマンド空間でmongodが読み取り操作を実行するのにかかる時間.
write:このネーミングスペースでmongodが書き込み操作にかかる時間.
二、mongostatは毎秒1回状態値をリフレッシュし、良好な可読性を提供し、これらのパラメータによって全体的な性能状況を観察することができる.
 ./bin/mongostat --help
View live MongoDB performance statistics.

usage: mongostat [options] [sleep time]
sleep time: time to wait (in seconds) between calls
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

 Fields
   inserts      - # of inserts per second (* means replicated op)
   query        - # of queries per second
   update       - # of updates per second
   delete       - # of deletes per second
   getmore      - # of get mores (cursor batch) per second
   command      - # of commands per second, on a slave its local|replicated
   flushes      - # of fsync flushes per second
   mapped       - amount of data mmaped (total data size) megabytes
   vsize        - virtual size of process in megabytes
   res          - resident size of process in megabytes
   non-mapped   - amount virtual memeory less mapped memory (only with --all)
   faults       - # of pages faults per sec
   locked       - name of and percent time for most locked database
   idx miss     - percent of btree page misses (sampled)
   qr|qw        - queue lengths for clients waiting (read|write)
   ar|aw        - active clients (read|write)
   netIn        - network traffic in - bytes
   netOut       - network traffic out - bytes
   conn         - number of open connections
   set          - replica set name
   repl         - replication type 
                    PRI - primary (master)
                    SEC - secondary
                    REC - recovering
                    UNK - unknown
                    SLV - slave
              b     RTR - mongos process ("router")
は次のとおりです.
./mongostat --host 192.168.100.90:10000 -vvvvv
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn set repl time
    *0 *0 *0 *0 0 2|0 0 448m 3.22g 74m 0 test:0.0% 0 0|0 0|0 120b 4k 26 shard_a PRI 17:43:51
    *0 *0 *0 *0 0 3|0 0 448m 3.22g 74m 0 local:0.0% 0 0|0 0|0 353b 4k 26 shard_a PRI 17:43:52
    *0 *0 *0 *0 1 2|0 0 448m 3.22g 74m 0 test:0.0% 0 0|0 0|0 167b 4k 26 shard_a PRI 17:43:53
フィールドの説明:
insert:1秒あたりの挿入量
Query:1秒あたりのクエリー数
update:毎秒更新量
delete:1秒あたりの削除量
locked:ロック量
qr|qw:クライアントクエリキュー長(読み取り|書き込み)
Ar|aw:アクティブクライアント端末(読み取り|書き込み)
conn:接続数
time:現在時刻
三、リアルタイムモニタリングツールmotop mongodbリアルタイムモニタリングツールは、同時に複数のMongoDBサーバーをモニタリングすることができる.現在のアクションが表示されます.プロジェクトのアドレス:https://github.com/tart/motop1.依存パッケージpython 2.6以上pymongo 2.0以上1)をインストールeasy_を使用インストール#wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python  # easy_install motop 2)ソースコードインストール#wgethttps://github.com/tart/motop/archive/master.zip # unzip master.zip  # ./setup.py install  3.ヘルプ#motop-h 4.監視複数台#motop 192.168.124.50 192.158.124.51動作:q Quitp Pause e Explain the query k Kill operation using“mongo”executable K Kill operations older than given seconds using“mongo”executable r Try to reconnect to disconnected servers R Try to reconnect to all servers 5.プロファイルは/etc/motopで作成できます.conf.複数の構成が短いことができます.各セクションには、address:サーバのアドレス(必須)username:ログインユーザ名password:ログインユーザパスワードstatus:表示状態(デフォルトオープン)replicationInfo:レプリケーション状態(デフォルト:オープン)replicaSetの表示状態(デフォルト:オープン)operations:表示操作(デフォルト:オン)replicationOperations:マスターおよびスレーブのレプリケーション操作を継続的に表示(デフォルト:オン)DEFAULTは特殊な部分です.このセクションのパラメータはデフォルトに設定できます.構成例:[MongoDB 01]address=0.42.2.1.121 replicationOperations=off[MongoDB 02]address=0.42.2.1.122[MongoDB 03]address=0.42.2.2.1.123[MongoDB 04]address=0.42.2.2.1.124 username=foo password=bar