TiCDC 監視メトリクスの詳細
TiCDCの現在の状況の概要は、主要な指標が表示されるTiCDCダッシュボードから確認できます。このドキュメントでは、これらの主要な指標について詳しく説明します。
このドキュメントのメトリックの説明は、デフォルト設定を使用して MySQL にデータを複製する次のレプリケーション タスクの例に基づいています。
cdc cli changefeed create --server=http://10.0.10.25:8300 --sink-uri="mysql://root:123456@127.0.0.1:3306/" --changefeed-id="simple-replication-task"
新しいアーキテクチャにおける TiCDC のメトリクス
TiCDC の新しいアーキテクチャの監視ダッシュボードTiCDC-New-Arch はまだTiUPで管理されていません。Grafana で関連する監視データを表示するには、TiCDC 監視メトリクスファイルを手動でインポートする必要があります。
新しいアーキテクチャの TiCDC の監視メトリック ファイルをダウンロードします。
wget https://raw.githubusercontent.com/pingcap/ticdc/refs/heads/release-8.5/metrics/grafana/ticdc_new_arch.jsonダウンロードしたメトリック ファイルを Grafana にインポートします。

TiCDC の新しいアーキテクチャの監視ダッシュボードには、主に次のセクションが含まれます。
- まとめ : TiCDCクラスターの概要情報
- サーバ : TiDBクラスタ内のTiKVノードとTiCDCノードの概要情報
- 丸太引き : TiCDC Log Pullerモジュールの詳細情報
- イベントストア : TiCDCイベントストアモジュールの詳細情報
- シンク : TiCDCシンクモジュールの詳細情報
まとめ
以下は概要パネルの例です。

概要パネルの各メトリックの説明は次のとおりです。
- チェンジフィードチェックポイントラグ: 下流と上流の間のレプリケーションタスクのラグ
- Changefeed ResolvedTs Lag: TiCDCノードの内部処理の進行と上流データベース間の遅延
- アップストリーム書き込みバイト/秒:アップストリームデータベースの書き込みスループット
- TiCDC入力バイト/秒: TiCDCがアップストリームから1秒あたりに受信するデータ量
- シンクイベント行数/秒: TiCDCが1秒あたりにダウンストリームに書き込む行数
- シンク書き込みバイト/秒: TiCDCが1秒あたりにダウンストリームに書き込むデータの量
- チェンジフィードのステータス: 各チェンジフィードのステータス
- テーブルディスパッチャ数: 各チェンジフィードに対応するディスパッチャの数
- メモリクォータ: イベントコレクタのメモリクォータと使用量。使用量が多すぎるとスロットリングが発生する可能性があります。
サーバ
以下はサーバーパネルの例です。

サーバーパネルの各メトリックの説明は次のとおりです。
- 稼働時間: TiKVノードとTiCDCノードが稼働している時間
- Goroutine 数: TiCDC ノード上の Goroutine の数
- オープンFD数: TiCDCノードによって開かれたファイルハンドルの数
- CPU使用率: TiCDCノードのCPU使用率
- メモリ使用量: TiCDCノードのメモリ使用量
- 所有権履歴: TiCDC クラスター内の所有者ノードの履歴記録
- PDLeader履歴:上流TiDBクラスタ内のPDLeaderノードの履歴記録
丸太引き
以下は、Log Pullerパネルの例です。

Log Pullerパネルの各メトリックの説明は次のとおりです。
- 入力イベント数/秒: TiCDCが1秒あたりに受信するイベント数
- 未解決のリージョン要求数: TiCDC が送信したがまだ完了していないリージョン増分スキャン要求の数
- リージョン要求終了スキャン所要時間:リージョン増分スキャンにかかる時間
- 登録済みリージョン数: 登録済みリージョンの総数
- メモリクォータ: Log Puller のメモリクォータと使用量。過剰な使用はスロットリングを引き起こす可能性があります。
- 解決済みTsバッチサイズ(リージョン): 1つの解決済みTsイベントに含まれるリージョンの数
イベントストア
以下は、イベント ストアパネルの例です。

