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

[ アクティブな インスタンス ] mongosmongosセクションには、過去60 秒以内にアクティブになっている インスタンスのバージョンと数に関する情報がデフォルトで表示されます。

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 インスタンスは、過去mongos 60秒以内に ping された インスタンスです。

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-hours24には、過去 時間の移行の数と、失敗した移行からのエラー メッセージが表示されます。直近で移行が行われていない場合、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

[ には、 MongoDBunique がシャードキー値に一意性を強制しているかどうか(つまり、基礎となるシャードキーインデックスが一意であるかどうか)が表示されます。

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 以上のチャンクがあるときにsh.status() 情報を表示するには、verbose パラメータを (つまり に設定して メソッドを呼び出します。truesh.status(true)