客户端日志
数据访问代理连接器 dbp-connetor
是一个标准的 JDBC 实现,为用户提供了丰富的客户端扩展功能,例如 traceId 透传、SQL 链路追踪、数据库加密解密等功能。结合 dbp-connector
,即可在 logs/dbp-connector-digest.log
日志中,获取详细的 SQL 执行信息,包括 trace 信息等。
- 日志格式:
日志输出时间应用名称,traceId,RpcId,SQL 语句,执行结果(success/failed),执行耗时(ms),连接建立时间,数据库执行时间,当前线程名
- 日志示例:
2019-01-0318:12:33.541,xxx,0a0fe91c1514974353459100919649,0.1,select*from test,success,81ms,77ms,4ms,main
服务端日志
SQL 执行摘要日志
logs/tracelog/zdal-db-digest.log
是 SQL 执行摘要日志,是采样打印的。对于所有耗时大于 3ms 且执行失败的语句,会进行全量打印;而耗时小于 3ms 的语句,则会进行抽样打印。
- 日志格式:
日志打印时间,DBP实例ID,TraceId,RpcId,数据源名称,逻辑库名称,表名,SQL 类型,SQL,执行结果(success/failed),执行耗时(ms),当前线程名,数据库类型,逻辑表名,链接建立时间,数据库执行时间
- 日志示例:
2019-11-2216:40:15.112,Test,0a0fe93a1479804014974100121175,0.3,DataSourceName,LogDatabaseName,tableName,UPDATE,update user set pwd='1'where name='khotyn',success,8ms,main,mysql,logicTableName,1ms,0ms,mark=T&uid=a2&,mark=T&uid=a2&
SQL 执行统计日志
logs/tracelog/zdal-db-stat.log
是 SQL 执行统计日志,每分钟会针对不同库表 SQL 执行统计信息进行打印。
- 日志格式:
日志打印时间,DBP实例ID,数据源名称,逻辑库名称,表名,数据库类型,本段时间内的请求数量,本段时间内的请求总耗时,结果信息(Y/N),全链路压测标志(T/F)
- 日志示例:
2015-05-1120:03:30.487,Test,DataSourceName,LogDatabaseName,tableName,mysql,2,27,N,F
ODP 错误日志
logs/zdalproxy/common-error.log
是数据访问代理的错误日志,打印记录了详细的错误信息。
ODP 端到端的慢 SQL 日志
logs/zdalproxy/sql-digest.log
是数据访问代理端到端的慢 SQL 日志。对于 ODP 端到端的所有耗时大于 4ms 且执行失败的语句会进行全量打印;而小于 4ms 的日志,则会进行抽样打印。
- 日志格式:
SQL 执行时间戳,traceId,rpcId,数据库名,数据表名,SQL 类型,SQL,是否是默认数据源,是否是事务,是否执行成功,错误码,整体执行时间us,入队时间us,队列等待时间us,SQL 解析时间us,获取连接时间us,执行时间us,数据回写时间us
- 日志示例:
2019-01-2419:00:02,046,0afd0109151679160204065021743,0,cb_batch,SELECT,SELECT VERSION FROM spring_batch_JOB_EXECUTION WHERE JOB_EXECUTION_ID=29638,N,Y,Y,0,6830,18,17,14,1,6749,20
ODP 端到端的 SQL 统计日志
logs/zdalproxy/sql-stat.log
是数据访问代理端到端的 SQL 统计日志。
- 日志格式:
日志打印时间,数据库名,SQL 类型,是否执行成功,执行次数,总整体执行时间us,总入队时间us,总队列等待时间us,总SQL 解析时间us,总获取连接时间,总执行时间us,总数据回写时间us
- 日志示例:
2019-01-2410:28:22,888,user,SELECT,Y,24,80758,980,835,1969,122,62506,13117
ODP 服务端启动初始化日志
logs/zdalproxy/zdal-client.log
是数据访问代理服务端启动初始化日志,记录了整个初始化阶段的启动过程。
SQL 执行耗时监控日志
logs/zdalproxy/zdal/zdal-monitor.log
是 SQL 执行监控日志,用以打印异常 SQL 与慢 SQL。
数据库连接池日志
logs/zdalproxy/zdal/zdal-datasource.log
是物理数据源连接池统计日志,用以记录物理数据源下数据库连接池的变更。
日志示例:
2019-06-2615:05:57,305-[[,,,]]tradecore.physics07[Min:2;Max:4;CanUse:4;Managed:2;Using:0;MaxUsed:0;CreateCount:2;DestroyCount:0]
2019-06-2615:05:57,306-[[,,,]]tradecore.physics08[Min:2;Max:4;CanUse:4;Managed:2;Using:0;MaxUsed:0;CreateCount:2;DestroyCount:0]
2019-06-2615:05:57,306-[[,,,]]tradecore.physics01[Min:2;Max:4;CanUse:4;Managed:2;Using:0;MaxUsed:0;CreateCount:2;DestroyCount:0]
2019-06-2615:05:57,307-[[,,,]]tradecore.physics02[Min:2;Max:4;CanUse:4;Managed:2;Using:0;MaxUsed:2;CreateCount:2;DestroyCount:0]
日志中涉及的连接参数如下:
Min
:连接池连接数最小值。Max
:连接池连接数最大值。CanUse
:可使用连接数。Managed
:当前创建了多少连接。Using
: 这个瞬间正在使用多少连接。MaxUsed
:获取连接数的最大并发数。一般是指最多使用过多少个连接数,不会超过Max
连接数。CreateCount
:连接创建总次数。DestroyCount
:连接销毁总次数。
分库分表规则初始化日志
logs/zdalproxy/zdal/zdal-rule.log
是数据访问代理分库分表的初始化日志,记录了数据拆分规则的加载情况。