AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

sh.status()(mongoshメソッド)

sh.status()

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

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

Parameter
タイプ
説明

verbose

ブール値

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

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

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

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

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

出力には、各シャーディングされたコレクションのデータ分布のメトリクスを提供する shardedDataDistribution セクションも含まれています。このデータは、$shardedDataDistribution集計ステージの出力と同じです。

このメソッドは、次の環境でホストされている配置で使用できます。

  • 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> }
...

シャーディングされたデータディストリビューション セクションには、各シャーディングされたコレクションのデータディストリビューション情報が表示されます。

shardedDataDistribution:
[
{
"ns" : "<database>.<collection>",
"shards" : [
{
"shardName" : "<shard name>",
"numOrphanedDocs" : <num>,
"numOwnedDocuments" : <num>,
"ownedSizeBytes" : <num>,
"orphanedSizeBytes" : <num>
}
]
}
]
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.automerge

AutoMerger が有効かどうかを示します。

注意

automergeセクションは、AutoMerger を明示的に有効化または無効化した場合にのみ表示されます。デフォルトでは、AutoMerger は有効になっています。

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.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>.allowMigrations

コレクションの移行が許可されているかどうかを表示します。true の場合、コレクションは移行を許可します。false の場合、コレクションは移行を許可せず、このコレクションのチャンク移行ができません。この設定を制御するには、sh.enableMigrations()sh.disableMigrations()を使用します。

sh.status.databases.<collection>.chunks

chunksには、すべてのシャードと各シャードにあるチャンクの数が一覧表示されます。

sh.status.databases.<collection>.chunk-details

chunk-details には次のようなチャンク [1] の詳細が一覧化されます。

  • チャンクを定義するシャードキー値の範囲、

  • チャンクが存在するシャード、および

  • チャンクの最終変更タイムスタンプ。

sh.status.databases.<collection>.tag

tag には、シャード キー値の範囲に関連付けられたタグの詳細が一覧表示されます。

sh.status.shardedDataDistribution

クラスター内の各シャーディングされたコレクションのデータ分散メトリクスを提供するドキュメントの配列。データは $shardedDataDistribution 集計ステージの出力と同じです。

sh.status.shardedDataDistribution.ns

<database>.<collection>形式のシャーディングされたコレクションの名前空間。

sh.status.shardedDataDistribution.shards

各シャードのデータ分散メトリクスを報告するドキュメントの配列。

sh.status.shardedDataDistribution.shards.shardName

シャードの名前。

sh.status.shardedDataDistribution.shards.numOrphanedDocs

シャード内の 孤立したドキュメント の数。

sh.status.shardedDataDistribution.shards.numOwnedDocuments

シャードが所有するドキュメントの数。

sh.status.shardedDataDistribution.shards.ownedSizeBytes

ドキュメントが非圧縮の場合にシャードによって所有されるドキュメントの推定サイズ(バイト単位)。

sh.status.shardedDataDistribution.shards.orphanedSizeBytes

ドキュメントが非圧縮の場合にシャード内の 孤立したドキュメント の推定サイズ(バイト単位)。

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