OceanBase系统架构日志与监控

2024年 1月 6日 59.1k 0

ODP 运行过程中会把各类请求信息和错误信息打印到对应的日志文件中,便于您进行针对性的分析。此外,OCP 也提供了ODP 的各类监控信息。

obproxy_digest.log 日志

大于参数 query_digest_time_threshold 设置值(默认 100ms,主站是 2ms)的请求、错误响应请求会打到 obproxy_digest.log 日志中。

说明

query_digest_time_threshold 参数用于设置请求执行时间阈值,超过阈值即打印一条日志到 obproxy_digest.log 文件。有关该参数的详细介绍,参见 ODP 支持动态修改的参数。

日志示例

2020-03-18 21:26:54.871053,postmen,,,,postmen40:postmen_new0497_3279:postmen_r497,OB_MYSQL,,postmen_push_msg_4977,COM_QUERY,SELECT,success,,SELECT id%2C gmt_create%2C gmt_modified%2C msg_id%2C principal_id%2C app_name%2C target_utdid%2C biz_id%2C host%2C status%2C expire_time%2C msg_data FROM postmen_push_msg_4977 WHERE principal_id = 'W/jEKoLOxnwDABWmhzjgmK1V' AND app_name = 'KOUBEI' AND expire_time > 1584538014858 AND status = 1,11765us,52us,0us,11632us,Y0-7F16DD5BEBC0,,

日志信息说明

上述日志示例中的信息的含义依次为:

  • 日志打印时间

  • 当前应用名

  • TraceId

  • RpcId

  • 逻辑数据源名称:该信息在 ODP 的 1.x 版本中留空

  • 物理库信息(cluster:tenant:database)

  • 数据库类型:取值为 OB 或 RDS

  • 逻辑表名:该信息在 ODP 的 1.x 版本中留空

  • 物理表名

  • SQL 命令:COM_QUERY、COM_STMT_PREPARE 等

  • SQL 类型(CRUD)

  • 执行结果:取值为 success 或 failed

  • 错误码:当执行结果为 success 时,该信息为空

  • SQL 执行总耗时:单位为 ms,包括内部 SQL 执行耗时

  • 预执行时间

  • 链接建立时间

  • 数据库执行时间

  • 当前线程名:ODP 的内部线程 ID

  • 系统穿透数据:系统灾备信息等

  • 穿透数据

obproxy_stat.log 日志

OBProxy 请求统计日志,默认每分钟输出一次。

日志示例

2020-03-18 21:26:59.504487,postmen,,postmen50:postmen_new0563_3279:postmen_r563,OB_MYSQL,SELECT,success,,1,0,0,0,9.383ms,0.029ms,9.263ms
2020-03-18 21:26:59.504509,postmen,,postmen50:postmen_new0528_3279:postmen_r528,OB_MYSQL,SHOW,success,,2,0,0,0,14.280ms,0.056ms,14.067ms
2020-03-18 21:26:59.504545,postmen,,postmen30:postmen_new0363_3279:postmen_r363,OB_MYSQL,SELECT,success,,5,0,0,0,0.158ms,0.000ms,0.000ms
2020-03-18 21:26:59.504563,postmen,,postmen50:postmen_new0561_3279:postmen_r561,OB_MYSQL,SELECT,failed,1054,1,0,0,0,8.487ms,0.048ms,8.281ms
2020-03-18 21:26:59.504604,postmen,,postmen50:postmen_new0561_3279:postmen_r561,OB_MYSQL,OTHERS,success,,1,0,0,0,27.148ms,17.902ms,9.102ms

日志信息说明

