Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

診断コマンド

項目一覧

  • buildInfo
  • collStats
  • connectionStatus
  • dbStats
  • explain
  • 使用法
  • 出力
  • getLog
  • getMore
  • hostInfo
  • ping
  • whatsmyuri

buildInfoコマンドの場合、レスポンスには次のフィールドが含まれます。

フィールド
説明
ok
成功した場合は1 、失敗した場合は0が返されます。
version
MongoDB クライアントの互換性バージョン。 これは、Data Federation サービスが互換性のある MongoDB クライアントの最初のバージョンです。
versionArray
配列形式の MongoDB クライアント互換バージョン。
dataLake.version
Data Federation のバージョン番号。
dataLake.gitVersion
Data Federation サービスの Git バージョン。
dataLake.date
Data Federation サービスのビルド タイムスタンプ。
dataLake.mongoSQLVersion
mongoSQL Data Federation サービスのバージョン

{
"ok" : <return>,
"version" : "<version-number>",
"versionArray" : [
<number>,
<number>,
<number>,
<number>
],
"dataLake" : {
"version" : "<version-number>",
"gitVersion" : "<version-number>",
"date" : "<timestamp>",
"mongoSQLVersion" : "<version-number>"
}
}

collStatsコマンドの場合、Atlas Data Federation は応答内の次のフィールドを省略します。

  • avgObjSize

  • capped

  • max

  • maxSize

  • wiredTiger

  • nindexes

  • totalIndexSize

  • indexSizes

Atlas Data Federation の応答には次のフィールドが含まれます。 これらのフィールドを使用して、どのパーティションがコレクションにデータを入力するために使用されているかを確認し、統計がどの程度最近計算されたかを把握して、Atlas Data Federation が出力ドキュメントを切り捨てているかどうかを判断できます。

フィールド
説明
dataLake.partitionCount
パーティションの数。
dataLake.avgPartitionSize
すべてのパーティションの平均サイズ。
dataLake.partitions.format
パーティションのファイル形式。
dataLake.partitions.attributes
パーティションの属性をフィルタリングします。
dataLake.partitions.count
パーティション内のドキュメントの数。
dataLake.partitions.size
パーティションのサイズ(バイト単位)。
dataLake.partitions.source
クラウドストレージURL。パーティションのバッキング データが含まれます。
dataLake.partitions.version

Atlas クラスターの MongoDB バージョン。 collStatsコマンドは、 Atlas Clusterデータストアに対してのみこれを返します。 値の形式は次のとおりです。

<major-version-number>.<minor-version-number>.<patch-version-number>

たとえば、7.0.1

cacheMetadata
Atlas Data Federation が最近統計を計算した方法に関する情報。
cacheMetadata.computeTime
統計情報の計算が開始されたときのISODate形式の時間。
cacheMetadata.automaticRefreshInProgress
キャッシュを更新するためにバックグラウンド ジョブが現在実行中かどうかを示すフラグ。
truncated

Atlas Data Federation が 16MiB の最大ドキュメント サイズ制限を強制したかどうかを示すフラグ。 フラグの値は次のいずれかになります。

  • true - 出力ドキュメントのサイズが制限を超え、ドキュメントがサイズ制限に準拠できる十分なパーティションのみを含むように切り捨てられた場合。 trueの場合、Atlas Data Federation が返すpartitionCountavgPartitionSizeの値は実際の値より小さい可能性があります。

  • false - Atlas Data Federation がドキュメント全体を返す場合。

{
...
"partitionCount": <number of partitions>,
"avgPartitionSize": <average size of all partitions>,
"partitions": [
{
"format": <file format>,
"attributes": <filtering attributes>,
"count": <number of documents in partition>,
"source": <cloud storage URL>,
"size": <size, in bytes, of the partition>
},
...
],
"truncated": false,
"cacheMetadata": {
computeTime: ISODate("2021-07-25T15:10:33.513Z"),
automaticRefreshInProgress: false
},
...
}

Atlas Data Federation では、キャッシュをバイパスし、特定のコレクションの最新のストレージ統計を取得するために、オプションのブール値パラメータsyncが導入されています。 syncパラメーターでは次の値が有効です。

  • true - キャッシュをバイパスし、最新のストレージ統計を返す

  • false - キャッシュされたデータを返す

syncパラメータが省略されている場合、 はデフォルトでfalseとなります。

db.runCommand( {collStats: "<string>", sync: true|false} )

このコマンドでサポートされているパラメータの詳細については、 collStats を参照してください。

Atlas Data Federation はconnectionStatusコマンドの場合、現在の接続に関する情報、具体的には認証されたユーザーの状態と使用可能なロールを返します。

注意

フェデレーティッドデータベースインスタンスへの接続ではいつでも 1 人のユーザーだけが認証できます。 ユーザーが認証を行い、 db.auth()コマンドを実行すると、Data Federation は前のユーザーの権限を新しいユーザーの権限に置き換えます。

