バックアップと復元の監視とアラート
このドキュメントでは、バックアップおよび復元機能の監視とアラートについて説明します。これには、監視コンポーネントのデプロイ方法、監視メトリック、および一般的なアラートが含まれます。
ログバックアップ監視
ログ バックアップでは、監視メトリックを収集するためにプロメテウスを使用することがサポートされています。現在、すべての監視メトリクスは TiKV に組み込まれています。
監視構成
- TiUPを使用してデプロイされたクラスターの場合、Prometheus はモニタリング メトリックを自動的に収集します。
- 手動でデプロイされたクラスターの場合、 TiDBクラスタ監視の展開の手順に従って、TiKV 関連のジョブを Prometheus 構成ファイルの
scrape_configsセクションに追加します。
グラファナ構成
- TiUPを使用してデプロイされたクラスターの場合、 グラファナダッシュボードにはポイントインタイム リカバリー (PITR) パネルが含まれます。 TiKV-Details ダッシュボードのBackup Logパネルは PITR パネルです。
- 手動でデプロイされたクラスターの場合は、 Grafana ダッシュボードをインポートするを参照し、 tikv_details JSON ファイルを Grafana にアップロードします。次に、TiKV-Details ダッシュボードで[Backup Log]パネルを見つけます。
指標のモニタリング
バックアップ アラートをログに記録する
アラート構成
現在、PITR には組み込みのアラート項目がありません。このセクションでは、PITR でアラート項目を構成する方法と、いくつかの項目を推奨する方法を紹介します。
PITR でアラート アイテムを構成するには、次の手順に従います。
- Prometheus が配置されているノードで、アラート ルールの構成ファイル (たとえば、
pitr.rules.yml) を作成します。ファイルには、 プロメテウスのドキュメント 、次の推奨されるアラート項目、および構成サンプルに従って、アラート ルールを入力します。 - Prometheus 構成ファイルの
rule_filesフィールドに、アラート ルール ファイルのパスを追加します。 - Prometheus プロセスに
SIGHUPシグナルを送信する (kill -HUP pid) か、HTTPPOSTリクエストをhttp://prometheus-addr/-/reloadに送信します (HTTP リクエストを送信する前に、Prometheus の起動時に--web.enable-lifecycleパラメーターを追加します)。
推奨されるアラート項目は次のとおりです。
LogBackupRunningRPO10m 以上
- アラート項目:
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 - アラート レベル: 警告
- 説明: ログ データがstorageに 10 分以上保存されていません。このアラート項目はリマインダーです。ほとんどの場合、ログ バックアップには影響しません。
このアラート項目の構成例は次のとおりです。
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
ログバックアップの実行中の RPO は 30 分以上
- アラート項目:
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 - 警告レベル: 重大
- 説明: ログ データがstorageに 30 分以上保存されていません。このアラートは多くの場合、異常を示します。 TiKV ログをチェックして、原因を見つけることができます。
LogBackupPausingMoreThan2h
- アラート項目:
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を実行する必要があります。
LogBackupPausingMoreThan12h
- アラート項目:
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 ログをさらに確認する必要があります。
LogBackupGCSafePointExceedsCheckpoint
- アラート項目:
min(tidb_log_backup_last_checkpoint) by (instance) - max(tikv_gcworker_autogc_safe_point) by (instance) < 0 - 警告レベル: 重大
- 説明: 一部のデータは、バックアップの前にガベージ コレクションされました。これは、一部のデータが失われ、サービスに影響を与える可能性が非常に高いことを意味します。