备份恢复监控告警

    日志备份支持功能使用 采集监控指标,目前所有的监控指标都内置在 TiKV 中。

    • 通过 TiUP 部署的集群,Prometheus 会自动采集相关的监控指标。

    • 通过 TiUP 部署的集群,Grafana 中内置了 Backup log 的面板。

    • 手动部署的集群,需要参考,将 tikv_details.json 文件上传到 Grafana 中。之后在 TiKV-Details Dashboard 中找到 Backup Log 面板即可。

    配置告警

    告警规则配置可以参考下面的步骤:

    1. 在 Prometheus 所在节点上创建告警规则的配置文件(例如 pitr.rules.yml),参考 Prometheus 文档 和下列推荐的告警项及配置样例填写告警规则。
    2. 在 Prometheus 配置文件中的 rule_files 字段填入告警规则文件的路径。
    3. 通过向 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,此时已有部分数据丢失,极有可能对业务产生影响。