---
title: "日志与监控 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: 日志与监控 ODP 运行过程中会把各类请求信息和错误信息打印到对应的日志文件中，便于您进行针对性的分析。此外，OCP 也提供了ODP 的各类监控信息。 obproxy_digest.log 日志 大于参数 query_digest_time_threshold 设置值（默认 100ms，主站是 2ms）的请求、错误响…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# 日志与监控

更新时间：2024-12-31 15:31:05

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/100.oceanbase-database-concepts/600.data-link/200.database-proxy/500.logs-and-monitoring.md)  

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

## obproxy_digest.log 日志

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

#### 说明

`query_digest_time_threshold` 参数用于设置请求执行时间阈值，超过阈值即打印一条日志到 `obproxy_digest.log` 文件。有关该参数的详细介绍，参见 ODP [支持动态修改的参数](https://www.oceanbase.com/docs/enterprise-odp-enterprise-cn-10000000000982785)。

**日志示例**

```javascript
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,,

```

```shell
2020-03-18 21:26:54.871053,xxx,0a0fe91c1514974353459100919649,0.1,,cluster:tenant:database,OB_MYSQL,test,test_99,COM_QUERY,SELECT,success,,select * from test_99,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
 - 系统穿透数据：系统灾备信息等
 - 穿透数据
 - DBKey 名称（从 V2.0.20 版本开始支持）
 - 是否使用 BeyondTrust（从 V2.0.20 版本开始支持），取值为 1 表示使用：为 0 表示不使用。
 - 后端 Server IP

## obproxy_stat.log 日志

ODP 请求统计日志，默认每分钟输出一次。 **日志示例**

```javascript
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

```

```shell
2020-03-18 21:26:59.504487,xxx,,cluster:tenant:database,OB_MYSQL,SELECT,success,,1,0,0,0,9.383ms,0.029ms,9.263ms
2020-03-18 21:26:59.504509,xxx,,cluster:tenant:database,OB_MYSQL,SHOW,success,,2,0,0,0,14.280ms,0.056ms,14.067ms
2020-03-18 21:26:59.504545,xxx,,cluster:tenant:database,OB_MYSQL,SELECT,success,,5,0,0,0,0.158ms,0.000ms,0.000ms
2020-03-18 21:26:59.504563,xxx,,cluster:tenant:database,OB_MYSQL,SELECT,failed,1054,1,0,0,0,8.487ms,0.048ms,8.281ms
2020-03-18 21:26:59.504604,xxx,,cluster:tenant:database,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 [支持动态修改的参数](https://www.oceanbase.com/docs/enterprise-odp-enterprise-cn-10000000000982785)。

**日志示例**

```javascript
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,,

```

```shell
2020-03-16 21:31:32.125967,xxx,0a0fe91c1514974353459100919649,0.1,,cluster:tenant:database,OB_MYSQL,,,COM_LOGIN,,success,,,507680us,507049us,0us,515us,Y0-7F16DD5743A0,,
2020-03-16 21:31:49.561865,xxx,0a0fe91c1514974353459100919649,0.1,,cluster:tenant:database,OB_MYSQL,,,COM_LOGIN,,success,,,1258599us,1249321us,0us,9130us,Y0-7F16DB9752C0,,

```

## obproxy_error.log 日志

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

**日志示例**

```javascript
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 '11.xxx.xx.240_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 '11.xxx.xx.240_3883D71A4ECCAE0F'%2C 43800%2C   'xx.xx.xx.xx'%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 = '11.xxx.xx.240_3883D71A4ECCAE0F_AB18'%2C   product_id = 'KO,1138us,29us,0us,984us,Y0-7F16DD5BDF00,,,Unknown column 'push_switch' in 'field list'

```

```shell
2020-03-18 21:28:10.497945,xxx,0a0fe91c1514974353459100919649,0.1,,cluster:tenant:database,OB_MYSQL,test,test_99,COM_QUERY,INSERT,failed,1054,INSERT INTO   test_99 (push_switch   )   VALUES   ( '1' ) ,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
 - 系统穿透数据：系统灾备信息等
 - 穿透数据
 - DBKey 名称（从 V2.0.20 版本开始支持）
 - 是否使用 BeyondTrust（从 V2.0.20 版本开始支持），取值为 1 表示使用：为 0 表示不使用。
 - 后端 Server IP
 - 错误详情
 - Server Trace ID

## obproxy_limit.log 日志

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

日志格式：

```sql
限流状态（RUNNING/OBSERVE） SQL 限流规则名称

```

**日志示例**

```javascript
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_1

```

- 日志打印时间
 - 当前应用名
 - 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 集群性能监控** 章节。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
