Docs Menu
Docs Home
/ /

progress

同期プロセスの更新されたステータスまたはエラーを返します。

GET /api/v1/progress

progressエンドポイントは更新されたステータスまたはエラーのいずれかを返します。

応答オブジェクトには、 2の最上位フィールド、 successprogressが含まれています。

successフィールドには、progress コマンドのステータスが含まれます。値は、コマンドが成功した場合は true で、コマンドが失敗した場合は false です。

mongosyncが同期プロセスのステータスを正常に取得すると、すべての応答フィールドは次のフィールドを持つ最上位のprogressオブジェクトにラップされます。

フィールド
タイプ
説明

state

string

mongosyncの現在の状態。 利用可能な状態の詳細については、「 状態の説明 」を参照してください。

canCommit

ブール値

true の場合、コミットリクエストが成功することを示します。これは次のことも意味します。

  • 最初の同期は完了し、変更イベントを適用しています。

  • 埋め込み検証子はコミットに適切な状態です。

  • mongosync と埋め込み検証者のラグは 30 秒以内です。

startを呼び出すときに buildIndexes"afterDataCopy" または "excludeHashedAfterCopy" に設定すると、{canCommit: true} はインデックスのビルドが完了していることも示します。

バージョン 1.21 で変更: mongosync または埋め込みベリファイヤが 30 秒を超えるラグを報告する場合、 canCommitfalse になります。

canWrite

ブール値

trueの場合、 は、宛先クラスターで書込み(write)が許可されていることを示します。 Do not write to the destination cluster while canWrite is false.

インデックスの検証は、コミットが完了するまで続きます。

indexBuilding

オブジェクト

start を呼び出すときに buildIndexesafterDataCopy または excludeHashedAfterCopy に設定すると、宛先クラスターでのインデックス構築のリアルタイム進行状況が表示されます。このオブジェクトは、変更イベント アプリケーション フェーズ中にのみ表示されます。

重要: mongosync は最初に最大コレクションのインデックスを作成するため、ビルドされたインデックスの割合は、経過時間の割合で直線的に対応しない可能性があります。

indexBuilding.indexesBuilt

integer

mongosync がビルドを完了したインデックスの数。

indexBuilding.totalIndexesToBuild

integer

ビルドが完了したインデックスを含む、mongosync がビルドする必要があるインデックスの合計数。

indexBuilding.collectionsFinished

integer

mongosync がインデックス構築を完了したコレクションの数。

indexBuilding.collectionsTotal

integer

完了したコレクションを含む、mongosync がインデックスを構築する必要があるコレクションの合計数。

info

string

同期の進行状況に関する追加情報を提供します。 可能なinfo値は次のとおりです。

  • "collection copy"

  • "change event application"

  • "waiting for commit to complete"

  • "commit completed"

lag

オブジェクト

コンポーネント別の同期ラグを報告します。mongosyncIDLE または PAUSED 状態の場合、lag オブジェクトは null です。

バージョン1.21の新機能

lag.overallLagSeconds

integer

mongosyncが宛先クラスターに適用した最新のイベント タイムスタンプと、ソースクラスターの最新タイムスタンプとの間の時間差(秒単位)。すべての状態で lagTimeSecondsに等しくなります。

バージョン1.21の新機能

lag.crudLagSeconds

integer

CRUD コンポーネントの同期化ラグは秒単位です。mongosync が CRUD 操作のソースタイムスタンプをまだ設定していない場合、このフィールドは null になります。

バージョン1.21の新機能

lag.ddlLagSeconds

integer

同期延時間の DDL コンポーネント (秒単位)。DDL アプライヤーが無効になっている場合 (例: ソース サーバー バージョンが 6.0 より古い場合)、または DDL イベントがまだ適用されていない場合、このフィールドは null になります。

バージョン1.21の新機能

lagTimeSeconds

integer

mongosync 1.21 で非推奨になりました。代わりに lag.overallLagSeconds を使用してください。このフィールドは将来のバージョンで削除される可能性があります。

mongosyncが宛先クラスターに適用した最新のイベント タイムスタンプと、 mongosyncのこのインスタンスのソースクラスターの最新タイムスタンプとの間の時間差(秒単位)。

