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
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 操作によってこの問題が発生した場合は無視できます。