上述日志示例中的信息的含义依次为:

  • 日志打印时间

  • 当前应用名

  • 逻辑数据源名称 :该信息在 ODP 的 1.x 版本中留空

  • 物理库信息(cluster:tenant:database)

  • 数据库类型:取值为 OB 或 RDS

  • SQL 类型(CRUD)

  • 执行结果:取值为 success 或 failed

  • 错误码:当执行结果为 success 时,该信息为空

  • 总请求数量

  • 30 ms ~ 100 ms 请求数量

  • 100 ms ~ 500 ms 请求数量

  • 大于 500 ms 请求数量

  • 执行总耗时:单位为 ms,包括内部 SQL 执行耗时

  • 预执行时间

  • 数据库执行时间

obproxy_slow.log 日志

大于参数 slow_query_time_threshold 设置值(默认 500ms)的请求,会打到 obproxy_slow.log 日志中。

说明

参数 slow_query_time_threshold 用于设置慢请求执行时间阈值。超过阈值即打印一条日志到 obproxy_slow.log 文件。有关该参数的详细介绍,参见 ODP 支持动态修改的参数。

日志示例

2020-03-16 21:31:32.125967,postmen,,,,postmen20:postmen_new0200_3279:postmen_r200,OB_MYSQL,,,COM_LOGIN,,success,,,507680us,507049us,0us,515us,Y0-7F16DD5743A0,,
2020-03-16 21:31:49.561865,postmen,,,,postmen50:postmen_new0580_3279:postmen_r580,OB_MYSQL,,,COM_LOGIN,,success,,,1258599us,1249321us,0us,9130us,Y0-7F16DB9752C0,,

日志信息说明

上述日志示例中的信息的含义依次为:

  • 日志打印时间

  • 当前应用名

  • TraceId

  • RpcId

  • 逻辑数据源名称:该信息在 ODP 的 1.x 版本中留空

  • 物理库信息(cluster:tenant:database)

  • 数据库类型:取值为 OB 或 RDS

  • 逻辑表名:该信息在 ODP 的 1.x 版本中留空

  • 物理表名

  • SQL 命令:COM_QUERY、COM_STMT_PREPARE 等

  • SQL 类型(CRUD)

  • 执行结果:取值为 success 或 failed

  • 错误码:当执行结果为 success 时,该信息为空

  • SQL 执行总耗时:单位为 ms,包括内部 SQL 执行耗时

  • 预执行时间

  • 链接建立时间

  • 数据库执行时间

  • 当前线程名:ODP 的内部线程 ID

  • 系统穿透数据:系统灾备信息等

  • 穿透数据

obproxy_error.log 日志

执行错误的请求会打印到该日志中,包括 OBProxy 自身错误和 OBServer 返回错误。

日志示例

2020-03-18 21:28:10.497945,postmen,,,,postmen70:postmen_new0781_3279:postmen_r781,OB_MYSQL,,postmen_connection_info_7819,COM_QUERY,INSERT,failed,1054,INSERT INTO postmen_connection_info_7819 ( gmt_create%2C gmt_modified%2C app_name%2C principal_id%2C utdid%2C link_info_key%2C product_id%2C product_version%2C os_type%2C os_version%2C network%2C brand%2C model%2C last_active_time%2C status%2C ext_attr%2C worker_id%2C sid%2C postmen_ip%2C link_version%2C protocol_type%2C zone_name%2C sync_version%2C background_time%2C app_status%2C device_id%2C push_switch ) VALUES ( now(6)%2C now(6)%2C 'KOUBEI'%2C '2088212505319787'%2C 'W/jEKoLOxnwDABWmhzjgmK1V'%2C 'xxx.xxx.xxx.xxx_3883D71A4ECCAE0F_AB18'%2C 'KOUBEI_APP_ANDROID'%2C '7.1.87.000001'%2C 'android'%2C '9'%2C 'wifi'%2C 'xiaomi'%2C 'MI 8 SE'%2C 1584538090493%2C 1%2C null%2C 'xxx.xxx.xxx.xxx_3883D71A4ECCAE0F'%2C 43800%2C 'xxx.xxx.xxx.xxx'%2C 1%2C 'MMTP'%2C 'RZ99S'%2C 6%2C 1584538090477%2C 1%2C 'W/jEKoLOxnwDABWmhzjgmK1V'%2C '1' ) ON DUPLICATE KEY UPDATE gmt_modified = now(6)%2C utdid = 'W/jEKoLOxnwDABWmhzjgmK1V'%2C link_info_key = 'xxx.xxx.xxx.xxx_3883D71A4ECCAE0F_AB18'%2C product_id = 'KO,1138us,29us,0us,984us,Y0-7F16DD5BDF00,,,Unknown column 'push_switch' in 'field list'