mongosync はソースクラスターに対して定期的にノーオペレーション(no-op)書込みを実行するため、 mongosync lagTimeSecondsフィールドの値が 0 にならない可能性があります。

ソースクラスターでは継続的な何も操作が行われないため、ソースクラスターで実際に書込み (write) が行われていない場合でも、時間差は 0 数秒を超えることが多いです。 mongosyncが移行をコミットすると、時間差は 0 になります。

バージョン 1.9 以降、/progress ではベリファイアー ラグも報告されるようになりました。この表の verification.source.lagTimeSeconds および verification.destination.lagTimeSeconds を参照してください。

totalEventsApplied

integer

mongosyncのこのインスタンスが宛先クラスターに適用した変更イベントのおおよその数。

この値は永続化されず、カウントから特定のイベントが省略されるため、イベントの総数を正確に表さない可能性があります。

collectionCopy

オブジェクト

コレクションからコピーされるデータの合計量と、宛先クラスターにすでにコピーされたデータ量を見積もります

collectionCopy .estimatedTotalBytes

integer

コレクションの初期コピー中にすべてのmongosyncインスタンスによってグローバルにコピーされる推定合計バイト数。

mongosync コレクションのコピーを開始する前にこの値を計算します。コレクションのコピー中に、この値は estimatedCopiedBytes を超える場合にのみ変更されます。この場合、mongosyncestimatedTotalBytesestimatedCopiedBytes と等しくするために引き上げます。コレクションのコピーが完了すると、estimatedTotalBytesestimatedCopiedBytes と等しくなります。この値はベストエフォートの推定値です。

collectionCopy .estimatedCopiedBytes

integer

コレクションの初期コピー中にこの mongosync インスタンスによって宛先クラスターにコピーされたバイトの推定数。

合計予想進捗率を計算するには、次の手順を実行します。

  1. mongosync インスタンスに対して estimatedCopiedBytes 値を追加します。

  2. 結果を estimatedTotalBytes で分割します。

  3. 結果に 100 を掛けます。

どちらの値もベストエフォートの推定値であり、実際の移行状況を正確に反映していない可能性があります。

destination. pingLatencyMs

integer

mongosync から宛先クラスターへの最後に確認されたpingレイテンシ をミリ秒単位で提供します。このフィールドは、レプリケーションが進行中である間は 30 秒ごとに更新され、応答で報告されます。レイテンシが1 ミリ秒未満であるか、mongosync がまだpingを実行していない場合、このフィールドは存在しません。このフィールドには、最後のping試行が失敗した場合、-1 の値があります。

バージョン 1.17 の新機能

directionMapping

オブジェクト

同期のマッピング方向(ソースクラスターと宛先クラスター)を説明します。

directionMapping .Source

string

ソースクラスター。 <cluster name>: <host>:<port>の形式で返されます。

directionMapping .Destination

string

宛先クラスター。 <cluster name>: <host>:<port>の形式で返されます。

estimatedOplogTimeRemaining

string

ソースクラスターで使用可能なoplog時間の推定値を表示します。指定できる値には、期間( 、"12 hours""4 hours""45 minutes"など)例、"more than 72 hours""less than 15 minutes""not checked yet" などの特殊なケースが含まれます。

mongosync は、ソースクラスターで使用可能な最も古いoplogエントリと、mongosync が正常に完了する必要がある最も古いoplogエントリとの間の時間ウィンドウとして estimatedOplogTimeRemaining を計算します。mongosync はこの値を 5 分ごとに更新します。

重要:ソースクラスターでoplogサイズを増やしても、estimatedOplogTimeRemaining はすぐに増加しない可能性があります。mongosync がソースoplogを処理すると、利用可能なoplog ウィンドウ は通常増加します。

mongosync は、 oplog時間をチェックしているときにのみ estimatedOplogTimeRemaining を報告します。mongosync には、RUNNING 状態にある場合にのみ、/progress エンドポイントが canWrite=true を返す前にのみこのフィールドが含まれます。

バージョン1.19の新機能

estimatedSecondsToCEACatchup

integer

最近の間隔で lagTimeSeconds が減少した量に基づく、CSA(変更イベント アプリケーション)フェーズの推定残り時間(秒)。

