mongostatのdiscoverオプションはエライ台数のmongoDBクラスタでは必須ですおの巻
以外にしらないんじゃないかなっと。
MongoDBの情報取るのに、mongostatってコマンドがあります。
すごい便利なコマンドなんですが、mongoDBの台数が多くなってくるとだんだんめんどくさくなってきますよね。
mongostatはdiscoverオプションが便利すぎるので、紹介。
1台ずつ指定
まずはオーソドックスに1台ずつ指定していきます。
$ mongostat --host 192.168.0.11:27018,192.168.0.12:27018 insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn set repl time 192.168.0.11:27018 0 540 167 0 258 671 0 36.1g 79.2g 14.5g 1 2.5 0 0|0 1|0 121k 1m 6116 RSTest1001 M 19:44:50 192.168.0.12:27018 0 469 215 0 313 639 0 30.1g 66.8g 15.5g 0 2.7 0 0|0 1|0 128k 984k 5504 RSTest1002 M 19:44:50 192.168.0.11:27018 0 531 154 0 237 561 0 36.1g 79.2g 14.6g 0 1.9 0 0|0 2|0 113k 1m 6116 RSTest1001 M 19:44:51 192.168.0.12:27018 0 471 178 0 278 536 0 30.1g 66.8g 15.5g 2 3.6 0 0|0 2|0 119k 1m 5504 RSTest1002 M 19:44:51 192.168.0.11:27018 0 580 174 0 252 654 0 36.1g 79.2g 14.5g 1 2.4 0 0|0 2|0 134k 1m 6116 RSTest1001 M 19:44:52 192.168.0.12:27018 0 524 238 0 317 665 0 30.1g 66.8g 15.5g 1 2.8 0 0|0 2|0 139k 1m 5504 RSTest1002 M 19:44:52 (snip)
でも、そのうち、
$ mongostat --host 192.168.0.11:27018,192.168.0.12:27018,192.168.0.13:27018,192.168.0.14:27018,192.168.0.15:27018,192.168.0.16:27018,192.168.0.17:27018,192.168.0.18:27018
って、これ多いわwww
ってなるタイミングがあると思います。
ウンウン辛いよね。わかるよ。
discoverオプション
これ、凄い便利です。勝手に指定したサーバが、
- レプリカセットのメンバーなら各レプリカセットのメンバーをすべて取得する。
- mongosにかけると、このmongosが管理しているシャードメンバーをすべて取得する
事ができます。
レプリカセットの場合
$ mongostat --discover --host 192.168.0.11:27018 connected to: 192.168.0.11:27018 insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn set repl time 192.168.0.41:27018 0 747 228 0 325 832 0 36.1g 79.2g 14.5g 1 3.6 0 0|0 2|0 163k 1m 6117 RSTest001 M 19:50:06 192.168.0.41:27018 0 612 180 0 273 654 0 36.1g 79.2g 14.6g 2 2.9 0 0|0 2|0 137k 1m 6117 RSTest001 M 19:50:07 192.168.0.51:27018 no data 192.168.0.61:27018 no data 192.168.0.41:27018 0 677 173 0 269 669 0 36.1g 79.2g 14.5g 0 2.2 0 0|0 2|0 136k 1m 6117 RSTest001 M 19:50:08 192.168.0.51:27018 *0 *0 *170 *0 0 23|0 0 32.1g 64.9g 14.4g 0 2 0 0|0 0|0 1k 11k 237 RSTest001 SEC 19:50:08 192.168.0.61:27018 *0 *0 *165 *0 0 25|0 0 34.1g 68.9g 14.2g 1 2.2 0 0|0 0|0 1k 12k 237 RSTest001 SEC 19:50:08 192.168.0.41:27018 0 473 172 0 255 631 0 36.1g 79.2g 14.5g 2 3.2 0 0|0 2|0 115k 924k 6117 RSTest001 M 19:50:09 192.168.0.51:27018 *0 *0 *174 *0 0 37|0 0 32.1g 64.9g 14.4g 2 2.6 0 0|0 0|0 2k 17k 237 RSTest001 SEC 19:50:09 192.168.0.61:27018 *0 *0 *179 *0 0 36|0 0 34.1g 68.9g 14.2g 1 2.4 0 0|0 0|0 2k 17k 237 RSTest001 SEC 19:50:09 192.168.0.41:27018 0 646 162 0 254 671 0 36.1g 79.2g 14.5g 0 2.1 0 0|0 2|0 138k 1m 6117 RSTest001 M 19:50:10 192.168.0.51:27018 *0 *0 *162 *0 0 23|0 0 32.1g 64.9g 14.4g 0 2 0 0|0 0|0 1k 11k 237 RSTest001 SEC 19:50:10 192.168.0.61:27018 *0 *0 *161 *0 0 24|0 0 34.1g 68.9g 14.2g 1 2.3 0 0|0 0|0 1k 12k 237 RSTest001 SEC 19:50:10
mongosの場合
こんな感じです、超大量なので一部。
これでクラスタに所属しているサーバすべての状況を見ることができます。
$ mongostat --discover --host 192.168.0.200:27017 connected to: 192.168.0.200:27017 insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn set repl time (snip) 192.168.0.72:27018 *0 *0 *206 *0 0 27|0 0 18.1g 36.9g 13.1g 0 2.3 0 0|0 0|0 1k 13k 238 RSTest24 SEC 19:53:04 192.168.0.72:27019 *0 *0 *45 *0 0 24|0 0 20.1g 40.9g 8.32g 1 2 0 0|0 0|0 1k 12k 238 RSTest24 SEC 19:53:04 192.168.0.73:27018 0 367 186 0 263 498 0 18.1g 42.3g 13.5g 0 2.2 0 0|0 2|0 97k 1m 5538 RSTest25 M 19:53:04 192.168.0.73:27019 0 149 69 0 112 257 0 18.1g 42g 7.61g 1 1.9 0 0|0 2|0 47k 1m 5355 RSTest25 M 19:53:04 192.168.0.74:27018 *1 *0 *185 *0 0 25|0 0 18.1g 36.9g 13.6g 1 2.9 0 0|0 0|0 1k 12k 238 RSTest25 SEC 19:53:04 192.168.0.74:27019 *0 *0 *69 *0 0 24|0 0 18.1g 36.9g 7.99g 1 2.8 0 0|0 0|0 1k 12k 238 RSTest25 SEC 19:53:04 192.168.0.75:27018 *1 *0 *185 *0 0 27|0 0 18.1g 37g 12.7g 0 2.2 0 0|0 0|0 1k 13k 238 RSTest25 SEC 19:53:04 192.168.0.75:27019 *0 *0 *69 *0 0 25|0 0 18.1g 36.9g 8.63g 0 1.4 0 0|0 0|0 1k 12k 238 RSTest25 SEC 19:53:04 192.168.0.76:27018 0 324 221 0 298 508 0 18.1g 42.3g 13.5g 0 2.5 0 0|0 2|0 102k 1m 5485 RSTest26 M 19:53:04 192.168.0.76:27019 *0 *0 *46 *0 0 24|0 0 18.1g 36.9g 7.85g 0 0.8 0 0|0 0|0 1k 12k 238 RSTest26 SEC 19:53:04 192.168.0.77:27018 *0 *0 *222 *0 0 26|0 0 18.1g 36.9g 13.6g 1 2.4 0 0|0 0|0 1k 13k 238 RSTest26 SEC 19:53:04 192.168.0.77:27019 0 120 46 0 77 195 0 18.1g 42.1g 7.74g 0 0.9 0 0|0 2|0 35k 837k 5368 RSTest26 M 19:53:04 192.168.0.78:27018 *0 *0 *222 *0 0 26|0 0 18.1g 36.9g 13.2g 0 2.1 0 0|0 0|0 1k 13k 238 RSTest26 SEC 19:53:04 192.168.0.78:27019 *0 *0 *46 *0 0 23|0 0 18.1g 36.9g 8.26g 0 1 0 0|0 0|0 1k 11k 238 RSTest26 SEC 19:53:04 (snip)
基本的にはマスターの動作を見たいことが多いので、grepでMなど入れてみるのが良いですね。
$ mongostat --discover --host 192.168.0.200:27017 | grep M connected to: 192.168.0.200:27017 insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn set repl time (snip) 192.168.0.73:27018 0 367 186 0 263 498 0 18.1g 42.3g 13.5g 0 2.2 0 0|0 2|0 97k 1m 5538 RSTest25 M 19:53:04 192.168.0.73:27019 0 149 69 0 112 257 0 18.1g 42g 7.61g 1 1.9 0 0|0 2|0 47k 1m 5355 RSTest25 M 19:53:04 192.168.0.76:27018 0 324 221 0 298 508 0 18.1g 42.3g 13.5g 0 2.5 0 0|0 2|0 102k 1m 5485 RSTest26 M 19:53:04 192.168.0.77:27019 0 120 46 0 77 195 0 18.1g 42.1g 7.74g 0 0.9 0 0|0 2|0 35k 837k 5368 RSTest27 M 19:53:04 (snip)
以上です
小ネタでした。今度MongoDB Casualやる事になっておりますので、もうすぐに告知する予定ですので、是非参加よろしくお願いしまーす!((そろそろ準備しないと、、、(;´Д`)))
れっつらもんご!
- 作者: Kristina Chodorow,Michael Dirolf
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2010/09/23
- メディア: ペーパーバック
- クリック: 34回
- この商品を含むブログ (8件) を見る