📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

バックアップと復元の監視とアラート

このドキュメントでは、監視コンポーネント、監視メトリック、一般的なアラートを展開する方法など、バックアップと復元機能の監視とアラートについて説明します。

スナップショットのバックアップと復元の監視

スナップショットのバックアップと復元のメトリックを表示するには、Grafana のTiKV詳細>バックアップとインポートダッシュボードに移動します。

ログバックアップ監視

ログバックアップは、監視メトリックの収集にプロメテウス使用をサポートしています。現在、すべての監視メトリックはTiKVに組み込まれています。

監視構成

  • TiUPを使用してデプロイされたクラスターの場合、Prometheus は監視メトリックを自動的に収集します。
  • 手動でデプロイされたクラスターの場合は、 TiDBクラスタ監視の展開の手順に従って、Prometheus 構成ファイルのscrape_configsセクションに TiKV 関連のジョブを追加します。

Grafanaの設定

  • TiUPを使用してデプロイされたクラスターの場合、ダッシュボードグラファナにポイントインタイムリカバリ (PITR) パネルが表示されます。TiKV-Details ダッシュボードのバックアップログパネルが PITR パネルです。
  • 手動でデプロイされたクラスターの場合は、 Grafanaダッシュボードをインポートするを参照し、 tikv_詳細 JSON ファイルを Grafana にアップロードしてください。その後、TiKV-Details ダッシュボードのバックアップログパネルを見つけてください。

監視メトリクス

メトリクスタイプ説明
tikv_log_backup_internal_actor_acting_duration_secヒストグラムすべての内部メッセージとイベントを処理する期間。
message :: TaskType
tikv_log_backup_initial_scan_reasonカウンタ初期スキャンがトリガーされた理由の統計。主な理由は、リーダーの交代またはリージョンバージョンの変更です。
reason :: {"leader-changed", "region-changed", "retry"}
tikv_log_backup_event_handle_duration_secヒストグラムKVイベントの処理時間tikv_log_backup_on_event_duration_secondsと比較すると、この指標には内部変換の期間も含まれます。
stage :: {"to_stream_event", "save_to_temp_file"}
tikv_log_backup_handle_kv_batchヒストグラムRaftstoreによって送信された KV ペア バッチのサイズの領域レベルの統計。
tikv_log_backup_initial_scan_disk_readカウンタ初期スキャン中にディスクから読み取られたデータのサイズ。Linuxでは、この情報はprocfsから取得され、ブロックデバイスから実際に読み取られたデータのサイズです。このメトリックには、設定項目initial-scan-rate-limit適用されます。
tikv_log_backup_incremental_scan_bytesヒストグラム初期スキャン中に実際に生成されたKVペアのサイズ。圧縮とリードアンプリフィケーションのため、この値はtikv_log_backup_initial_scan_disk_readと異なる場合があります。
tikv_log_backup_skip_kv_countカウンタバックアップに役立たないため、ログ バックアップ中にスキップされるRaftイベントの数。
tikv_log_backup_errorsカウンタログ バックアップ中に再試行または無視できるエラー。
type :: ErrorType
tikv_log_backup_fatal_errorsカウンタログバックアップ中に再試行または無視できないエラー。このタイプのエラーが発生すると、ログバックアップは一時停止されます。
type :: ErrorType
tikv_log_backup_heap_memoryゲージログ バックアップ中の初期スキャンで検出された、消費されていないイベントによって占有されているメモリ。
tikv_log_backup_on_event_duration_secondsヒストグラムKV イベントを一時ファイルに保存する期間。
stage :: {"write_to_tempfile", "syscall_write"}
tikv_log_backup_store_checkpoint_tsゲージストアレベルのチェックポイントTSは非推奨です。現在のストアによって登録されたGCセーフポイントに近いです。
task :: string
tidb_log_backup_last_checkpointゲージグローバルチェックポイントTS。ログデータがバックアップされている時点です。
task :: string
tikv_log_backup_flush_duration_secヒストグラムローカルの一時ファイルを外部storageに移動する時間。
stage :: {"generate_metadata", "save_files", "clear_temp_files"}
tikv_log_backup_flush_file_sizeヒストグラムバックアップ中に生成されたファイルのサイズの統計。
tikv_log_backup_initial_scan_duration_secヒストグラム初期スキャンの全体的な所要時間の統計。
tikv_log_backup_skip_retry_observeカウンタログ バックアップ中に無視できるエラーの統計、または再試行がスキップされる理由。
reason :: {"region-absent", "not-leader", "stale-command"}
tikv_log_backup_initial_scan_operationsカウンタ初期スキャン中の RocksDB 関連操作の統計。
cf :: {"default", "write", "lock"}, op :: RocksDBOP
tikv_log_backup_enabledカウンタログバックアップを有効にするかどうか。値が0より大きい場合、ログバックアップは有効になります。
tikv_log_backup_observed_regionゲージリッスンされているリージョンの数。
tikv_log_backup_task_statusゲージログ バックアップ タスクのステータス。1 0実行中、 1一時停止中、 2エラーを意味します。
task :: string
tikv_log_backup_pending_initial_scanゲージ保留中の初期スキャンの統計。
stage :: {"queuing", "executing"}

