备份恢复监控告警
日志备份支持功能使用 采集监控指标,目前所有的监控指标都内置在 TiKV 中。
通过 TiUP 部署的集群,Prometheus 会自动采集相关的监控指标。
通过 TiUP 部署的集群,Grafana 中内置了 Backup log 的面板。
手动部署的集群,需要参考,将 tikv_details.json 文件上传到 Grafana 中。之后在 TiKV-Details Dashboard 中找到 Backup Log 面板即可。
配置告警
告警规则配置可以参考下面的步骤:
- 在 Prometheus 所在节点上创建告警规则的配置文件(例如
pitr.rules.yml
),参考 Prometheus 文档 和下列推荐的告警项及配置样例填写告警规则。 - 在 Prometheus 配置文件中的
rule_files
字段填入告警规则文件的路径。 - 通过向 Prometheus 进程发送
SIGHUP
信号(kill -HUP pid
)或向http://prometheus-addr/-/reload
发送 HTTP 请求(使用 HTTP 请求方式前需要在启动 Prometheus 时指定--web.enable-lifecycle
参数)。
以下为推荐的告警项配置:
LogBackupRunningRPOMoreThan10m
- 表达式:
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
- 告警级别:warning
- 说明:日志数据超过 10 分钟未持久化到存储中,该配置项主要用于提醒,大部分情况下,不会影响日志备份。
LogBackupRunningRPOMoreThan30m
- 表达式:
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 分钟未持久化到存储中,出现该告警表示极有可能出现异常,可以查看 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
- 告警级别:warning
- 说明:日志备份任务处于暂停状态超过 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
- 告警级别:critical
- 说明:日志备份任务处于暂停状态超过 12 小时,应尽快执行
br log resume
恢复任务。任务处于暂停状态时间过长会有数据丢失的风险。
LogBackupFailed
- 表达式:
max(tikv_log_backup_task_status) by (task) == 2 and max(tidb_log_backup_last_checkpoint) by (task) > 0
- 告警级别:critical
- 说明:日志备份任务进入失败状态,需要执行
br log status
查看失败原因,如有必要还需进一步查看 TiKV 日志。
LogBackupGCSafePointExceedsCheckpoint
- 表达式:
min(tidb_log_backup_last_checkpoint) by (instance) - max(tikv_gcworker_autogc_safe_point) by (instance) < 0
- 说明:部分数据在备份前被 GC,此时已有部分数据丢失,极有可能对业务产生影响。