/progress は、mongosync が CEA にない場合、または lagTimeSeconds が直近で増加または維持した場合、estimatedSecondsToCEACatchup を報告しません。この場合は、30 分待ってからもう一度お試しください。

バージョン1.14の新機能

mongosyncID

string

mongosync インスタンスの識別子string 。

バージョン 1.3 で追加

coordinatorID

string

コーディネーター インスタンスの識別子 string。

  • mongosync が別の インスタンスによって調整されている場合、このフィールドにはコーディネーター インスタンスの識別子stringが表示されます。

  • mongosyncがコーディネーターであるか、単独で実行されている場合、このフィールドはmongosyncIDフィールドと同じ値を返します。

  • mongosyncが起動すると、 mongosyncがコーディネーターを識別するまで、このフィールドはnullを返します。

バージョン 1.3 で追加

source. pingLatencyMs

integer

mongosync からソースクラスターへの最後に確認されたpingレイテンシ をミリ秒単位で提供します。このフィールドは、レプリケーションが進行中である間は 30 秒ごとに更新され、応答で報告されます。レイテンシが1 ミリ秒未満であるか、mongosync がまだpingを実行していない場合、このフィールドは存在しません。このフィールドには、最後のping試行が失敗した場合、-1 の値があります。

バージョン 1.17 の新機能

verification

ドキュメント

埋め込み検証子によって実行される検証チェックのフェーズと進行状況に関する情報を提供します。

バージョン 1.9 の新機能

verification.source

ドキュメント

ソースクラスターで実行中検証チェックのフェーズと進行状況に関する情報を提供します。

バージョン 1.9 の新機能

verification.source. estimatedDocumentCount

integer

ソースクラスター上のドキュメントの推定数。

バージョン 1.9 の新機能

verification.source. hashedDocumentCount

integer

ソースクラスター上の 検証者によってハッシュされたドキュメントの数 。

バージョン 1.9 の新機能

verification.source. lagTimeSeconds

integer

ソースクラスターで最後の検証チェックが実行された後の時間(秒単位)。

バージョン 1.9 の新機能

verification.source. phase

string

ソースクラスター上の検証プロセスの現在のフェーズ。これは、次の 3 つの値のいずれかになります。

  • "not started": 検証子は、このクラスターの初期コレクションスキャンを開始していません。

  • "initial hashing": 検証子は、クラスター内の少なくとも 1 つのコレクションの初期スキャンを実行しています。

  • "stream hashing": 検証子はクラスターの初期スキャンを完了し、変更ストリームを追跡しています。

検証子がコレクションを再スキャンする必要がある場合、エンドポイントとなる接続されたデバイスが以前に "stream hashing" フェーズを報告していても、検証子は "initial hashing" フェーズに戻ることができます。

バージョン 1.9 の新機能

verification.source. scannedCollectionCount

integer

ソースクラスター上の 埋め込み検証子 によってスキャンされたコレクションの数。

バージョン 1.9 の新機能

verification.source. totalCollectionCount

integer

検証チェックに含めるソースクラスター上のコレクションの数。

verification.destination

ドキュメント

宛先クラスターで実行中検証チェックのフェーズと進行状況に関する情報を提供します。

バージョン 1.9 の新機能

verification.destination. estimatedDocumentCount

integer

宛先クラスター上の推定ドキュメント数。

バージョン 1.9 の新機能

verification.destination. hashedDocumentCount

integer

宛先クラスター上の検証子によってハッシュされたドキュメントの数。

バージョン 1.9 の新機能

verification.destination. lagTimeSeconds

integer

宛先クラスターで最後に検証チェックが実行された以降の時間(秒単位)。

バージョン 1.9 の新機能

verification.destination. phase

string

宛先クラスター上の検証プロセスの現在のフェーズ。これは、次の 3 つの値のいずれかになります。

  • "not started": 検証子は、このクラスターの初期コレクションスキャンを開始していません。

  • "initial hashing": 検証子は、クラスター内の少なくとも 1 つのコレクションの初期スキャンを実行しています。

  • "stream hashing": 検証子はクラスターの初期スキャンを完了し、変更ストリームを追跡しています。

