Docs Menu
Docs Home
/
MongoDB マニュアル
/ / /

sh.status()

項目一覧

  • 定義
  • 出力例
  • 出力フィールド
sh.status()

mongosインスタンスで実行すると、シャーディング構成のフォーマットされたレポートと、 シャーディングされたクラスター 内の既存のチャンクに関する情報が出力されます。 デフォルトの動作では、チャンクの合計数が20以上の場合、チャンクの詳細情報は表示されません。

sh.status()メソッドには次のパラメータがあります。

Parameter
タイプ
説明
verbose
ブール値

任意。冗長レベルを決定します。

true の場合、メソッドは次のように表示されます。

  • チャンクが 20 個以上ある場合も含めた、シャード間のチャンク分散の完全な詳細および各シャード上のチャンク数。

  • アクティブな mongos インスタンスの詳細。

false の場合、メソッドは次のように表示されます。

  • チャンクが 20 個未満の場合にのみ、シャード間のチャンク分散の完全な詳細チャンクが 20 個以上ある場合、このメソッドは代わりに too many chunks to print ... メッセージを返し、各シャード上のチャンク数のみを表示します。

  • アクティブな mongos インスタンスのバージョンと数のみ。

デフォルトの冗長の値は false です。

Tip

以下も参照してください。

[シャーディング バージョン ]セクションには、コンフィギュレーションデータベースに関する情報が表示されます。

--- 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 は互換性のあるコンフィギュレーションサーバーの最小バージョンです。

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 です。

sh.status.active-mongoses

verbosefalse の場合、sh.status.active-mongoses にはアクティブな mongos インスタンスのバージョンと数が表示されます。アクティブな mongos インスタンスは、過去 60 秒以内に ping された mongos インスタンスです。

verbosetrue の場合、sh.status.active-mongoses は、以下のフィールドを含むアクティブな mongos インスタンスごとにドキュメントを返します。

フィールド
データ型
説明
_id
文字列
mongosが実行されているホスト名とポート。_id<hostname>:<port>としてフォーマットされます。
advisoryHostFQDNs
文字列の配列
mongosの完全修飾ドメイン名(FQDN) の配列。
created
日付

mongosが開始されたとき。

バージョン 5.2 で追加

mongoVersion
文字列
mongosが実行している MongoDB のバージョン。
ping
日付
mongosインスタンスが 30 秒ごとに構成サーバーに ping を送信します。このフィールドは、最後の ping 時間を示します。
up
NumberLong
最後の ping の時点で mongos が起動していた秒数。
waiting
ブール値
このフィールドは常に true であり、下位互換性のためだけに含まれています。
active mongoses:
{
"_id" : "<hostname:port>",
"advisoryHostFQDNs" : [ "<name>" ],
"created" : <ISODate>,
"mongoVersion" : <string>,
"ping" : <ISODate>,
"up" : <long>,
"waiting" : <boolean>
}
...
sh.status.autosplit

sh.status.autosplit 自動分割が現在有効になっているかどうかを示します。

注意

MongoDB 6.0.3以降、 自動チャンク分割は実行されません。 これはバランシング ポリシーの改善によるものです。 自動分割コマンドは引き続き存在しますが、操作は実行されません。

MongoDB 6.1 より前のバージョンの場合:

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 より前のバージョンの場合:

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 にはバランサーによって開始されていない移行を含む、すべての移行が含まれます。

sh.status.databases._id

_idにはデータベース名が表示されます。

sh.status.databases.partitioned

MongoDB 6.0 および機能互換性バージョン (fCV) 6.0 以降では、 partitioned フラグは以前のバージョンとの下位互換性のみを維持します。デフォルトでは、 partitioned 値に関係なく、すべてのデータベースでシャーディングが有効になっています。

sh.status.databases.primary

primaryにはデータベースのプライマリシャードが表示されます。

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 には、シャード キー値の範囲に関連付けられたタグの詳細が一覧表示されます。

Tip

以下も参照してください。

[1]12シャーディングされたコレクション セクションには、デフォルトでは、チャンクの合計数が20未満の場合、チャンク情報が表示されます。 20以上のチャンクがあるときに 情報を表示するには、 verboseパラメータをtrue (つまりsh.status(true) )に設定してsh.status()メソッドを呼び出します。

戻る

sh.startBalancer