connectionStatusコマンドは、 authenticatedUsers出力フィールドに新しく認証されたユーザーのみを表示します。

dbStatsコマンド用に、Atlas Data Federation は、キャッシュをバイパスし、特定のデータベースの最新のストレージ統計を取得するために、任意のブール値パラメータsyncを導入します。 syncパラメーターでは次の値が有効です。

  • true - キャッシュをバイパスし、最新のストレージ統計を返す

  • false - キャッシュされたデータも使用する

syncパラメータが省略されている場合、 はデフォルトでfalseとなります。

db.runCommand( {dbStats: 1, sync: true|false} )

このコマンドでサポートされているパラメータの詳細については、「 dbStats 」を参照してください。

Atlas Data Federation コマンドは、応答内の次のフィールドを省略します。

  • object

  • avgObjSize

  • fsUsedSize

  • fsTotalSize

コマンドは、応答に次のフィールドを追加します。 これらのフィールドを使用して、コマンドが古いデータを返したかどうかを判断できます。

フィールド
説明
cacheMetadata
統計がどの程度最近計算されたかに関する情報が含まれます。
cacheMetadata.computeTime
統計情報の計算が開始されたときのISODate形式の時間。
cacheMetadata.automaticRefreshInProgress
キャッシュを更新するためにバックグラウンド ジョブが現在実行中かどうかを示すフラグ。

explainコマンドは、Data Federation クエリプランを説明する情報を返します。 explain出力は、クエリを満たすために使用されたデータパーティションに関する情報を提供するという点で MongoDB と異なります。

Data Federation では、次のコマンドを説明できます。

  • aggregate()

  • count()

  • find()

Atlas Data Federation は次のverbosityモードをサポートしています。

  • queryPlanner - クエリプランに関する情報を提供します。 冗長度が指定されていない場合、Atlas Data Federation はデフォルトでこのモードになります。

  • queryPlannerExtended - クエリされるオブジェクト ストレージのオブジェクト名やサイズなど、オブジェクト ストレージ オブジェクトに関する情報を含む、クエリプランに関する詳細情報を提供します。

  • executionStats - クエリ実行統計とパフォーマンスを提供します。

Atlas Data Federation はallPlansExecutionモードをサポートしていません。

次の例では、 explainコマンドを使用して、クエリプランに関する詳細情報を含む集計コマンドに関する情報を取得する方法を示しています。

db.runCommand({ "explain": { "aggregate": "user", "verbosity":
"queryPlannerExtended", "pipeline": [ ], "cursor": {} }})

次の例では、クエリのクエリ実行統計を取得するために、 find()メソッドなどのexplainメソッドにメソッドを追加する方法を示しています。

db.users.explain("executionStats").find({"type": "admin"})

explainを実行すると、Atlas Data Federation は他のパーティションの次の追加フィールドを返します。

出力フィールド名
説明
stats
Atlas Data Federation がクエリ用に開く可能性のあるパーティションの数と合計サイズを説明するドキュメント。
stats.size
Atlas Data Federation がクエリ用に開く可能性のあるパーティションの合計サイズ。
stats.numberOfPartitions
Atlas Data Federation がクエリのために開く可能性のあるパーティションの数。
truncated
explain出力が切り捨てられているかどうかを示すブール値。 explainの合計出力ドキュメント サイズは 16 MiB に制限されています。
plan
クエリのクエリ実行プランを含むドキュメント。 ドキュメントにはネストされた実行プラン ノードが含まれており、各ノードはプラン ノードを説明するドキュメントです。 ネストされたプラン ノード ドキュメントには、Atlas Data Federation のクエリ実行の内部説明が含まれ、変更される可能性があるさまざまなノードの種類が含まれます。 クエリプランの理解でさらにサポートが必要な場合は、 MongoDB サポート にお問い合わせください。

queryPlannerモードでは、 explainによって返される結果は、フェデレーティッドデータベースインスタンス内のパーティションに関する詳細情報を提供します。

出力例
1{
2 ok: 1,
3 stats: { size: '66 B', numberOfPartitions: 2 },
4 truncated: false,
5 plan: {
6 kind: 'region',
7 region: 'aws/us-east-1',
8 node: {
9 kind: 'data',
10 size: '66 B',
11 numberOfPartitions: 2,
12 partitionsTruncated: false,
13 partitions: [
14 {
15 source: 'projectID:cluster',
16 provider: 'atlas',
17 size: '4 B',
18 database: 'locations',
19 collection: 'nyc'
20 },
21 {
22 source: 'dls:projectID',
23 provider: 'dls:aws',
24 size: '62 B',
25 metadataLocation: { provider: 'aws', region: 'us-east-1' },
26 dataSetName: 'v1$atlas$archive$etc',
27 optimizationPlan: { kind: 'everything' }
28 }
29 ]
30 }
31 }
32}

explainコマンドは、Atlas パーティションの次の追加フィールドを返します。

