@@ -459,7 +459,12 @@ helm install <HELM_RELEASE_NAME> scalar-labs/scalardb-cluster \
459
459
kubectl logs < PRIMARY_POD_NAME> -n < NAMESPACE>
460
460
```
461
461
462
- ` <PRIMARY_POD_NAME> ` を実際の Pod 名に置き換えてください。エラーがないことを確認してください。
462
+ ` <PRIMARY_POD_NAME> ` を実際の Pod 名に置き換えてください。エラーがない場合、LogWriter が適切に初期化されたことを示すメッセージが表示されます:
463
+
464
+ ``` console
465
+ 2025-07-03 08:56:10,162 [INFO com.scalar.db.cluster.replication.logwriter.LogWriterSnapshotHook] LogWriter is initialized
466
+ ```
467
+
463
468
464
469
#### 2.3 プライマリサイトテーブルの作成
465
470
@@ -874,6 +879,72 @@ kubectl delete -f sql-cli-primary.yaml -n <NAMESPACE>
874
879
kubectl delete -f sql-cli-backup.yaml -n <NAMESPACE>
875
880
` ` `
876
881
882
+ # ## ステップ 5: レプリケーション状態の監視
883
+
884
+ このステップでは、Replication CLI と Prometheus メトリクスを使用してレプリケーション状態を監視します。
885
+
886
+ # ### Replication CLI
887
+
888
+ Replication CLI は LogApplier の状態を取得できます。これには、レプリケーションデータベース内の残りの未適用の書き込み操作を含むパーティション数が含まれます。この情報は重要です。なぜなら、パーティション数がゼロの場合、すべての書き込み操作が正常にレプリケートされ、バックアップサイトデータベースに適用されたことを意味するからです。この場合、同期されたバックアップサイトデータベースを新しいプライマリサイトデータベースとして使用できます。
889
+
890
+ バックアップサイト用に Replication CLI を実行する Kubernetes Pod を作成します :
891
+
892
+ ` ` ` yaml
893
+ # repl-cli-backup.yaml
894
+ apiVersion: v1
895
+ kind: Pod
896
+ metadata:
897
+ name: repl-cli-backup
898
+ spec:
899
+ restartPolicy: Never
900
+ containers:
901
+ - name: repl-cli-backup
902
+ image: ghcr.io/scalar-labs/scalardb-cluster-replication-cli:<VERSION>
903
+ args:
904
+ - "--contact-points"
905
+ - "<BACKUP_CLUSTER_CONTACT_POINTS>"
906
+ - "status"
907
+ ` ` `
908
+
909
+ ` <BACKUP_CLUSTER_CONTACT_POINTS>` をバックアップサイトクラスター接続ポイント ([ScalarDB Cluster のクライアント設定](scalardb-cluster-configurations.mdx#クライアント設定)と同じ形式)に、`<VERSION>` を使用している ScalarDB Cluster のバージョンに置き換えてください。
910
+
911
+ 正確な同期ポイントを取得するために、プライマリサイトデータベースに新しい書き込みが行われていないことを確認してください。その後、Replication CLI を適用して実行し、出力を確認します :
912
+
913
+ ` ` ` bash
914
+ # Pod を適用
915
+ kubectl apply -f repl-cli-backup.yaml -n <NAMESPACE>
916
+
917
+ # 状態を確認
918
+ kubectl get pod repl-cli-backup -n <NAMESPACE>
919
+
920
+ # Pod からの出力を確認
921
+ kubectl logs repl-cli-backup -n <NAMESPACE>
922
+ ` ` `
923
+
924
+ 正常に処理された場合、レプリケーションデータベース内において未適用の書き込み操作が残っているパーティション数が JSON 形式で出力されます :
925
+
926
+ ` ` ` json
927
+ {"remainingTransactionGroupPartitions":0}
928
+ ` ` `
929
+
930
+ ` remainingTransactionGroupPartitions` が0より大きい場合、未適用の書き込み操作がまだ残っていることを示しており、バックアップサイトデータベースを新しいプライマリデータベースとして使用する前に、この値が0になるまで待つ必要があります。
931
+
932
+ 完了後、Replication CLI Pod をクリーンアップします :
933
+
934
+ ` ` ` bash
935
+ kubectl delete -f repl-cli-backup.yaml -n <NAMESPACE>
936
+ ` ` `
937
+
938
+ # ### Prometheus メトリクス
939
+
940
+ メトリクスを使用して LogApplier を監視できます。ScalarDB Cluster は LogApplier メトリクスを含む多くの Prometheus 形式のメトリクスを公開しており、この形式をサポートする任意のツールで監視できます。例えば、[Prometheus Operator (kube-prometheus-stack)](helm-charts/getting-started-monitoring.mdx) を使用するという選択肢があります。
941
+
942
+ LogApplier は多くのメトリクスを提供しますが、レプリケーション全体の健全性を監視するために最も重要なメトリクスは以下の通りです :
943
+
944
+ - **scalardb_cluster_stats_transaction_group_repo_oldest_record_age_millis:** LogApplier によってスキャンされたレプリケーションデータベース内の最古のトランザクションデータの経過時間(ミリ秒)。このメトリクスが継続的に増加している場合、以下のいずれかの問題を示しており、即座に調査が必要です:
945
+ - LogApplier が保存された書き込み操作の処理に失敗している (例 : バックアップサイトデータベースがダウンしている)。
946
+ - LogApplier がプライマリサイトのスループットに追いつけない。
947
+
877
948
# # 追加詳細
878
949
879
950
リモートレプリケーションは現在プライベートプレビューです。この機能とドキュメントは変更される可能性があります。詳細については、[お問い合わせ](https://www.scalar-labs.com/contact)いただくか、この機能がパブリックプレビューまたは GA になるまでお待ちください。
0 commit comments