0
点赞
收藏
分享

微信扫一扫

TDSQL MySQL日常运维

Proxy相关资料

Proxy日志文档

    Proxy日志存储位置:/data/tdsql_run/端口/gateway/log/

    proxy是tdsql的核心组件之一,主要提供了sql转写,sql分发,鉴权,结果聚合,结果过滤等功能。

    常见的日志主要是inter_instance_xxx   sql_instance_xxx   slow_sql_instance_xxx() 等

1、Proxy日志内容介绍

a、接口日志interf_instance

接口日志主要存储了由客户端传输给服务器的原始信息,包括客户端,后端服务器等,日志格式以&和空格为分隔符。

[2021-08-12 15:55:58 386568] INFO topic=group_1623641961_38567&tid=57332&con=0x7ff118c3e000&
qid=4751805-1628054013-934461&splited=0&clientIP=10.129.213.233:14515&
proxyHost=10.129.213.17:15016&sql_size=166&sql_type=3&sub_sql_type=0&
sql=select name, sub_system_code, system_code from tsp_mutex where name%
3D'ksys_plrenw_health_check_mutex' and sub_system_code%3D'dept_bat'
and system_code%3D'dept' for update&db=core_acc&user=appuser&
10.129.213.20:4007=2&backend=10.129.213.20:4007&autocommit=0&
new_connnum=0&conn_tc=0&select_result_sum=1&affect_num=0&
hold_conns=1&resultcode=0&mc_request=0&timecost=0


[2021-08-12 15:55:58 386568]

日志记录时间

INFO

日志级别(INFO,WARING,ERROR

topic=group_1623641961_38567

对应的实例

tid=57332

线程id

con=0x7ff118c3e000

对应的是proxy处理过程中连接对象的地址,和tid一起用于定位用户连接生命周期内的所有操作

qid=4751805-1628054013-934461

proxy生成的事务id

splited=0

0表示原始查询,1表示proxy改写后的查询

clientIP=10.129.213.233:14515

客户端proxy的ip和端口

proxyHost=10.129.213.17:15016

连接proxy的ip和端口

sql_size=166

传输的sql长度

sql_type=3

这个是用户在握手后发送的请求类型,常用的有3(COM_QUERY),22和23(对应PREPARE和EXECUTE)

sub_sql_type=0

子查询类型,一般都是0(select)

sql=select name, sub_system_code, system_code from tsp_mutex where name%3D'ksys_plrenw_health_check_mutex' and sub_system_code%3D'dept_bat' and system_code%3D'dept' for update

执行的sql语句

db=core_acc

数据库名称

user=appuser

数据库用户

10.129.213.20:4007=2

数据库的ip和端口

backend=10.129.213.20:4007

后端数据库的ip和端口

autocommit=0

是否自动提交

new_connnum=0

新建连接的数量

conn_tc=0

新建连接的花费的时间

select_result_sum=1

查询得到的结果集数量

affect_num=0

操作影响的行数

hold_conns=1

请求结束后,任然占用的连接数量。非事物请求,应该是0

resultcode=0

错误码

mc_request=0

是否开启全局一致性读

timecost=0

sql耗时

 b、日常SQL日志sql_instance

sql通过proxy层改写。分发到各个db节点执行,并取出数据。sql日志中记录了在set中具体执行的sql。

日志以空格为分隔符,以:为赋值符号

[2021-08-11 23:59:59 661067] DEBUG tid:64744 con:0x7f8595b23800 
qid:8624534-1628419255-1298688 user:ksrcbadmin C:132.7.112.100:59585
G:132.7.100.3:42978 S:132.7.100.12:4009 timecost:0.979(ms) inj_id:1
sql:3,387 "/*2:8624534-1628419255-1298688*/select name, sub_system_code,
system_code from tsp_mutex where name='ksys_plrenw_health_check_mutex'
and sub_system_code='dept_bat' and system_code='dept' for update"

[2021-08-11 23:59:59 661067]

日志记录时间

DEBUG

日志级别(DEBUG、WARNING、ERROR)

tid:64744

线程id

con:0x7f8595b23800

对应的是proxy处理过程中连接对象的地址,和tid一起用于定位用户连接生命周期内的所有操作

qid:8624534-1628419255-1298688

proxy生成的事务id

user:ksrcbadmin

用户名

C:132.7.112.100:59585

客户端连接ip和端口

G:132.7.100.3:42978

网关连接ip和端口

S:132.7.100.12:4009

数据库服务器ip和端口

timecost:0.979(ms)

语句耗时

inj_id:1

这个是proxy拆分sql语句之后,标记这个语句时属于原始语句生成的,还是proxy自己补充的(比如xastart)

sql:3,387 "/2:8624534-1628419255-1298688/select name, sub_system_code,
system_code from tsp_mutex where name='ksys_plrenw_health_check_mutex'
and sub_system_code='dept_bat' and system_code='dept' for update"

执行的sql语句

 c、慢查询日志slow_log

慢查询日志主要存储了ddl语句及响应时间超过1s的dml语句

# Time: 210910 16:33:17 432697
# User@Host: mc_test[mc_test] @ [10.0.1.35:43532]
# Backend_host: 10.0.1.12:4001,10.0.1.12:4002
# Thread_id: 1 Schema: test QC_hit: DEBUG
# Query_time: 0.214000 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0
/*4194305-1631262696-7*/create table t1(acct_id bigint(20) primary key, ammount bigint(20)) shardkey=acct_id;

Time: 210910 16:33:17 432697

时间戳,sql执行的时间

User@Host: mc_test[mc_test] @  [10.0.1.35:43532]

用户名,mysql用户比较特殊,是用户+host来进行权限控制

Backend_host: 10.0.1.12:4001,10.0.1.12:4002

后台执行的db节点地址

Thread_id: 1

线程id

Schema: test

数据库名

QC_hit: DEBUG

查询级别

Query_time: 0.214000

sql执行消耗的时间

Lock_time: 0.000000

sql执行过程中获取锁消耗的时间

Rows_sent: 0

推送数据行数

Rows_examined: 0

扫描数据行数

/4194305-1631262696-7/create table t1(acct_id bigint(20) primary key, ammount bigint(20))

具体执行的sql语句


举报

相关推荐

0 条评论