告警处理
本文档介绍 DM 中各主要告警信息的处理方法。
高可用告警
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 v2.0 版本暂不支持开启 relay log 功能。
DM_relay_process_exits_with_error
当 relay log 处理单元遇到错误时,会转为 Paused
状态并立即触发该告警,此时需要参考 DM 故障诊断进行处理。
DM_remain_storage_of_relay_log
当 relay log 所在磁盘的剩余可用容量小于 10G 时会触发该告警,对应的处理方法包括:
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 处理单元遇到错误时,会转为 Paused
状态并立即触发该告警,此时需要参考 DM 故障诊断进行处理。
DM_load_process_exists_with_error
当 Load 处理单元遇到错误时,会转为 Paused
状态并立即触发该告警,此时需要参考 DM 故障诊断进行处理。
Binlog replication 告警
DM_sync_process_exists_with_error
当 Binlog replication 处理单元遇到错误时,会转为 Paused
状态并立即触发该告警,此时需要参考 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 处理单元相关的性能问题进行排查与处理。