功能问题排查
连通性测试失败
首先异常监控查看sidecar异常日志,查看异常堆栈可以看到host相关信息,确认是不是由于一些账号、密码错误或者其他网络原因导致连不通,这个会有具体的堆栈信息。
如果是网络问题,可以直接通过 docker exec 登入容器,ping 和 telnet 下目标数据库,如果 telnet 不通,说明网络存在问题(容器默认没有安装telnet命令,请自行 yum install 安装)。一般可能如下原因:
- 云数据库的白名单限制
- 防火墙拦截
- 账号密码不正确导致的权限问题
- host,port 地址不正确导致的网络不可达
- 没有正确安装 cloudcanal,sidecar 本身不正常
如果自查后还未解决请在问答区提问,提供如下信息:
- CloudCanal sidecar 容器 ip 和宿主机 ip
- CloudCanal 创建的 docker network 的 inspect 信息(先 docker network ls | grep cloudcanal 然后docker inspect ${NETWORK_ID} )
- 需要访问的数据库的 host 信息
- 异常监控 sidecar 异常堆栈截图(如果没有就直接截图列表页)
- sidecar 容器内 ping/telnet 结果截图
- sidecar 容器内 mysql client 直连效果截图
- sidecar 容器宿主机上直连数据库效果截图
- 确认防火墙关闭的截图
- 云数据的话确认白名单的截图