出力
説明
database
Atlas Data Federation がクエリしたデータベース。
collection
Atlas Data Federation がクエリしたコレクション。
pipeline
Atlas Data Federation が実行した集計パイプライン。

explainコマンドは、Atlas Online Archive パーティションの次の追加フィールドを返します。

出力フィールド名
説明
optimizationPlan
Atlas Online Archive の最適化の詳細。 Atlas Online Archive に構成されたパーティション キーと一致するフィールドが含まれている場合、クエリが最適化される可能性があります。

queryPlannerExtendedモードでは、 explainによって返される結果は、パーティション タイプの拡張クエリ計画情報を提供します。

出力例
1{
2 ok: 1,
3 stats: { size: '66 B', numberOfPartitions: 2 },
4 truncated: false,
5 plan: {
6 kind: 'region',
7 region: 'aws/us-east-1',
8 node: {
9 kind: 'data',
10 size: '66 B',
11 numberOfPartitions: 2,
12 partitionsTruncated: false,
13 partitions: [
14 {
15 source:'projectID:cluster',
16 provider: 'atlas',
17 size: '4 B',
18 database: 'locations',
19 collection: 'nyc'
20 },
21 {
22 source: 'dls:projectID',
23 provider: 'dls:aws',
24 size: '62 B',
25 metadataLocation: { provider: 'aws', region: 'us-east-1' },
26 dataSetName: 'v1$atlas$archive$etc',
27 scannedDataSetPartitionsCount: 1,
28 percentOfTotalPartitions: 100,
29 optimizationPlan: { kind: 'everything' }
30 },
31 ]
32 }
33 }
34}

explainコマンドは、 queryPlannerからのすべての情報と、Atlas Online Archive パーティションの次の追加フィールドを返します。

出力フィールド名
説明
scannedDataSetPartitionsCount
クエリを完了するためにスキャンされたパーティションの数。
percentOfTotalPartitions
パーティションの合計数に対するスキャンされたパーティションの割合。

executionStatsモードでは、 explainによって返される結果は、Atlas パーティションのみのクエリ実行統計とパフォーマンスに関する情報を提供します。 これらは、Atlas パーティションの基礎となる Atlas コレクションでexecutionStats explain コマンドを実行することで取得されます。 Atlas 以外のパーティションの場合、 explainqueryPlanner情報を返します。 結果のpartitionsフィールドには、追加のexplainResultsフィールドが含まれます。このフィールドは、次のフィールドを含む可能性のあるドキュメントです。

出力フィールド名
説明
executionStats
検査されたドキュメントの数やキーの数など、Atlas クラスターの当選したクエリプランの実行に関する情報を提供します。
queryPlanner
インデックス選択を含む、Atlas クラスターのクエリプラン選択に関する情報が含まれています。
stages
パイプライン ステージの内訳とステージごとの統計情報を含みます。

注意

これらのフィールドの詳細については、 executionStats を参照してください。

出力例
1{
2 ok: 1,
3 stats: { size: '66 B', numberOfPartitions: 2 },
4 truncated: false,
5 plan: {
6 kind: 'region',
7 region: 'aws/us-east-1',
8 node: {
9 kind: 'data',
10 size: '66 B',
11 numberOfPartitions: 2,
12 partitionsTruncated: false,
13 partitions: [
14 {
15 source: 'projectID:cluster',
16 provider: 'atlas',
17 size: '4 B',
18 database: 'locations',
19 collection: 'nyc',
20 explainResults: {
21 queryPlanner: {
22 ...
23 winningPlan: {
24 ...
25 },
26 rejectedPlans: []
27 },
28 executionStats: {
29 ...
30 },
31 stages: {
32 ...
33 }
34 }
35 },
36 {
37 source: 'dls:projectID',
38 provider: 'dls:aws',
39 size: '62 B',
40 metadataLocation: { provider: 'aws', region: 'us-east-1' },
41 dataSetName: 'v1$atlas$archive$etc'
42 },
43 ]
44 }
45 }
46}

getLogコマンドの場合、Atlas Data Federation は成功の応答を返しますが、ログ データは含まれません。

getMoreコマンド の場合、Atlas Data Federation は、カーソルを返すコマンドと組み合わせて使用すると、現在カーソルが指しているドキュメントの後続のバッチを返します。例: findaggregate を参照してください。

hostInfoコマンドの場合、Atlas Data Federation は標準の MongoDB 応答から次のフィールドのサブセットのみを返します。

{
"ok" : <return>,
"system" : {
"currentTime" : ISODate("<timestamp>"),
"hostname" : "<hostname>",
"cpuAddrSize" : <number>,
"memSizeMB" : <number>,
"numCores" : <number>,
"cpuArch" : "<identifier>",
},
"os" : {
"type" : "<string>",
"name" : "<string>",
},
"extra" : { }
}

Atlas Data Federation はpingコマンドの場合、サーバーがコマンドに応答しているかどうかをテストします。

whatsmyuriコマンドの場合、Atlas Data Federation はクライアントの IP アドレスを返します。

戻る

管理