TiDB Data Migration 处理告警
本文档介绍如何处理 TiDB Data Migration (DM) 中的告警。
高可用告警
DM_master_all_down
当全部 DM-master 离线时触发该告警。发生该错误时,需要检查集群环境,并通过各节点日志排查错误。
DM_worker_offline
存在离线的 DM-worker 超过一小时会触发该告警。在高可用架构下,该告警可能不会直接中断任务,但是会提升任务中断的风险。处理告警可以查看对应 DM-worker 节点的工作状态,检查是否连通,并通过日志排查错误。
DM_DDL_error
处理 shard DDL 时出现错误,此时需要参考 DM 故障诊断进行处理。
DM_pending_DDL
存在未完成的 shard DDL 并超过一小时会触发该告警。在某些应用场景下,存在未完成的 shard DDL 可能是用户所期望的。在用户预期以外的场景下,可以通过手动处理 Sharding DDL Lock解决。
任务状态告警
DM_task_state
当 DM-worker 内有子任务处于 Paused
状态超过 20 分钟时会触发该告警,此时需要参考 DM 故障诊断进行处理。
relay log 告警
DM_relay_process_exits_with_error
当 relay log 处理单元遇到无法自动恢复的错误时(如找不到 binlog 文件),或者短时间内多次遇到(如 2 分钟内遇到 3 次以上)可自动恢复的错误时(如网络问题),会触发该告警,此时需要参考 DM 故障诊断进行处理。
DM_remain_storage_of_relay_log
当 relay log 所在磁盘的剩余可用容量小于 10G 时会触发该告警,对应的处理方法包括:
- 手动清理该磁盘上其他无用数据以增加可用容量。
- 尝试调整 relay log 的自动清理策略或执行手动清理。
- 使用
pause-relay
命令暂停 relay log 的拉取,并在磁盘空间合适之后使用resume-relay
命令恢复。需要注意上游数据源不要清理尚未拉取的 binlog。
DM_relay_log_data_corruption
当 relay log 处理单元在校验从上游读取到的 binlog event 且发现 checksum 信息异常时会转为 Paused
状态并立即触发告警,此时需要参考 DM 故障诊断进行处理。
DM_fail_to_read_binlog_from_master
当 relay log 处理单元在尝试从上游读取 binlog event 发生错误时,会转为 Paused
状态并立即触发该告警,此时需要参考 DM 故障诊断进行处理。
DM_fail_to_write_relay_log
当 relay log 处理单元在尝试将 binlog event 写入 relay log 文件发生错误时,会转为 Paused
状态并立即触发该告警,此时需要参考 DM 故障诊断进行处理。
DM_binlog_file_gap_between_master_relay
当 relay log 处理单元已拉取到的最新的 binlog 文件个数落后于当前上游 MySQL/MariaDB 超过 1 个(不含 1 个)且持续 10 分钟时会触发该告警,此时需要参考性能问题及处理方法对 relay log 处理单元相关的性能问题进行排查与处理。
Dump/Load 告警
DM_dump_process_exists_with_error
当 Dump 处理单元遇到无法自动恢复的错误时(如找不到 binlog 文件),或者短时间内多次遇到(如 2 分钟内遇到 3 次以上)可自动恢复的错误时(如网络问题),会触发该告警,此时需要参考 DM 故障诊断进行处理。
DM_load_process_exists_with_error
当 Load 处理单元遇到无法自动恢复的错误时(如找不到 binlog 文件),或者短时间内多次遇到(如 2 分钟内遇到 3 次以上)可自动恢复的错误时(如网络问题),会触发该告警,此时需要参考 DM 故障诊断进行处理。
Binlog replication 告警
DM_sync_process_exists_with_error
当 Binlog replication 处理单元遇到无法自动恢复的错误时(如找不到 binlog 文件),或者短时间内多次遇到(如 2 分钟内遇到 3 次以上)可自动恢复的错误时(如网络问题),会触发该告警,此时需要参考 DM 故障诊断进行处理。
DM_binlog_file_gap_between_master_syncer
当 Binlog replication 处理单元已处理到的最新的 binlog 文件个数落后于当前上游 MySQL/MariaDB 超过 1 个(不含 1 个)且持续 10 分钟时 DM 会触发该告警,此时需要参考性能问题及处理方法对 Binlog replication 处理单元相关的性能问题进行排查与处理。
DM_binlog_file_gap_between_relay_syncer
当 Binlog replication 处理单元已处理到的最新的 binlog 文件个数落后于当前 relay log 处理单元超过 1 个(不含 1 个)且持续 10 分钟时 DM 会触发该告警,此时需要参考性能问题及处理方法对 Binlog replication 处理单元相关的性能问题进行排查与处理。