TiDBBinlog監視
TiDB Binlogを正常にデプロイしたら、Grafana Web (デフォルトのアドレス: http://grafana_ip:3000 、デフォルトのアカウント: admin、パスワード: admin) にアクセスして、 PumpとDrainerの状態を確認できます。
指標のモニタリング
TiDB Binlog は、 PumpとDrainerの 2 つのコンポーネントで構成されています。このセクションでは、 PumpとDrainerの監視メトリクスを示します。
Pump監視指標
Pumpモニタリング メトリックを理解するには、次の表を確認してください。
Drainerモニタリング指標
Drainerモニタリング メトリックを理解するには、次の表を確認してください。
アラート ルール
このセクションでは、TiDB Binlogのアラート ルールを示します。重大度レベルに応じて、TiDB Binlogアラート ルールは 3 つのカテゴリ (高から低) に分類されます: 緊急レベル、重大レベル、警告レベルです。
緊急レベルのアラート
緊急レベルのアラートは、多くの場合、サービスまたはノードの障害によって発生します。手動による介入がすぐに必要です。
binlog_pump_storage_error_count
アラート ルール:
changes(binlog_pump_storage_error_count[1m]) > 0説明:
Pumpはbinlogデータをローカルstorageに書き込むことができません。
解決:
pump_storage_error監視に異常がないか確認し、 Pump のログを確認して原因を突き止めてください。
重大レベルのアラート
重大レベルのアラートについては、異常なメトリックを注意深く監視する必要があります。
binlog_drainer_checkpoint_high_delay
アラート ルール:
(time() - binlog_drainer_checkpoint_tso / 1000) > 3600説明:
Drainerレプリケーションの遅延が 1 時間を超えています。
解決:
Pumpからデータを取得するのが遅すぎるかどうかを確認します。
Pumpの
handle tsoをチェックして、各Pumpの最新メッセージの時刻を取得できます。Pumpのレイテンシーが大きいかどうかを確認し、対応するPumpが正常に動作していることを確認します。Drainer
eventとDrainerexecute latencyに基づいて、ダウンストリームでデータをレプリケートするのが遅すぎるかどうかを確認します。- Drainer
execute timeが大きすぎる場合は、Drainer がDrainerされたマシンとターゲット データベースがデプロイされたマシンの間のネットワーク帯域幅とレイテンシー、およびターゲット データベースの状態を確認します。 - Drainer
execute timeが大きすぎず、Drainereventが小さすぎる場合は、work countとbatchを追加して再試行します。
- Drainer
上記の 2 つの解決策が機能しない場合は、PingCAP またはコミュニティから支持を得ます 。
警告レベルのアラート
警告レベルのアラートは、問題またはエラーのリマインダーです。
binlog_pump_write_binlog_rpc_duration_seconds_bucket
アラート ルール:
histogram_quantile(0.9, rate(binlog_pump_rpc_duration_seconds_bucket{method="WriteBinlog"}[5m])) > 1説明:
Pump がbinlogを書き込む TiDB 要求を処理するには時間がかかりすぎます。
解決:
- ディスク パフォーマンスのプレッシャーを確認し、
node exportedでディスク パフォーマンスの監視を確認します。 disk latencyとutil両方が低い場合、PingCAP またはコミュニティからの支持を得ます 。
- ディスク パフォーマンスのプレッシャーを確認し、
binlog_pump_storage_write_binlog_duration_time_bucket
アラート ルール:
histogram_quantile(0.9, rate(binlog_pump_storage_write_binlog_duration_time_bucket{type="batch"}[5m])) > 1説明:
Pump がローカルbinlog をローカル ディスクに書き込むのにかかる時間。
解決:
Pumpのローカルディスクの状態を確認し、問題を修正してください。
binlog_pump_storage_available_size_less_than_20G
アラート ルール:
binlog_pump_storage_storage_size_bytes{type="available"} < 20 * 1024 * 1024 * 1024説明:
Pumpの使用可能なディスク容量は 20 GB 未満です。
解決:
Pump
gc_tsoが正常かどうかを確認します。そうでない場合は、 Pumpの GC 時間構成を調整するか、対応するPump をオフラインにします。
binlog_drainer_checkpoint_tso_no_change_for_1m
アラート ルール:
changes(binlog_drainer_checkpoint_tso[1m]) < 1説明:
Drainer
checkpointは 1 分間更新されていません。解決:
オフラインになっていないすべてのポンプが正常に動作しているかどうかを確認します。
binlog_drainer_execute_duration_time_more_than_10s
アラート ルール:
histogram_quantile(0.9, rate(binlog_drainer_execute_duration_time_bucket[1m])) > 10説明:
Drainer がデータを TiDB にレプリケートするのにかかるトランザクション時間。大きすぎると、データのDrainerレプリケーションが影響を受けます。
解決:
- TiDB クラスターの状態を確認します。
- Drainerログまたはモニターを確認してください。 DDL 操作がこの問題の原因である場合は、無視してかまいません。