イベント ストアパネルの各メトリックの説明は次のとおりです。
- 解決されたTsラグ: イベントストアの処理の進行と上流データベース間のラグ
- レジスタディスパッチャStartTsラグ:ディスパッチャ登録StartTsと現在の時刻のラグ
- サブスクリプション解決Tsラグ: サブスクリプション処理の進行と上流データベース間のラグ
- サブスクリプションデータGCラグ: サブスクリプションデータGCの進行状況と現在の時刻の間のラグ
- 入力イベント数/秒: イベントストアが1秒あたりに処理するイベントの数
- 入力バイト/秒: イベントストアが1秒あたりに処理するデータ量
- 書き込みリクエスト数/秒: イベントストアが1秒あたりに実行する書き込みリクエストの数
- 書き込みワーカービジー率: イベントストア書き込みスレッドの合計実行時間に対するI/O時間の比率
- 圧縮行数/秒: イベント ストアで 1 秒あたりに圧縮された行数 (行サイズがしきい値を超えた場合にのみトリガーされます)
- 書き込み時間: イベントストアの書き込み操作にかかる時間
- 書き込みバッチサイズ: 1回の書き込み操作のバッチサイズ
- 書き込みバッチイベント数: 1回の書き込みバッチに含まれる行変更イベントの数
- ディスク上のデータサイズ: イベントストアがディスク上で占める合計データサイズ
- メモリ内のデータサイズ: イベントストアがメモリ内で占める合計データサイズ
- スキャン要求数/秒: イベントストアが1秒あたりに実行するスキャン要求の数
- スキャンバイト数/秒: イベントストアが1秒あたりにスキャンするデータの量
シンク
以下はシンクパネルの例です。

シンクパネルの各メトリックの説明は次のとおりです。
- 出力行バッチ数: シンクモジュールによって書き込まれたDMLバッチあたりの平均行数
- 出力行数(1秒あたり): 1秒あたりに下流に書き込まれるDML行数
- 出力DDL実行時間: 現在のノードの変更フィードのDDLイベントの実行に費やされた時間
- シンクエラー数 / 分: シンクモジュールによって1分あたりに報告されたエラーの数
- 出力DDL数/分: 現在のノードの変更フィードに対して1分あたりに実行されたDDLの数
クラシックアーキテクチャにおける TiCDC のメトリクス
TiUPを使用して TiDB クラスターをデプロイすると、TiDB と同時にデプロイされる TiCDC のサブダッシュボードが Grafana の古典アーキテクチャに表示されます。
各パネルの説明は次のとおりです。
- サーバ : TiDBクラスタ内のTiKVノードとTiCDCノードの概要情報
- チェンジフィード : TiCDCレプリケーションタスクの詳細情報
- イベント : TiCDCクラスタ内のデータフローに関する詳細情報
- TiKV : TiCDCに関連するTiKV情報
サーバ
以下はサーバーパネルの例です。

サーバーパネルの各メトリックの説明は次のとおりです。
- 稼働時間: TiKVノードとTiCDCノードが稼働している時間
- ゴルーチン数: TiCDCノードのゴルーチンの数
- オープンFD数: TiCDCノードによって開かれたファイルハンドルの数
- 所有権: TiCDC クラスター内のノードの現在のステータス
- 所有権の履歴: TiCDCクラスターの所有権の履歴
- CPU使用率: TiCDCノードのCPU使用率
- メモリ使用量: TiCDCノードのメモリ使用量
チェンジフィード
以下はChangefeedパネルの例です。

- チェンジフィードテーブル数: 各 TiCDC ノードがレプリケーションタスクで複製する必要があるテーブルの数
- プロセッサ解決ts: TiCDCクラスタで解決されたタイムスタンプ
- テーブル解決ts: レプリケーションタスク内の各テーブルのレプリケーションの進行状況
- チェンジフィードチェックポイント:下流へのデータ複製の進行状況。通常、緑色のバーは黄色の線とつながっています。
- PD etcdリクエスト数/秒: TiCDCノードがPDに送信するリクエスト数(1秒あたり)
- 終了エラー数/分: 1分あたりにレプリケーションタスクを中断するエラーの数
- チェンジフィードチェックポイントラグ:上流と下流間のデータ複製の進行ラグ(単位は秒)
- プロセッサ解決tsラグ:上流ノードとTiCDCノード間のデータ複製の進行ラグ(単位は秒)

- シンク書き込み時間: TiCDCがトランザクションの変更をダウンストリームに書き込むのに費やした時間のヒストグラム
- シンク書き込み期間パーセンタイル: TiCDC が 1 秒以内にトランザクションの変更をダウンストリームに書き込むのに費やした時間 (P95、P99、および P999)
- フラッシュシンク期間: TiCDC が非同期的にデータを下流にフラッシュするのにかかった時間のヒストグラム
- フラッシュシンク期間パーセンタイル: TiCDC が 1 秒以内にデータを非同期にダウンストリームにフラッシュするのにかかる時間 (P95、P99、および P999)