日志信息说明

上述日志示例中的信息的含义依次为:

  • 日志打印时间

  • 当前应用名

  • TraceId

  • RpcId

  • 逻辑数据源名称:该信息在 ODP 的 1.x 版本中留空

  • 物理库信息(cluster:tenant:database)

  • 数据库类型:取值为 OB 或 RDS

  • 逻辑表名:该信息在 ODP 的 1.x 版本中留空

  • 物理表名

  • SQL 命令:COM_QUERY、COM_STMT_PREPARE 等

  • SQL 类型(CRUD)

  • 执行结果:取值为 success 或 failed

  • 错误码:当执行结果为 success 时,该信息为空

  • SQL 执行总耗时:单位为 ms,包括内部 SQL 执行耗时

  • 预执行时间

  • 链接建立时间

  • 数据库执行时间

  • 当前线程名:ODP 的内部线程 ID

  • 系统穿透数据:系统灾备信息等

  • 穿透数据

  • 错误详情

obproxy_limit.log 日志

OBProxy 限流日志,如果发生限流,会将被限流的请求打印到日志中。

日志格式:

限流状态(RUNNING/OBSERVE) SQL 限流规则名称

日志示例

2020-03-18 21:26:54.871053,postmen,,,,postmen40:postmen_new0497_3279:postmen_r497,OB_MYSQL,,postmen_push_msg_4977,COM_QUERY,SELECT,RUNNING,SELECT id%2C gmt_create%2C gmt_modified%2C msg_id%2C principal_id%2C app_name%2C target_utdid%2C biz_id%2C host%2C status%2C expire_time%2C msg_data FROM postmen_push_msg_4977 WHERE principal_id = 'W/jEKoLOxnwDABWmhzjgmK1V' AND app_name = 'KOUBEI' AND expire_time > 1584538014858 AND status = 1,LIMIT_RULE_

日志信息说明

上述日志示例中的信息的含义依次为:

  • 日志打印时间

  • 当前应用名

  • TraceId

  • RpcId

  • 逻辑数据源名称:该信息在 ODP 的 1.x 版本中留空

  • 物理库信息(cluster:tenant:database)

  • 数据库类型:取值为 OB 或 RDS

  • 逻辑表名:该信息在 ODP 的 1.x 版本中留空

  • 物理表名

  • SQL 命令:COM_QUERY、COM_STMT_PREPARE 等

  • SQL 类型(CRUD)

  • 限流状态(RUNNING/OBSERVE)

  • SQL 限流规则名称

日志示例:

ODP 监控

除了通过 ODP 的各类日志之外,您也可以通过 OceanBase 提供的数据库管理运维产品 OCP 来查看 ODP 的各类监控信息。

OBProxy 集群性能监控提供了服务监控和系统监控功能。

服务监控

服务监控提供了 ODP 集群维度、ODP 关联的 OB 集群维度以及单个 ODP IP 维度的 每秒事务数、请求数、客户端连接数、服务端链接数、SQL 处理耗时、每秒 ERROR 响应包数、路由表 和 网络请求字节数 信息。

系统监控

系统监控提供了 ODP 集群维度以及单个 ODP IP 维度的 Linux 系统负载 、 CPU 使用率、平均每秒 IO 次数、平均每次 IO 耗时、平均每秒 IO 数据量、网络吞吐率、内存 和 磁盘 信息。

有关 ODP 监控的详细信息,参见 《OCP 用户指南》中 ODP 集群性能监控 章节。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论