安装官方文档,我在dm的任务配置文件中将heartbeat设置为true,并重启同步任务。在上游的mysql中,查看到了自动建立的DM_HEARTBEAT库和HEARTBEAT表,并且表中的ts自动在实时更新,但是在grafana监控上replicate lag项显示为N/A,并且在Prometheus后台也没有dm_syncer_replication_lag项。
你好
看下 dm-worker 的日志看下是否有详细信息
提供下同步用户的权限。
show grants for ‘root’@’%’;
dm-worker日志上面没有replicate lag的相关日志。
提供下 dm 的版本
简述下 hearbeat 开启生效的流程,或者在 dm-worker log 中搜索该参数看最后搜索结果对应的值。
1、dm的版本
2、开启heartbeat的流程
首先是通过dmctl停止现有的任务,编辑任务配置文件,将enable-heartbeat:false改为enable-heartbeat:true,然后启动通过dmctl启动该任务
3、在上游的mysql中,dm_heartbeat库中只有一个heartbeat表,没有sync*表
感谢反馈,
辛苦反馈下 query-stauts 的信息,和 binlog replication 的完整监控截图,辛苦。
hi,
辛苦看下
- 此处 task 和 source 是否选取正确。
- 并且检查 heartbeat 是否已经被关闭了呢
- 对上游数据库进行写入,看监控变化,并注意监控时间区间的选取
看 binlog event size 那个都没有啥数据,说明这段时间内,DM 都没有从上游收到 binlog
dm worker log 里搜一下 “update heartbeat ts”
搜索了,没有返回任何结果
- 停所有 task;停 DM-worker,注意顺序
- 把上游 DM_HEARTBEAT 库删了,需要确认已经删除
- 再启 DM-worker;启所有 task
感谢配合
如上操作后还是没有,日志里面也没有update heartbeat ts信息!
- 把 最近一次重启 dm-worker 的 log 辛苦截取上传下
- 上传下 task 文件
- 看下 query-status 和 监控 binlog replication 的信息,辛苦辛苦
- 可以在上游数据库检查
dm_heartbeat
.heartbeat
数据,看延迟信息是否有在事实更新,间接确定是没有写延迟监控信息,还是 metrics 有异常 - 检查 prometheus 中的 metrics,是否都正常
- 从数据库信息看 heartbeat 信息有写入
- 可以访问 dm-worker 的 status 端口 curl -s http://:/metrics | grep dm_syncer_replication_lag 检查一下 metrics 有写入么