- MySQLシンク競合検出期間: MySQLシンク競合の検出に費やされた時間のヒストグラム
- MySQLシンク競合検出期間パーセンタイル: 1秒以内にMySQLシンク競合を検出するのに費やされた時間(P95、P99、P999)
- MySQLシンクワーカーの負荷: TiCDCノードのMySQLシンクワーカーのワークロード

- Changefeed キャッチアップ ETA: レプリケーションタスクが上流のクラスタデータに追いつくのに必要な推定時間です。上流の書き込み速度が TiCDC のレプリケーション速度よりも速い場合、この指標は非常に大きくなる可能性があります。TiCDC のレプリケーション速度は多くの要因に左右されるため、この指標は参考値であり、実際のレプリケーション時間とは異なる可能性があります。
イベント
以下はイベントパネルの例です。

イベントパネルの各メトリックの説明は次のとおりです。
- イベントフィード数: TiCDCノードのイベントフィードRPCリクエストの数
- イベントサイズのパーセンタイル: TiCDCがTiKVから1秒以内に受信するイベントサイズ(P95、P99、P999)
- イベントフィードエラー/分: TiCDCノードのイベントフィードRPCリクエストによって1分あたりに報告されたエラーの数
- KVクライアント受信イベント数/秒: TiCDCノードのKVクライアントモジュールがTiKVから1秒あたりに受信するイベント数
- プラー受信イベント数/秒: TiCDCノードのプラーモジュールがKVクライアントから1秒あたりに受信するイベント数
- プラー出力イベント数/秒: TiCDCノードのプラーモジュールがソーターモジュールに送信するイベント数/秒
- シンクフラッシュ行数/秒: TiCDCノードが1秒あたりにダウンストリームに書き込むイベント数
- プラーバッファサイズ: TiCDCノードがプラーモジュールにキャッシュするイベントの数
- エントリソーターバッファサイズ: TiCDCノードがソーターモジュールにキャッシュするイベントの数
- プロセッサ/マウントバッファサイズ: TiCDCノードがプロセッサモジュールとマウントモジュールにキャッシュするイベントの数
- シンク行バッファサイズ: TiCDCノードがシンクモジュールにキャッシュするイベントの数
- エントリソーターのソート期間: TiCDCノードがイベントをソートするのにかかった時間のヒストグラム
- エントリーソーターのソート所要時間パーセンタイル: TiCDCのソートイベントが1秒間に要した時間(P95、P99、P999)
- エントリソーターのマージ期間: TiCDCノードがソートされたイベントをマージするのにかかった時間のヒストグラム
- エントリソーターのマージ所要時間パーセンタイル: TiCDCがソートされたイベントを1秒以内にマージするのにかかる時間(P95、P99、P999)
- マウンターのアンマーシャリング期間: TiCDCノードがイベントをアンマーシャリングするのにかかった時間のヒストグラム
- マウンターのアンマーシャリング期間のパーセンタイル: TiCDC アンマーシャリング イベントが 1 秒間に要した時間 (P95、P99、および P999)
- KVクライアントディスパッチイベント数/秒: KVクライアントモジュールがTiCDCノード間でディスパッチするイベント数
- KVクライアントのバッチ解決サイズ: TiKVがTiCDCに送信する解決済みタイムスタンプメッセージのバッチサイズ
ティクブ
以下はTiKVパネルの例です。

TiKVパネルの各メトリックの説明は次のとおりです。
- CDCエンドポイントCPU: TiKVノード上のCDCエンドポイントスレッドのCPU使用率
- CDCワーカーCPU: TiKVノード上のCDCワーカースレッドのCPU使用率
- 最小解決タイムスタンプ: TiKVノード上の最小解決タイムスタンプ
- 最小解決リージョン: TiKVノード上の最小解決タイムスタンプのリージョンID
- 解決されたTSラグ期間パーセンタイル: TiKVノード上の最小解決タイムスタンプと現在の時刻の間のラグ
- 初期スキャン期間: TiKVノードがTiCDCノードに接続する際の増分スキャンに費やされた時間のヒストグラム
- 初期スキャン所要時間パーセンタイル: 1秒以内にTiKVノードの増分スキャンに費やされた時間(P95、P99、P999)
- ブロックキャッシュなしのメモリ: RocksDBブロックキャッシュを除いたTiKVノードのメモリ使用量
- メモリ内のCDC保留バイト数: TiKVノード上のCDCモジュールのメモリ使用量
- キャプチャされた領域の数: TiKVノード上のイベントキャプチャ領域の数