ログバックアップアラート

アラート設定

現在、PITRにはアラート項目が組み込まれていません。このセクションでは、PITRでアラート項目を設定する方法と、推奨されるアラート項目をいくつか紹介します。

PITR でアラート項目を構成するには、次の手順に従います。

  1. Prometheusが配置されているノードのアラートルール用の設定ファイル(例: pitr.rules.yml )を作成します。このファイルには、 Prometheusのドキュメント 、以下の推奨アラート項目、および設定サンプルに従ってアラートルールを記述します。
  2. Prometheus 構成ファイルのrule_filesフィールドに、アラート ルール ファイルのパスを追加します。
  3. PrometheusプロセスにシグナルSIGHUP送信するか( kill -HUP pid )、HTTPリクエストPOSThttp://prometheus-addr/-/reloadに送信します(HTTPリクエストを送信する前に、Prometheusの起動時にパラメータ--web.enable-lifecycleを追加します)。

推奨されるアラート項目は次のとおりです。

ログバックアップ実行RPO10分以上

  • 警告項目: max(time() - tidb_log_backup_last_checkpoint / 262144000) by (task) / 60 > 10 and max(tidb_log_backup_last_checkpoint) by (task) > 0 and max(tikv_log_backup_task_status) by (task) == 0
  • 警戒レベル:警告
  • 説明: ログデータが10分以上storageに保存されていません。このアラートはリマインダーです。ほとんどの場合、ログバックアップには影響しません。

このアラート項目の構成サンプルは次のとおりです。

groups: - name: PiTR rules: - alert: LogBackupRunningRPOMoreThan10m expr: max(time() - tidb_log_backup_last_checkpoint / 262144000) by (task) / 60 > 10 and max(tidb_log_backup_last_checkpoint) by (task) > 0 and max(tikv_log_backup_task_status) by (task) == 0 labels: severity: warning annotations: summary: RPO of log backup is high message: RPO of the log backup task {{ $labels.task }} is more than 10m

ログバックアップ実行RPO30分以上

  • 警告項目: max(time() - tidb_log_backup_last_checkpoint / 262144000) by (task) / 60 > 30 and max(tidb_log_backup_last_checkpoint) by (task) > 0 and max(tikv_log_backup_task_status) by (task) == 0
  • 警戒レベル: 重大
  • 説明: ログデータが30分以上storageに保存されていません。このアラートは多くの場合、異常を示しています。原因を特定するには、TiKVログを確認してください。

ログバックアップ一時停止中 (2 時間以上)

  • 警告項目: max(time() - tidb_log_backup_last_checkpoint / 262144000) by (task) / 3600 > 2 and max(tidb_log_backup_last_checkpoint) by (task) > 0 and max(tikv_log_backup_task_status) by (task) == 1
  • 警戒レベル:警告
  • 説明: ログバックアップタスクが2時間以上一時停止されています。このアラートはリマインダーであり、できるだけ早くbr log resume実行してください。

ログバックアップ一時停止中(12時間以上)

  • 警告項目: max(time() - tidb_log_backup_last_checkpoint / 262144000) by (task) / 3600 > 12 and max(tidb_log_backup_last_checkpoint) by (task) > 0 and max(tikv_log_backup_task_status) by (task) == 1
  • 警戒レベル: 重大
  • 説明: ログバックアップタスクが12時間以上一時停止されています。タスクを再開するには、できるだけ早くbr log resume実行してください。ログタスクの一時停止時間が長すぎると、データが失われるリスクがあります。

ログバックアップ失敗

  • 警告項目: max(tikv_log_backup_task_status) by (task) == 2 and max(tidb_log_backup_last_checkpoint) by (task) > 0
  • 警戒レベル: 重大
  • 説明: ログバックアップタスクが失敗しました。失敗の原因を確認するには、 br log status実行する必要があります。必要に応じて、TiKV ログをさらに確認する必要があります。

ログバックアップGCセーフポイントがチェックポイントを超える

  • 警告項目: min(tidb_log_backup_last_checkpoint) by (instance) - max(tikv_gcworker_autogc_safe_point) by (instance) < 0
  • 警戒レベル: 重大
  • 説明: バックアップ前に一部のデータがガベージコレクションされました。これは、一部のデータが失われており、サービスに影響を与える可能性が非常に高いことを意味します。

このページは役に立ちましたか?