您当前的位置: 首页 > 

13MyCat - 日志分析

杨林伟 发布时间:2019-07-24 16:49:33 ,浏览量:2

日志配置

mycat的日志文件配置MYCAT_HOME/conf/log4j.xml,结构为: 在这里插入图片描述 日志配置是标准的log4j配置,其中:


是日志文件的存放目录。


 
 
 

是日志的级别,生成环境下建议将级别调整info/ware,如果是研究测试,特别是碰到异常可以通过开debug模式观察日志的信息查找异常原因。

warpper日志

目前Mycat的启动是经过warapper封装成启动脚本,所以日志也会有其相关的日志文件:${MYCAT_HOME}/logs/warapper.log,再启动时候如果系统环境配置错误或缺少配置时,导致Mycat无法启动,可以通过查看warrpper.log查看具体错 误原因。

正常启动状态的warpper日志为: 在这里插入图片描述 如果启动异常会有对应的异常信息,比如: 在这里插入图片描述 日志显示异常原因为java.net.BindException: Address already in use,也就是端口占用,很有可能是原有服务未停止,或者Mycat默认端口被其他程序占用,正常启动成功后会有mycat.log日志,如果服务未启动成功不会有对应的日志。

mycat日志

下面看一下info级别小成功启动的日志。 在这里插入图片描述 该部分日志可以看到配置的数据源相关信息,上面是两个数据源连接datahost。 在这里插入图片描述 该部分描述了Mycat的缓存信息及动态类加载信息。 在这里插入图片描述 该部分描述了Mycat线程池、buffer、连接池等等所有的配置信息,通过该启动项可以得知当前运行的Mycat个参数调整情况,生产环境下需要做部分参数调整,可以根据该日志分析参数情况。 在这里插入图片描述 该部分描述了Mycat启动端口。 在这里插入图片描述 该部分描述了Mycat时后端连接池的初始化过程。

如果某个连接断掉或异常心跳检测会有对应的日志如: 在这里插入图片描述 该日志是心跳检测到连接异常关闭后端连接的日志,可以通过该日志查看后端数据连接状态。

debug模式下分析sql执行

下面分析sql:select * from t_user t; 的执行。 在这里插入图片描述在这里插入图片描述 在这里插入图片描述 通过该日志可以看到Mycat整个执行的计划。 其中最重要的是sql路由的计划,可以看到sql具体被分配到那个分片执行: 在这里插入图片描述 该部分描述了该条sql被分配到到了分片dn1、dn2上同时执行,如果某个某个sql通过缓存、分片规则或者注解指定只会在某个分片执行,则sql只会被分配到到某个分片,例如: sql=select * from t_user t where t.user_id=121;该条数据只在分片1上。 在这里插入图片描述从日志可以看出sql只被路由到dn1节点执行。

异常日志

在这里插入图片描述 如上面日志异常原因为sql错误导致sql解析器无法解析sql,通过分析错误日志可以找到具体的出错原因。Mycat日志很重要,当发现SQL执行有异常的时候,大多数情况下,都可以通过分析Mycat日志来定位错误,当发现Bug存在的时候,也建议把相关日志信息附上,一并提交github issue。

关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 2浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0801s