DM 监控指标

使用 DM-Ansible 部署 DM 集群的时候,会默认部署一套监控系统

注意:

目前只有 DM-worker 提供了 metrics,DM-master 暂未提供。

Task

在 Grafana dashboard 中,DM 默认名称为 DM-task

overview

overview 下包含运行当前选定 task 的所有 DM-worker instance 的部分监控指标。当前默认告警规则只针对于单个 DM-worker instance。

metric 名称说明告警说明告警级别
task state迁移子任务的状态N/AN/A
storage capacityrelay log 占有的磁盘的总容量N/AN/A
storage remainrelay log 占有的磁盘的剩余可用容量N/AN/A
binlog file gap between master and relayrelay 与上游 master 相比落后的 binlog file 个数N/AN/A
load progressload unit 导入过程的进度百分比,值变化范围为:0% - 100%N/AN/A
binlog file gap between master and syncer与上游 master 相比 binlog replication unit 落后的 binlog file 个数N/AN/A
shard lock resolving当前子任务是否正在等待 shard DDL 迁移,大于 0 表示正在等待迁移N/AN/A

task 状态

metric 名称说明告警说明告警级别
task state迁移子任务的状态当子任务状态处于 Paused 超过 20 分钟时critical

Relay log

metric 名称说明告警说明告警级别
storage capacityrelay log 占有的磁盘的总容量N/AN/A
storage remainrelay log 占有的磁盘的剩余可用容量小于 10G 的时候需要告警critical
process exits with errorrelay log 在 DM-worker 内部遇到错误并且退出了立即告警critical
relay log data corruptionrelay log 文件损坏的个数立即告警emergency
fail to read binlog from masterrelay 从上游的 MySQL 读取 binlog 时遇到的错误数立即告警critical
fail to write relay logrelay 写 binlog 到磁盘时遇到的错误数立即告警critical
binlog file indexrelay log 最大的文件序列号。如 value = 1 表示 relay-log.000001N/AN/A
binlog file gap between master and relayrelay 与上游 master 相比落后的 binlog file 个数落后 binlog file 个数超过 1 个(不含 1 个)且持续 10 分钟时critical
binlog posrelay log 最新文件的写入 offsetN/AN/A
read binlog event durationrelay log 从上游的 MySQL 读取 binlog 的时延,单位:秒N/AN/A
write relay log durationrelay log 每次写 binlog 到磁盘的时延,单位:秒N/AN/A
binlog event sizerelay log 写到磁盘的单条 binlog 的大小N/AN/A

Dump/Load unit

下面 metrics 仅在 task-modefull 或者 all 模式下会有值。

metric 名称说明告警说明告警级别
load progressload unit 导入过程的进度百分比,值变化范围为:0% - 100%N/AN/A
data file sizeload unit 导入的全量数据中数据文件(内含 INSERT INTO 语句)的总大小N/AN/A
dump process exits with errordump unit 在 DM-worker 内部遇到错误并且退出了立即告警critical
load process exits with errorload unit 在 DM-worker 内部遇到错误并且退出了立即告警critical
table countload unit 导入的全量数据中 table 的数量总和N/AN/A
data file countload unit 导入的全量数据中数据文件(内含 INSERT INTO 语句)的数量总和N/AN/A
transaction execution latencyload unit 在执行事务的时延,单位:秒N/AN/A
statement execution latencyload unit 执行语句的耗时,单位:秒N/AN/A

Binlog replication

下面 metrics 仅在 task-modeincremental 或者 all 模式下会有值。

metric 名称说明告警说明告警级别
remaining time to sync预计 Syncer 还需要多少分钟可以和 master 完全同步,单位:分钟N/AN/A
replicate lagmaster 到 Syncer 的 binlog 复制延迟时间,单位:秒N/AN/A
process exist with errorbinlog replication unit 在 DM-worker 内部遇到错误并且退出了立即告警critical
binlog file gap between master and syncer与上游 master 相比落后的 binlog file 个数落后 binlog file 个数超过 1 个(不含 1 个)且持续 10 分钟时critical
binlog file gap between relay and syncer与 relay 相比落后的 binlog file 个数落后 binlog file 个数超过 1 个(不含 1 个)且持续 10 分钟时critical
binlog event QPS单位时间内接收到的 binlog event 数量 (不包含需要跳过的 event)N/AN/A
skipped binlog event QPS单位时间内接收到的需要跳过的 binlog event 数量N/AN/A
read binlog event durationbinlog replication unit 从 relay log 或上游 MySQL 读取 binlog 的耗时,单位:秒N/AN/A
transform binlog event durationbinlog replication unit 解析 binlog 并将 binlog 转换成 SQL 语句的耗时,单位:秒N/AN/A
dispatch binlog event durationbinlog replication unit 调度一条 binlog event 的耗时,单位:秒N/AN/A
transaction execution latencybinlog replication unit 执行事务到下游的耗时,单位:秒N/AN/A
binlog event sizebinlog replication unit 从 relay log 或上游 MySQL 读取的单条 binlog event 的大小N/AN/A
DML queue remain length剩余 DML job 队列的长度N/AN/A
total sqls jobs单位时间内新增的 job 数量N/AN/A
finished sqls jobs单位时间内完成的 job 数量N/AN/A
statement execution latencybinlog replication unit 执行语句到下游的耗时,单位:秒N/AN/A
add job durationbinlog replication unit 增加一条 job 到队列的耗时,单位:秒N/AN/A
DML conflict detect durationbinlog replication unit 检测 DML 间冲突的耗时,单位:秒N/AN/A
skipped event durationbinlog replication unit 跳过 binlog event 的耗时,单位:秒N/AN/A
unsynced tables当前子任务内还未收到 shard DDL 的分表数量N/AN/A
shard lock resolving当前子任务是否正在等待 shard DDL 迁移,大于 0 表示正在等待迁移N/AN/A

Instance

在 Grafana dashboard 中,instance 的默认名称为 DM-instance

Relay log

metric 名称说明告警说明告警级别
storage capacityrelay log 占有的磁盘的总容量N/AN/A
storage remainrelay log 占有的磁盘的剩余可用容量小于 10G 的时候需要告警critical
process exits with errorrelay log 在 DM-worker 内部遇到错误并且退出了立即告警critical
relay log data corruptionrelay log 文件损坏的个数立即告警emergency
fail to read binlog from masterrelay 从上游的 MySQL 读取 binlog 时遇到的错误数立即告警critical
fail to write relay logrelay 写 binlog 到磁盘时遇到的错误数立即告警critical
binlog file indexrelay log 最大的文件序列号。如 value = 1 表示 relay-log.000001N/AN/A
binlog file gap between master and relayrelay 与上游 master 相比落后的 binlog file 个数落后 binlog file 个数超过 1 个(不含 1 个)且持续 10 分钟时critical
binlog posrelay log 最新文件的写入 offsetN/AN/A
read binlog durationrelay log 从上游的 MySQL 读取 binlog 的时延,单位:秒N/AN/A
write relay log durationrelay log 每次写 binlog 到磁盘的时延,单位:秒N/AN/A
binlog sizerelay log 写到磁盘的单条 binlog 的大小N/AN/A

task

metric 名称说明告警说明告警级别
task state迁移子任务的状态当子任务状态处于 paused 超过 10 分钟时critical
load progressload unit 导入过程的进度百分比,值变化范围为:0% - 100%N/AN/A
binlog file gap between master and syncer与上游 master 相比 binlog replication unit 落后的 binlog file 个数N/AN/A
shard lock resolving当前子任务是否正在等待 shard DDL 迁移,大于 0 表示正在等待迁移N/AN/A