dm监控replicate lag无数据

安装官方文档,我在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的相关日志。
image

提供下 dm 的版本
简述下 hearbeat 开启生效的流程,或者在 dm-worker log 中搜索该参数看最后搜索结果对应的值。

1、dm的版本
image
2、开启heartbeat的流程
首先是通过dmctl停止现有的任务,编辑任务配置文件,将enable-heartbeat:false改为enable-heartbeat:true,然后启动通过dmctl启动该任务
3、在上游的mysql中,dm_heartbeat库中只有一个heartbeat表,没有sync*表

这个是dm-worker日志里面的。应该是就是heartbeat计算完后丢弃的???

感谢反馈,
辛苦反馈下 query-stauts 的信息,和 binlog replication 的完整监控截图,辛苦。

1、query-status


2、binlog replication

hi,
辛苦看下

  1. 此处 task 和 source 是否选取正确。
  2. 并且检查 heartbeat 是否已经被关闭了呢
  3. 对上游数据库进行写入,看监控变化,并注意监控时间区间的选取

看 binlog event size 那个都没有啥数据,说明这段时间内,DM 都没有从上游收到 binlog

1、task和source选取正确
2、配置文件heartbeat正确开启


3、

dm worker log 里搜一下 “update heartbeat ts”

搜索了,没有返回任何结果

  1. 停所有 task;停 DM-worker,注意顺序
  2. 把上游 DM_HEARTBEAT 库删了,需要确认已经删除
  3. 再启 DM-worker;启所有 task

感谢配合

如上操作后还是没有,日志里面也没有update heartbeat ts信息!

  1. 把 最近一次重启 dm-worker 的 log 辛苦截取上传下
  2. 上传下 task 文件
  3. 看下 query-status 和 监控 binlog replication 的信息,辛苦辛苦

1、


2、task_advanced.yaml (6.5 KB)
3.1、
3.2、

  1. 可以在上游数据库检查 dm_heartbeat.heartbeat 数据,看延迟信息是否有在事实更新,间接确定是没有写延迟监控信息,还是 metrics 有异常
  2. 检查 prometheus 中的 metrics,是否都正常

1、image
2、

(一部分,太长了截图不完整,监控项都有数据)

  • 从数据库信息看 heartbeat 信息有写入
  • 可以访问 dm-worker 的 status 端口 curl -s http://:/metrics | grep dm_syncer_replication_lag 检查一下 metrics 有写入么

没有相关信息