検証子がコレクションを再スキャンする必要がある場合、エンドポイントとなる接続されたデバイスが以前に "stream hashing" フェーズを報告していても、検証子は "initial hashing" フェーズに戻ることができます。

バージョン 1.9 の新機能

verification.destination. scannedCollectionCount

integer

宛先クラスターの埋め込み検証子によってスキャンされたコレクションの数。

バージョン 1.9 の新機能

verification.destination. totalCollectionCount

integer

検証チェックに含める宛先クラスター上のコレクションの数。

バージョン 1.9 の新機能

warnings

文字列の配列

mongosync が検出する警告メッセージ。mongosync が警告を検出しない場合、このフィールドは省略されます。

推定されるoplog時間が非常に少ない場合、mongosync は問題を説明する警告を追加し、ドキュメントにリンクします。(例: )。

"warnings": [
"The amount of available oplog on the source cluster is too small for mongosync to complete successfully.
For more details, see https://www.mongodb.com/ja-jp/docs/cluster-to-cluster-sync/current/reference/oplog-sizing/."
]

詳細については、oplog のサイズ設定を参照してください。

mongosync がソースクラスターへのユーザー書込みをブロックする場合、mongosyncwarningsフィールドに警告を追加します。詳しくは、「 書込みブロック 」を参照してください。

バージョン1.19の新機能

mongosyncでエラーが発生した場合、 progressエンドポイントは次のフィールドを返します。

フィールド
タイプ
説明

success

ブール値

progressコマンドのステータス。 値は、コマンドが成功した場合はtrueで、コマンドが失敗した場合はfalseです。

error

string

エラーのタイプ。

errorDescription

string

エラーの詳細な説明。

  • mongosyncIDLE状態にある場合、 statecanCommitを除くすべての出力フィールドはnullになります。

  • mongosyncPAUSED状態にある場合、lagオブジェクトはnullであり、非推奨のlagTimeSecondsフィールドはnullです。

  • mongosyncINITIALIZING 状態にある場合、mongosync/start リクエストを拒否します。初期化が完了すると、mongosyncIDLE を返し、/start リクエストを受け入れます。

    クラッシュ後に mongosync が再開または再起動する場合、初期化が完了すると、/progress 応答はクラッシュ前の state を返します。

  • エンドポイントは自動更新されません。 更新されたステータスを取得するには、 progressエンドポイントを再度呼び出します。

  • mongosyncがコレクション コピー フェーズに達する前に/progressを呼び出すと、 estimatedCopiedBytesには0が、 estimatedTotalBytesには1が返されます。

  • コレクションのコピー中は、estimatedCopiedBytesestimatedTotalBytesを超える場合にのみが変更されます。その場合、mongosyncestimatedTotalBytesestimatedCopiedBytesと等しくするために引き上げます。

  • コレクションのコピーの終了時点で、estimatedTotalBytesestimatedCopiedBytes に等しくなります。mongosync は、コピーされたバイトの合計を正しい情報源として使用します。どちらの値もベストエフォートの見積りです。

mongosync は、 progressエンドポイントを保護しません。 ただし、デフォルトでは、API は localhost のみにバインドされ、他のソースからの呼び出しは受け入れません。 さらに、 progress呼び出しでは接続認証情報やユーザー データは公開されません。

次の例では、同期プロセスのステータスを返します。

curl localhost:27182/api/v1/progress -XGET
{
"progress":
{
"state":"RUNNING",
"canCommit":true,
"canWrite":false,
"info":"change event application",
"lag": {
"overallLagSeconds": 0,
"crudLagSeconds": 0,
"ddlLagSeconds": null
},
"lagTimeSeconds":0,
"collectionCopy":
{
"estimatedTotalBytes":694,
"estimatedCopiedBytes":694
},
"directionMapping":
{
"Source":"cluster0: localhost:27017",
"Destination":"cluster1: localhost:27018"
},
"source":
{
"pingLatencyMs":250
},
"destination":
{
"pingLatencyMs":-1
},
"verification":
{
"source":
{
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
},
"destination": {
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
}
}
},
"success": true
}

戻る

始める

項目一覧