首批通过分布式安全可靠测评,为关键业务系统打造
obproxy_diagnosis.log
更新时间:2026-04-14 17:41:09
obproxy_diagnosis.log 日志记录 ODP 登录、启动、断连接、路由错误等信息的诊断日志。
根据记录的日志类型不同,obproxy_diagnosis.log 日志存在不同的格式,本文结合不同类型的日志示例进行具体介绍。
登录类型
obproxy_diagnosis.log 中登录类型的日志使用关键字 [LOGIN] 表示,登录失败和登录成功有不同的格式显示。
登录失败的示例如下:
[2024-01-03 17:31:15.864625] [1782][Y0-00007F986AC85710] [LOGIN](trace_type="PROXY_INTERNAL_TRACE", connection_diagnosis={cs_id:1, ss_id:0, proxy_session_id:0, server_session_id:0, client_addr:"10.10.10.1:53280", server_addr:"*Not IP address [0]*:0", cluster_name:"obcluster", tenant_name:"proxysys", user_name:"root", error_code:0, error_msg:"Ooooooooooooops", request_cmd:"COM_LOGIN", sql_cmd:"COM_LOGIN", req_total_time(us):168}{user_sql:""})
查看日志时,您需关注的主要有如下几个字段:
[LOGIN]:表示当前日志类型为登录类型。client_addr:当前登录使用的客户端地址。cluster_name:登录数据库的集群名。tenant_name:登录使用的租户。user_name:登录使用的用户名。error_code:登录结果。error_msg:失败原因。
登录成功的示例如下:
[2024-01-09 14:59:28.601738] [32181][Y0-00007F6336803880] [LOGIN]((hsr={cluster_name:"obcluster", tenant_name:"sys", user_name:"root", cluster_id:0, user_tenant_name:"root@sys", full_name:"root@sys#obcluster", response:{capability_.capability:150972045, max_packet_size:16777216, character_set:33, username:"root@sys", database:"oceanbase", auth_plugin_name:"mysql_native_password", connect_attrs:[[0]{key:"__ob_client_attribute_capability_flag", value:"1"}, [1]{key:"__mysql_client_type", value:"__ob_proxy"}, [2]{key:"__connection_id", value:"3221641115"}, [3]{key:"__proxy_connection_id", value:"12400942319116943372"}, [4]{key:"__cluster_name", value:"obcluster"}, [5]{key:"__global_vars_version", value:"0"}, [6]{key:"__proxy_capability_flag", value:"4193111"}, [7]{key:"__client_ip", value:"10.10.10.1"}, [8]{key:"__proxy_version", value:"4.2.3.0"}, [9]{key:"__client_addr_port", value:"50572"}, [10]{key:"__client_session_id", value:"270340"}, [11]{key:"__client_connect_time", value:"1704783568600575"}]}, is_clustername_from_default:true, has_tenant_username:true, has_cluster_username:false}, addr="10.10.10.1:50572", login_result="success")
查看日志时,您需关注的主要有如下几个字段:
[LOGIN]:表示当前日志类型为登录类型。cluster_name:登录数据库的集群名。tenant_name:登录使用的租户。user_name:登录使用的用户名。error_msg:失败原因。addr:当前登录使用的客户端地址。login_result:登录结果。
启动类型
obproxy_diagnosis.log 中启动类型的日志使用关键字 [REBOOT] 表示,用于记录关键的系统信息和启动记录,启动类型的日志示例如下:
[2024-01-03 17:30:11.348451] [1782][Y0-0000000000000000] [REBOOT](info="obproxy version: ObProxy-OceanBase 4.2.3.0-20231226165754.el7, revision: 20231226165754-1f55e4ba0e226b6e710312a8812e27f6ccb33ba2, sysname: Linux, os release 3.10.0-1160.95.1.el7.x86_64, machine: x86_64, pid: 1782, ppid: 1, result: reboot success")
您需关注的主要有如下信息:
[REBOOT]:表示当前日志类型为启动类型。info和revision:记录 ODP 版本信息。sysname:记录 OS 版本。machine:记录系统架构。pid:记录进程号。ppid:记录父进程号。result:记录启动结果。
其中 ODP 版本信息、系统架构和 OS 版本是非常基础的信息,排查问题需要;进程号和父进程号可以用于排查热重启的功能。
连接类型
obproxy_diagnosis.log 中连接类型的日志使用关键字 [CONNECTION] 表示,日志示例如下。
[2024-01-04 01:45:53.419105] [1782][Y0-00007F986A823710] [CONNECTION](trace_type="TIMEOUT_TRACE", connection_diagnosis={cs_id:4, ss_id:0, proxy_session_id:0, server_session_id:0, client_addr:"10.10.10.1:53368", server_addr:"*Not IP address [0]*:0", cluster_name:"obcluster", tenant_name:"proxysys", user_name:"root", error_code:-10022, error_msg:"OBProxy inactivity timeout", request_cmd:"COM_SLEEP", sql_cmd:"COM_END", req_total_time(us):28800931181}{timeout(us):28800000000, timeout_event:"CLIENT_WAIT_TIMEOUT"})
连接类型日志中的参数说明,以及如何根据日志诊断连接问题的详细介绍可参见 连接诊断。
路由类型
obproxy_diagnosis.log 中路由类型的日志使用关键字 [ROUTE] 表示,日志示例如下。
[2023-09-19 18:48:49.079458] [106700][Y0-00007FD892AB64E0] [ROUTE]((*route_diagnosis=
Trans Current Query:"execute stmt"
Route Prompts
--------------
> ROUTE_INFO
[INFO] Will do table partition location lookup to decide which OBServer to route to
> ROUTE_POLICY
[INFO] Will route to table's partition leader replica(10.10.10.1:4001) using non route policy because query for STRONG read
Route Plan
--------------
> SQL_PARSE:{cmd:"COM_QUERY", table:"t0"}
> ROUTE_INFO:{route_info_type:"USE_PARTITION_LOCATION_LOOKUP"}
> LOCATION_CACHE_LOOKUP:{mode:"oceanbase"}
> TABLE_ENTRY_LOOKUP_DONE:{table:"t0", table_id:"500078", table_type:"USER TABLE", partition_num:64, entry_from_remote:false}
> PARTITION_ID_CALC_START:{}
> EXPR_PARSE:{col_val:"=88888888,=1111111"}
> RESOLVE_EXPR:{part_range:"[88888888 ; 88888888]", sub_part_range:"[1111111 ; 1111111]"}
> RESOLVE_TOKEN:{token_type:"TOKEN_INT_VAL", resolve:"BIGINT:88888888", token:"88888888"}
> RESOLVE_TOKEN:{token_type:"TOKEN_INT_VAL", resolve:"BIGINT:1111111", token:"1111111"}
> CALC_PARTITION_ID:{part_description:"partition by hash(INT<binary>) partitions 8 subpartition by hash(INT<binary>) partitions 8"}
> PARTITION_ID_CALC_DONE:{partition_id:200073, level:2, partitions:"(p0sp7)", parse_sql:"prepare stmt from 'insert into t0 values(88888888,1111111,9999999)'"}
> PARTITION_ENTRY_LOOKUP_DONE:{leader:"10.10.10.1:4001", entry_from_remote:false}
> ROUTE_POLICY:{chosen_route_type:"ROUTE_TYPE_LEADER"}
> CONGESTION_CONTROL:{svr_addr:"10.10.10.1:4001"}
详细的路由类型日志的查看,以及路由问题的诊断可参见 路由诊断 章节。