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>, "version": <document> } { "_id" : <dbname2>, "primary" : <string>, "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
は互換性のあるコンフィギュレーションサーバーの最小バージョンです。MongoDB 6.2 より前のバージョンでは、このフィールドは
config.version
コレクションに含まれていますが、mongosh
2.0.0 以降では、このフィールドはsh.status()
出力には返されません。MongoDB 6.2 以降では、このフィールドは削除され、mongosh
バージョンまたはその他のクライアント アプリケーションでは返されません。 代わりに、バージョン情報を取得するには、「機能の互換性バージョン(fcv)」を参照してください。
sh.status.sharding-version.currentVersion
currentVersion
はコンフィギュレーションサーバーの現在のバージョンです。MongoDB 6.2 より前のバージョンでは、このフィールドは
config.version
コレクションに含まれていますが、mongosh
2.0.0 以降では、このフィールドはsh.status()
出力には返されません。MongoDB 6.2 以降では、このフィールドは削除され、mongosh
バージョンまたはその他のクライアント アプリケーションでは返されません。 代わりに、バージョン情報を取得するには、「機能の互換性バージョン(fcv)」を参照してください。
sh.status.sharding-version.clusterId
clusterId
は、シャーディングされたクラスターの ID です。
アクティブなmongos
インスタンス
sh.status.active-mongoses
verbose
がfalse
の場合、sh.status.active-mongoses
にはアクティブなmongos
インスタンスのバージョンと数が表示されます。アクティブなmongos
インスタンスは、過去 60 秒以内に ping されたmongos
インスタンスです。verbose
がtrue
の場合、sh.status.active-mongoses
は、以下のフィールドを含むアクティブなmongos
インスタンスごとにドキュメントを返します。フィールドデータ型説明_id
文字列advisoryHostFQDNs
文字列の配列mongos
の完全修飾ドメイン名(FQDN) の配列。created
日付mongos
が開始されたとき。バージョン 5.2 で追加。
mongoVersion
文字列mongos
が実行している MongoDB のバージョン。ping
日付up
NumberLong最後の ping の時点でmongos
が起動していた秒数。waiting
ブール値このフィールドは常にtrue
であり、下位互換性のためだけに含まれています。active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "created" : <ISODate>, "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> } ...
Autosplit
sh.status.autosplit
sh.status.autosplit
自動分割が現在有効になっているかどうかを示します。
注意
MongoDB 6.0.3以降、 自動チャンク分割は実行されません。 これはバランシング ポリシーの改善によるものです。 自動分割コマンドは引き続き存在しますが、操作は実行されません。
MongoDB 6.1 より前のバージョンの場合:
balancerStart
コマンドおよびmongo
シェルヘルパー メソッドであるsh.startBalancer()
とsh.setBalancerState(true)
も、シャーディングされたクラスターの自動分割を有効にします。To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit()
.balancerStop
コマンドおよびmongo
シェルヘルパー メソッドである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
state
には次の内容が表示されます。0
シャードがシャード認識されていない場合。1
シャードがシャード認識されている場合。
バランサー
注意
MongoDB 6.0.3以降、 自動チャンク分割は実行されません。 これはバランシング ポリシーの改善によるものです。 自動分割コマンドは引き続き存在しますが、操作は実行されません。
MongoDB 6.1 より前のバージョンの場合:
balancerStart
コマンドおよびmongo
シェルヘルパー メソッドであるsh.startBalancer()
とsh.setBalancerState(true)
も、シャーディングされたクラスターの自動分割を有効にします。To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit()
.balancerStop
コマンドおよびmongo
シェルヘルパー メソッドである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.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 がシャードキー値( 基礎となるシャードキー インデックスが一意であるかどうか)。
sh.status.databases.<collection>.balancing
バランサーがコレクションのバランスをとれるかどうかを表示。 バランサーが有効になっており、このステータスが
true
を返す場合、バランサーはバランサー操作にこのコレクションを含めます。 ステータスがfalse
を返す場合、バランサーがこのコレクション内のデータをバランス調整していないことを示します。
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() メソッドを呼び出します。 |