定義
sh.status()mongosインスタンスで実行すると、シャーディング構成のフォーマットされたレポートと、 シャーディングされたクラスター 内の既存のチャンクに関する情報が出力されます。 デフォルトの動作では、チャンクの合計数が20以上の場合、チャンクの詳細情報は表示されません。sh.status()メソッドには次のパラメーターがあります。Parameterタイプ説明verboseブール値
任意。冗長レベルを決定します。
trueの場合、メソッドは次のように表示されます。チャンクが 20 個以上ある場合も含めた、シャード間のチャンク分散の完全な詳細および各シャード上のチャンク数。
falseの場合、メソッドは次のように表示されます。チャンクが 20 個未満の場合にのみ、シャード間のチャンク分散の完全な詳細チャンクが 20 個以上ある場合、このメソッドは代わりに
too many chunks to print ...メッセージを返し、各シャード上のチャンク数のみを表示します。
デフォルトの冗長の値は
falseです。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
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>, "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.minCompatibleVersionminCompatibleVersionは互換性のあるコンフィギュレーションサーバーの最小バージョンです。
sh.status.sharding-version.currentVersioncurrentVersionはコンフィギュレーションサーバーの現在のバージョンです。
sh.status.sharding-version.clusterIdclusterIdは、シャーディングされたクラスターの ID です。
アクティブなmongos インスタンス
バージョン 3.2 で追加。
sh.status.active-mongosesverboseが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.autosplitsh.status.autosplit自動分割が現在有効になっているかどうかを示します。
注意
MongoDB 4.2 以降:
balancerStartコマンドとmongoshellヘルパー メソッドsh.startBalancer()とsh.setBalancerState(true)も、シャーディングされたクラスターの自動分割を有効にします。To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit().balancerStopコマンドとmongoshellヘルパー メソッド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.hosthostにはシャードのホストロケーションが表示されます。
sh.status.shards.tagstagsにはシャードのすべてのタグが表示されます。 このフィールドは、シャードに タグ がある場合にのみ表示されます。
sh.status.shards.stateバージョン 3.4 で追加。
stateには次の内容が表示されます。0シャードがシャード認識されていない場合。1シャードがシャード認識されている場合。
バランサー
注意
MongoDB 4.2 以降:
balancerStartコマンドとmongoshellヘルパー メソッドsh.startBalancer()とsh.setBalancerState(true)も、シャーディングされたクラスターの自動分割を有効にします。To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit().balancerStopコマンドとmongoshellヘルパー メソッド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.partitionedpartitionedには、データベースでシャーディングが有効になっているかどうかが表示されます。trueの場合、データベースでシャーディングが有効になっています。
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 がシャードキー値( 基礎となるシャードキー インデックスが一意であるかどうか)。バージョン 3.2 で追加。
sh.status.databases.<collection>.balancingバランサーがコレクションのバランスをとれるかどうかを表示。 バランサーが有効になっており、このステータスが
trueを返す場合、バランサーはバランサー操作にこのコレクションを含めます。 ステータスがfalseを返す場合、バランサーがこのコレクション内のデータをバランス調整していないことを示します。バージョン 3.2 で追加。
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()メソッドを呼び出します。 |