定義
sh.status()mongosインスタンスで実行すると、シャーディング構成のフォーマットされたレポートと、 シャーディングされたクラスター 内の既存のチャンクに関する情報が出力されます。 デフォルトの動作では、チャンクの合計数が20以上の場合、チャンクの詳細情報は表示されません。sh.status()メソッドには次のパラメータがあります。Parameterタイプ説明verboseブール値
任意。冗長レベルを決定します。
trueの場合、メソッドは次のように表示されます。チャンクが 20 個以上ある場合も含めた、シャード間のチャンク分散の完全な詳細および各シャード上のチャンク数。
falseの場合、メソッドは次のように表示されます。チャンクが 20 個未満の場合にのみ、シャード間のチャンク分散の完全な詳細チャンクが 20 個以上ある場合、このメソッドは代わりに
too many chunks to print ...メッセージを返し、各シャード上のチャンク数のみを表示します。
デフォルトの冗長の値は
falseです。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M0 および Flex クラスターではサポートされていません。詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
出力例
[シャーディング バージョン ]セクションには、コンフィギュレーションデータベースに関する情報が表示されます。
--- 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> allowMigrations: <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.minCompatibleVersionminCompatibleVersionは互換性のあるコンフィギュレーションサーバーの最小バージョンです。MongoDB 6.2 より前のバージョンでは、このフィールドは
config.versionコレクションに含まれていますが、mongosh2.0.0 以降では、このフィールドはsh.status()出力には返されません。MongoDB 6.2 以降では、このフィールドは削除され、mongoshバージョンまたはその他のクライアント アプリケーションでは返されません。 代わりに、バージョン情報を取得するには、「機能の互換性バージョン(fcv)」を参照してください。
sh.status.sharding-version.currentVersioncurrentVersionはコンフィギュレーションサーバーの現在のバージョンです。MongoDB 6.2 より前のバージョンでは、このフィールドは
config.versionコレクションに含まれていますが、mongosh2.0.0 以降では、このフィールドはsh.status()出力には返されません。MongoDB 6.2 以降では、このフィールドは削除され、mongoshバージョンまたはその他のクライアント アプリケーションでは返されません。 代わりに、バージョン情報を取得するには、「機能の互換性バージョン(fcv)」を参照してください。
sh.status.sharding-version.clusterIdclusterIdは、シャーディングされたクラスターの ID です。
アクティブなmongos インスタンス
sh.status.active-mongosesverboseがfalseの場合、sh.status.active-mongosesにはアクティブなmongosインスタンスのバージョンと数が表示されます。アクティブなmongosインスタンスは、過去 60 秒以内に ping されたmongosインスタンスです。verboseがtrueの場合、sh.status.active-mongosesは、以下のフィールドを含むアクティブなmongosインスタンスごとにドキュメントを返します。フィールドデータ型説明_id文字列
mongosが実行されているホスト名とポート。_idは<hostname>:<port>としてフォーマットされます。advisoryHostFQDNs文字列の配列
mongosの完全修飾ドメイン名(FQDN) の配列。created日付
mongosが開始されたとき。バージョン 5.2 で追加。
mongoVersion文字列
mongosが実行している MongoDB のバージョン。ping日付
upNumberLong
最後の ping の時点で
mongosが起動していた秒数。waitingブール値
このフィールドは常に
trueであり、下位互換性のためだけに含まれています。active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "created" : <ISODate>, "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> } ...
Autosplit
sh.status.autosplitsh.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.automergeAutoMerger が有効かどうかを示します。
注意
automergeセクションは、AutoMerger を明示的に有効または無効にした場合にのみ表示されます。デフォルトでは 、AutoMerger は有効になっています。
シャード
sh.status.shards._id_idにはシャード名が表示されます。
sh.status.shards.hosthostにはシャードのホストロケーションが表示されます。
sh.status.shards.tagstagsにはシャードのすべてのタグが表示されます。 このフィールドは、シャードに タグ がある場合にのみ表示されます。
sh.status.shards.statestateには次の内容が表示されます。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-enabledcurrently-enabledは、シャーディングされたクラスターでバランサーが現在有効になっているかどうかを示します。
sh.status.balancer.currently-runningcurrently-runningは、バランサーが現在実行中かどうか、およびクラスターの現在バランシングが実行されているかどうかを示します。
sh.status.balancer.collections-with-active-migrationscollections-with-active-migrationsでは、アクティブな移行があるすべてのコレクションの名前が一覧表示され、移行がいつ開始されたかを指定します。 アクティブな移行がない場合、このフィールドはsh.status()出力に表示されません。
sh.status.balancer.failed-balancer-rounds-in-last-5-attemptsfailed-balancer-rounds-in-last-5-attemptsには、最近試行された 5 ラウンドのうち、失敗したバランサー ラウンドの数が表示されます。チャンクの移行が失敗すると、バランサー ラウンドは失敗します。
sh.status.balancer.last-reported-errorlast-reported-errorには最新のバランサー エラー メッセージが表示されます。 エラーが発生していない場合、このフィールドはsh.status()の出力に表示されません。
sh.status.balancer.time-of-reported-errortime-of-reported-errorは、直近に報告されたエラーの日時を提供します。
sh.status.balancer.migration-results-for-the-last-24-hoursmigration-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.versionversionにはデータベースのバージョン情報が表示されます。{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 } 以下の条件に一致するもの。
uuidが、データベース識別子です。lastModはデータベースのバージョンです。
シャーディングされたコレクション
sh.status.databases.<collection>.shard-keyshard-keyにはシャードキー仕様ドキュメントが表示されます。
sh.status.databases.<collection>.uniqueuniqueには、MongoDB がシャードキー値( 基礎となるシャードキー インデックスが一意であるかどうか)。
sh.status.databases.<collection>.balancingバランサーがコレクションのバランスをとれるかどうかを表示。 バランサーが有効になっており、このステータスが
trueを返す場合、バランサーはバランサー操作にこのコレクションを含めます。 ステータスがfalseを返す場合、バランサーがこのコレクション内のデータをバランス調整していないことを示します。
sh.status.databases.<collection>.allowMigrationsコレクションで移行が許可されているかどうかを表示します。
trueの場合、コレクションは移行を許可します。falsesh.enableMigrations()の場合、コレクションでは移行が許可されないため、このコレクションのチャンク移行が妨げられます。この設定を制御するには、sh.disableMigrations()と を使用します。
sh.status.databases.<collection>.chunkschunksには、すべてのシャードと各シャードにあるチャンクの数が一覧表示されます。
sh.status.databases.<collection>.chunk-detailschunk-detailsには次のようなチャンク [1] の詳細が一覧化されます。チャンクを定義するシャードキー値の範囲、
チャンクが存在するシャード、および
チャンクの最終変更タイムスタンプ。
sh.status.databases.<collection>.tagtagには、シャード キー値の範囲に関連付けられたタグの詳細が一覧表示されます。
| [1] | ( 1 、 2 )シャーディングされたコレクション セクションには、デフォルトでは、チャンクの合計数が20未満の場合、チャンク情報が表示されます。 20以上のチャンクがあるときに 情報を表示するには、 verboseパラメータをtrue (つまりsh.status(true) )に設定してsh.status()メソッドを呼び出します。 |