dm 监控数据为空

环境信息: TIDB 3.0.12+ DM 1.0.4 同步情况 : mysql(主) ---- mysql(从)—TIDB 压测工具 :sysbench 1.0

问题: 1 我压测的时候主要想了解DM同步的延迟情况,是binlog replication 下的execution latency指标吗

你好,

可以看下文档中关于 监控 dm 集群的描述

我在测试环境先测试了一下,可是监控没replicate lag的数据

你好,

请确认 dm 是否开启 enable-heartbeat,

启用该参数就可以了,但是延迟显示的是点图,能改成曲线图便于查看吗,在哪里可以更改

replicate lag: ##master 到 Syncer 的 binlog 复制延迟时间,单位:秒
如果完全计算延迟是不是还要算上
transaction execution latency: ##binlog replication unit 执行事务到下游的耗时,单位:秒

另外这个replicate lag延时计算方式
dm_syncer_replication_lag{task=“$task”, instance=“$instance”} 如果改成曲线图还是沿用这个计算方式吗, 这个计算按照什么时间范围来计算的。

全链路是这样的,

lag 那个如果像弄成曲线可以自己写自己想要的表达式,编辑图改了就行了

今天测试在更改了同步mysql上游库,部署新任务的时候,报错 “msg”: "[code=36035:class=sync-unit:scope=internal:level=medium] fail to initial unit Sync of subtask h4 : heartbeat config is different from previous used: masterCfg not equal, self: {Host:10.200.25.81 Port:3330 User:tidbslave Password:123456 MaxAllowedPacket:0xc0004033b8 RawDBCfg:\u003cnil\u003e}, other: {Host:10.200.25.225 Port:3306 User:tidbslave Password:123456 MaxAllowedPacket:0xc0043be248 RawDBCfg:\u003cnil\u003e}\ngithub.com/pingcap/dm/pkg/terror.(*Error).Generatef\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/pkg/terror/terror.go:237\ngithub.com/pingcap/dm/syncer.(*HeartbeatConfig).Equal\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/syncer/heartbeat.go:70\ngithub.com/pingcap/dm/syncer.GetHeartbeat\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/syncer/heartbeat.go:105\ github.com/pingcap/dm/syncer.(*Syncer).Init\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/syncer/syncer.go:392\ngithub.com/pingcap/dm/dm/worker.(*SubTask).Init\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/subtask.go:129\ngithub.com/pingcap/dm/dm/worker.(*SubTask).Run\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/subtask.go:172\ngithub.com/pingcap/dm/dm/worker.(*Worker).handleTask\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/worker.go:833\ngithub.com/pingcap/dm/dm/worker.(*Worker).Start.func1\ \t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/worker/worker.go:179\ runtime.goexit\ \t/usr/lo

换了上游mysql库,10.200.25.81改成了10.200.25.225 enable-heartbeat 这个配置哪里还需要修改的吗

您好,请问下更改同步 MySQL 上游库,是否是按照文档进行操作?
https://pingcap.com/docs-cn/tidb-data-migration/stable/usage-scenario-master-slave-switch/#切换-dm-worker-与上游-mysql-实例的连接

数据同步是已经OK的,但是我启用心跳表就报错了,然后我执行了一下操作

1、stop-task 与 dm_worker2

ansible-playbook stop.yml --tags=dm-worker -l dm_worker2

2、修改inventory.ini中的用户信息为新的

3、ansible-playbook rolling_update.yml -t dm-worker -l dm_worker2

4 ansible-playbook start.yml --tags=dm-worker -l dm_worker2

start-task h4.yaml

还是无效果

按照此步骤来了一次就可以了 1、stop-task dm_worker1

2、修改inventory.ini中的用户信息

3、ansible-playbook deploy.yml --tags=dm-worker -l dm_worker2

4、ansible-playbook start.yml --tags=dm-worker -l dm_worker2

5、ansible-playbook rolling_update.yml --tags=dm-master

6、ansible-playbook rolling_update_monitor.yml --tags=prometheus

7、start-task dm_worker2

嗯 好的,如果有其他问题,可以新开帖子提问。多谢,后面我来确认下操作步骤。

您好,我这边跟研发同学确认了下,不用重启 dm-master 就可以。

您上述报这个错误的意思是启动的 subtask 的上游写 heartbeat 的 db 地址发生改变,我们这边猜测可能是第一次重启 worker 时 task meta data 没删掉,后面如果再次遇到同样的问题,可以反馈下对应的 dm-worker 日志我们看下,多谢。

好的,感谢你的回复。

:handshake::handshake:

我怎么测试在数据量少(10个表10个线程对每个表5000做OLTP操作 比 10个表10个线程对每个表50000做OLTP操作)时候,mysql到TIDB同步的延迟还大些,情况是这样吗

您好,新问题麻烦另开新帖,感谢。另外您这边也可以看下监控,看下瓶颈情况。