TiDBBinlogモニタリング
TiDB Binlogを正常にデプロイしたら、Grafana Web(デフォルトのアドレス: http:// grafana_ip:3000 、デフォルトのアカウント:admin、パスワード:admin)にアクセスして、PumpandDrainerの状態を確認できます。
モニタリング指標
TiDB Binlogは、ポンプとドレイナーの2つのコンポーネントで構成されています。このセクションでは、ポンプとドレイナーの監視メトリックを示します。
ポンプ監視メトリクス
ポンプ監視メトリックを理解するには、次の表を確認してください。
ドレイナーモニタリングメトリクス
Drainerの監視メトリックを理解するには、次の表を確認してください。
アラートルール
このセクションでは、TiDBBinlogのアラートルールについて説明します。重大度レベルに応じて、TiDB Binlogアラートルールは、緊急レベル、クリティカルレベル、および警告レベルの3つのカテゴリ(高から低)に分類されます。
緊急レベルのアラート
緊急レベルのアラートは、多くの場合、サービスまたはノードの障害によって発生します。すぐに手動で介入する必要があります。
binlog_pump_storage_error_count
アラートルール:
changes(binlog_pump_storage_error_count[1m]) > 0説明:
Pumpはbinlogデータをローカルストレージに書き込めません。
解決:
pump_storage_errorモニタリングにエラーが存在するかどうかを確認し、ポンプログを確認して原因を特定します。
クリティカルレベルのアラート
クリティカルレベルのアラートの場合、異常なメトリックを注意深く監視する必要があります。
binlog_drainer_checkpoint_high_delay
アラートルール:
(time() - binlog_drainer_checkpoint_tso / 1000) > 3600説明:
Drainerレプリケーションの遅延が1時間を超えています。
解決:
Pumpからデータを取得するには遅すぎるかどうかを確認します。
ポンプの
handle tsoをチェックして、各ポンプの最新メッセージの時間を取得できます。ポンプに高い待ち時間が存在するかどうかを確認し、対応するポンプが正常に動作していることを確認します。eventとexecute latencyに基づいて、ダウンストリームでデータを複製するには遅すぎるかどうかを確認します。- Drainer
execute timeが大きすぎる場合は、Drainerが展開されているマシンとターゲットデータベースが展開されているマシンの間のネットワーク帯域幅と遅延、およびターゲットデータベースの状態を確認してください。 - ドレイナー
execute timeが大きすぎず、ドレイナーeventが小さすぎる場合は、work countとbatchを追加して、再試行してください。
- Drainer
上記の2つの解決策が機能しない場合は、 support@pingcap.comに連絡してください。
警告レベルのアラート
警告レベルのアラートは、問題またはエラーのリマインダーです。
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の両方が低い場合は、 support@pingcap.comに連絡してください。
- ディスクパフォーマンスの圧力を確認し、
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の使用可能なディスク容量は20GB未満です。
解決:
ポンプ
gc_tsoが正常か確認してください。そうでない場合は、ポンプのGC時間構成を調整するか、対応するポンプをオフラインにします。
binlog_drainer_checkpoint_tso_no_change_for_1m
アラートルール:
changes(binlog_drainer_checkpoint_tso[1m]) < 1説明:
ドレイナー
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クラスタの状態を確認してください。
- ドレイナーログまたはモニターを確認してください。 DDL操作によってこの問題が発生する場合は、無視してかまいません。