sh.status()
定義
sh.status()
mongos
インスタンスで実行すると、シャーディング構成のフォーマットされたレポートと、 シャーディングされたクラスター 内の既存のチャンクに関する情報が出力されます。 デフォルトの動作では、チャンクの合計数が20以上の場合、チャンクの詳細情報は表示されません。sh.status()
メソッドには次のパラメータがあります。Parameterタイプ説明verbose
ブール値任意。冗長レベルを決定します。
true
の場合、メソッドは次のように表示されます。チャンクが 20 個以上ある場合も含めた、シャード間のチャンク分散の完全な詳細および各シャード上のチャンク数。
false
の場合、メソッドは次のように表示されます。チャンクが 20 個未満の場合にのみ、シャード間のチャンク分散の完全な詳細チャンクが 20 個以上ある場合、このメソッドは代わりに
too many chunks to print ...
メッセージを返し、各シャード上のチャンク数のみを表示します。
デフォルトの冗長の値は
false
です。
出力例
[シャーディング バージョン ]セクションには、コンフィギュレーションデータベースに関する情報が表示されます。
--- Sharding Status --- sharding version: { "_id" : <num>, "minCompatibleVersion" : <num>, "currentVersion" : <num>, "clusterId" : <ObjectId> }
[シャード] セクションには、シャードに関する情報が表示されます。また、各シャードについて、名前、ホスト、および関連付けられているタグ(存在する場合)が表示されます。
shards: { "_id" : <shard name1>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } { "_id" : <shard name2>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } ...
[アクティブなmongos
インスタンス ]セクションには、デフォルトで、過去60秒以内にアクティブになったmongos
インスタンスのバージョンと数に関する情報が表示されます。
active mongoses: <version> : <num>
verbose
パラメータを true にしてメソッドを実行すると、アクティブなmongos
インスタンス セクションに追加情報が表示されます。
active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> }
[自動分割 ]には、自動分割が有効になっているかどうかに関する情報が表示されます。
autosplit: Currently enabled: <yes|no>
[バランサー] セクションには、バランサーの状態に関する情報が表示されます。バランサーの現在の操作に関する洞察が得られ、バランスが取れていないシャーディングされたクラスターのトラブルシューティングに役立ちます。
balancer: Currently enabled: yes Currently running: yes Collections with active migrations: config.system.sessions started at Fri May 15 2020 17:38:12 GMT-0400 (EDT) Failed balancer rounds in last 5 attempts: 0 Migration Results for the last 24 hours: 416 : Success 1 : Failed with error 'aborted', from shardA to shardB
[データベース] セクションには、データベースに関する情報が表示されます。 各データベースのセクションには、名前、データベースでシャーディングが有効になっているかどうか、およびデータベースのプライマリシャードが表示されます。
databases: { "_id" : <dbname1>, "primary" : <string>, "partitioned" : <boolean>, "version": <document> } { "_id" : <dbname2>, "primary" : <string>, "partitioned" : <boolean>, "version": <document> } ...
シャーディングされたコレクションセクションでは、シャーディングされたコレクションのシャーディングの詳細に関する情報が提供されます。各シャーディングされたコレクションそれぞれに対して、セクションには、シャードキー、シャードあたりのチャンク数、シャード間のチャンクの分散 [1]、およびシャードキー範囲のタグ情報(存在する場合)が表示されます。
<dbname>.<collection> shard key: { <shard key> : <1 or hashed> } unique: <boolean> balancing: <boolean> chunks: <shard name1> <number of chunks> <shard name2> <number of chunks> ... { <shard key>: <min range1> } -->> { <shard key> : <max range1> } on : <shard name> <last modified timestamp> { <shard key>: <min range2> } -->> { <shard key> : <max range2> } on : <shard name> <last modified timestamp> ... tag: <tag1> { <shard key> : <min range1> } -->> { <shard key> : <max range1> } ...
出力フィールド
シャーディング バージョン
sh.status.sharding-version._id
_id
は、バージョンの詳細の識別子です。
sh.status.sharding-version.minCompatibleVersion
minCompatibleVersion
は互換性のあるコンフィギュレーションサーバーの最小バージョンです。
sh.status.sharding-version.currentVersion
currentVersion
はコンフィギュレーションサーバーの現在のバージョンです。
sh.status.sharding-version.clusterId
clusterId
は、シャーディングされたクラスターの ID です。
アクティブなmongos
インスタンス
バージョン 3.2 で追加。
sh.status.active-mongoses
verbose
がfalse
の場合、sh.status.active-mongoses
にはアクティブなmongos
インスタンスのバージョンと数が表示されます。 アクティブなmongos
インスタンスは、過去60秒以内に ping されたmongos
インスタンスです。verbose
がtrue
の場合、 はアクティブなmongos
インスタンスごとに返します。ホスト名とポート。
インスタンスの完全修飾ドメイン名(FQDN)の配列。
MongoDB のバージョン
最新の ping 日時。
最後の ping 以降のアップタイム。
待機状態。
active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> } ...
Autosplit
sh.status.autosplit
sh.status.autosplit
自動分割が現在有効になっているかどうかを示します。
注意
MongoDB 4.2 以降:
balancerStart
コマンドとmongo
shellヘルパー メソッドsh.startBalancer()
とsh.setBalancerState(true)
も、シャーディングされたクラスターの自動分割を有効にします。To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit()
.balancerStop
コマンドとmongo
shellヘルパー メソッドsh.stopBalancer()
およびsh.setBalancerState(false)
も、シャーディングされたクラスターの自動分割を無効にします。To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit()
.
mongo
メソッドsh.enableBalancing(namespace)
とsh.disableBalancing(namespace)
は自動分割には影響しません。
シャード
sh.status.shards._id
_id
にはシャード名が表示されます。
sh.status.shards.host
host
にはシャードのホストロケーションが表示されます。
sh.status.shards.tags
tags
にはシャードのすべてのタグが表示されます。 このフィールドは、シャードに タグ がある場合にのみ表示されます。
sh.status.shards.state
バージョン 3.4 で追加。
state
には次の内容が表示されます。0
シャードがシャード認識されていない場合。1
シャードがシャード認識されている場合。
バランサー
注意
MongoDB 4.2 以降:
balancerStart
コマンドとmongo
shellヘルパー メソッドsh.startBalancer()
とsh.setBalancerState(true)
も、シャーディングされたクラスターの自動分割を有効にします。To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit()
.balancerStop
コマンドとmongo
shellヘルパー メソッドsh.stopBalancer()
およびsh.setBalancerState(false)
も、シャーディングされたクラスターの自動分割を無効にします。To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit()
.
mongo
メソッドsh.enableBalancing(namespace)
とsh.disableBalancing(namespace)
は自動分割には影響しません。
sh.status.balancer.currently-enabled
currently-enabled
は、シャーディングされたクラスターでバランサーが現在有効になっているかどうかを示します。
sh.status.balancer.currently-running
currently-running
は、バランサーが現在実行中かどうか、およびクラスターの現在バランシングが実行されているかどうかを示します。
sh.status.balancer.collections-with-active-migrations
collections-with-active-migrations
では、アクティブな移行があるすべてのコレクションの名前が一覧表示され、移行がいつ開始されたかを指定します。 アクティブな移行がない場合、このフィールドはsh.status()
出力に表示されません。
sh.status.balancer.failed-balancer-rounds-in-last-5-attempts
failed-balancer-rounds-in-last-5-attempts
には、最近試行された 5 ラウンドのうち、失敗したバランサー ラウンドの数が表示されます。チャンクの移行が失敗すると、バランサー ラウンドは失敗します。
sh.status.balancer.last-reported-error
last-reported-error
には最新のバランサー エラー メッセージが表示されます。 エラーが発生していない場合、このフィールドはsh.status()
の出力に表示されません。
sh.status.balancer.time-of-reported-error
time-of-reported-error
は、直近に報告されたエラーの日時を提供します。
sh.status.balancer.migration-results-for-the-last-24-hours
migration-results-for-the-last-24-hours
には、過去 24 時間の移行の数と、失敗した移行からのエラー メッセージが表示されます。直近で移行が行われていない場合、migration-results-for-the-last-24-hours
にはNo recent migrations
が表示されます。migration-results-for-the-last-24-hours
にはバランサーによって開始されていない移行を含む、すべての移行が含まれます。
Databases
sh.status.databases._id
_id
にはデータベース名が表示されます。
sh.status.databases.partitioned
partitioned
には、データベースでシャーディングが有効になっているかどうかが表示されます。true
の場合、データベースでシャーディングが有効になっています。
sh.status.databases.version
version
にはデータベースのバージョン情報が表示されます。{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 } 以下の条件に一致するもの。
uuid
が、データベース識別子です。lastMod
はデータベースのバージョンです。
シャーディングされたコレクション
sh.status.databases.<collection>.shard-key
shard-key
にはシャードキー仕様ドキュメントが表示されます。
sh.status.databases.<collection>.unique
unique
には、MongoDB がシャードキー値( 基礎となるシャードキー インデックスが一意であるかどうか)。バージョン 3.2 で追加。
sh.status.databases.<collection>.balancing
バランサーがコレクションのバランスをとれるかどうかを表示。 バランサーが有効になっており、このステータスが
true
を返す場合、バランサーはバランサー操作にこのコレクションを含めます。 ステータスがfalse
を返す場合、バランサーがこのコレクション内のデータをバランス調整していないことを示します。バージョン 3.2 で追加。
sh.status.databases.<collection>.chunks
chunks
には、すべてのシャードと各シャードにあるチャンクの数が一覧表示されます。
sh.status.databases.<collection>.chunk-details
chunk-details
には次のようなチャンク [1] の詳細が一覧化されます。チャンクを定義するシャードキー値の範囲、
チャンクが存在するシャード、および
チャンクの最終変更タイムスタンプ。
sh.status.databases.<collection>.tag
tag
には、シャード キー値の範囲に関連付けられたタグの詳細が一覧表示されます。
[1] | ( 1 、 2 )シャーディングされたコレクション セクションには、デフォルトでは、チャンクの合計数が20未満の場合、チャンク情報が表示されます。 20以上のチャンクがあるときに 情報を表示するには、 verbose パラメータをtrue (つまりsh.status(true) )に設定してsh.status() メソッドを呼び出します。 |