完全自分用です
mongotopなんかのhelp見ると--authenticationDatabase(dbを指定?)ってのがあったんですが
いまいち使い方わかってなかったのでメモ
はじめに
mongotopをおもむろに-hでヘルプ見てみます
View live MongoDB collection statistics. options: --help produce help message -v [ --verbose ] be more verbose (include multiple times for more verbosity e.g. -vvvvv) --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 --locks use db lock info instead of top
--authenticationDatabaseはDBを指定すればよいのね、ってことでこんな感じで指定してみました
が、エラー。。。。
# mongotop -u hogeuser -p hogepass --authenticationDatabase hogedb connected to: 127.0.0.1 error: { ok: 0.0, errmsg: "unauthorized" } error: { ok: 0.0, errmsg: "unauthorized" }
結論
mongotop、mongostatはadmin DBを指定しなければいけないらしく
- --authenticationDatabase…admin DB名
- -u…admin DBのユーザ名
- -p…admin DBのパスワード
と指定することで動きました
mongotop
使い方
mongotop -u adminユーザ名 -p adminパスワード --authenticationDatabase adminデータベース名
使用例
# mongotop -u adminユーザ名 -p adminパスワード --authenticationDatabase admin connected to: 127.0.0.1 ns total read write 2014-03-10T03:57:00 local.oplog.rs 2ms 1ms 1ms local.slaves 1ms 0ms 1ms hoge.test_201402 0ms 0ms 0ms hoge.test_201403 0ms 0ms 0ms hoge.test_play_201402 0ms 0ms 0ms hoge.test_play_201403 0ms 0ms 0ms hoge.item_201401 0ms 0ms 0ms ns total read write 2014-03-10T03:57:01 hoge.test_201402 0ms 0ms 0ms hoge.test_201403 0ms 0ms 0ms hoge.test_play_201402 0ms 0ms 0ms hoge.test_play_201403 0ms 0ms 0ms hoge.item_201402 0ms 0ms 0ms hoge.item_201403 0ms 0ms 0ms ns total read write 2014-03-10T03:57:02 hoge.quest_1_201403 17ms 0ms 17ms hoge.item_201403 2ms 0ms 2ms local.oplog.rs 1ms 1ms 0ms hoge.test_201402 0ms 0ms 0ms hoge.test_201403 0ms 0ms 0ms hoge.test_play_201402 0ms 0ms 0ms hoge.test_play_201403 0ms 0ms 0ms ns total read write 2014-03-10T03:57:03 hoge.card_201403 27ms 0ms 27ms local.oplog.rs 1ms 1ms 0ms hoge.test_201402 0ms 0ms 0ms hoge.test_201403 0ms 0ms 0ms hoge.test_play_201402 0ms 0ms 0ms hoge.test_play_201403 0ms 0ms 0ms hoge.item_201402 0ms 0ms 0ms
mongostat
使い方
mongostat -u adminユーザ名 -p adminパスワード --authenticationDatabase adminデータベース名
使用例
# mongostat -u adminユーザ名 -p adminパスワード --authenticationDatabase admin connected to: 127.0.0.1 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 8 *0 1 *0 12 7|0 0 106g 214g 3.41g 0 .:0.6% 0 0|0 0|0 8k 11k 27 repl PRI 13:16:23 21 *0 1 *0 18 4|0 0 106g 214g 3.41g 2 hogedb:1.1% 0 0|0 0|0 16k 21k 27 repl PRI 13:16:24 1 *0 1 *0 2 3|0 0 106g 214g 3.41g 0 .:0.7% 0 0|0 0|0 1k 4k 27 repl PRI 13:16:25 1 *0 1 *0 2 2|0 0 106g 214g 3.41g 0 .:11.1% 0 0|0 0|0 857b 4k 27 repl PRI 13:16:26 58 *0 1 *0 22 5|0 0 106g 214g 3.42g 0 hogedb:0.7% 0 0|0 0|0 47k 55k 27 repl PRI 13:16:27 17 *0 1 *0 10 2|0 0 106g 214g 3.42g 1 hogedb:2.1% 0 0|0 0|0 11k 16k 27 repl PRI 13:16:28 38 *0 *0 *0 15 3|0 0 106g 214g 3.42g 1 hogedb:1.3% 0 0|0 0|0 25k 31k 27 repl PRI 13:16:29 *0 *0 1 *0 0 1|0 0 106g 214g 3.41g 0 local:0.1% 0 0|0 0|0 62b 3k 27 repl PRI 13:16:30 *0 *0 *0 *0 0 2|0 0 106g 214g 3.41g 0 local:0.0% 0 0|0 0|0 189b 3k 27 repl PRI 13:16:31 42 *0 1 *0 18 2|0 0 106g 214g 3.42g 2 hogedb:1.8% 0 0|0 0|0 29k 36k 27 repl PRI 13:16:32 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 106g 214g 3.41g 0 .:0.1% 0 0|0 0|0 189b 3k 27 repl PRI 13:16:33 9 *0 1 *0 11 5|0 0 106g 214g 3.42g 0 hogedb:0.3% 0 0|0 0|0 8k 12k 27 repl PRI 13:16:34 23 4 1 *0 14 5|0 0 106g 214g 3.42g 0 hogedb:0.7% 0 0|0 0|0 18k 23k 27 repl PRI 13:16:35 10 *0 1 *0 5 2|0 0 106g 214g 3.42g 0 .:0.5% 0 0|0 0|0 9k 13k 27 repl PRI 13:16:36 *0 *0 *0 *0 0 2|0 0 106g 214g 3.41g 0 local:0.0% 0 0|0 0|0 189b 3k 27 repl PRI 13:16:37 55 *0 *0 *0 21 3|0 0 106g 214g 3.42g 1 hogedb:1.5% 0 0|0 0|0 44k 52k 27 repl PRI 13:16:38 49 *0 1 *0 13 3|0 0 106g 214g 3.42g 0 hogedb:0.4% 0 0|0 0|0 30k 37k 27 repl PRI 13:16:39
db.serverStatus()
ついで的にserverStatusも。
結果が長いのでjsでの出力 -> リダイレクトでファイル書き出しを行って表示してみます
使用例
- db.serverStatus.js
1行だけですがw
printjson(db.serverStatus());
結果
# mongo admin -u adminユーザ名 -p adminパスワード db.serverStatus.js > db.serverStatus.txt ※結果表示 # cat db.serverStatus.txt MongoDB shell version: 2.4.8 connecting to: admin { "host" : "hoge.com", "version" : "2.4.8", "process" : "mongod", "pid" : 13116, "uptime" : 3547461, "uptimeMillis" : NumberLong("3547460577"), "uptimeEstimate" : 3514414, "localTime" : ISODate("2014-03-10T05:12:06.214Z"), "asserts" : { ・・・省略・・・ }, "preload" : { "docs" : { "num" : 0, "totalMillis" : 0 }, "indexes" : { "num" : 0, "totalMillis" : 0 } } }, "ttl" : { "deletedDocuments" : NumberLong(0), "passes" : NumberLong(59122) } }, "ok" : 1 }
最初は見たいDB名を指定してしまってましたが、全部admin指定なんですね
なるほどなるほど。