When a large amount of diagnostic data is collected, OCP Agent will experience memory overrun and restart frequently. In this case, you can only modify parameters in the configuration file in a CLI tool and push the file again. However, this method will cause issues such as OCP Agent upgrade failure due to configuration incompatibility, or configuration resetting.
To avoid these issues, OceanBase Cloud Platform (OCP) supports GUI-based parameter management. You can view and manage collection and O&M parameters on the O&M Configuration page.
Parameters
OCP supports four categories of collection and O&M parameters: SQL diagnostics collection parameters, transaction diagnostics collection parameters, Active Session Hisotry (ASH) collection parameters, and performance monitoring parameters.
SQL diagnostics collection
The SQL diagnostics collection feature provides basic data for the SQL diagnostics module under the tenant menu and OceanBase Autonomy Service menu.
| Parameter | Type | Default value | Value range | Description |
|---|---|---|---|---|
| monagent.pipeline.sql.audit.status | String | active | - | Specifies whether to enable SQL diagnostics collection from the sql_audit view. Valid values: active and inactive. |
| monagent.limit.memory.fuse.percent | Double | 0.8 | [0.1, 1.0] | The memory usage for triggering the termination of diagnostics collection, which is calculated by using the following formula: Current memory usage of the ocp_monagent process/Maximum memory usage allowed for the ocp_monagent process. When the specified threshold is reached, diagnostic data is no longer collected. If a large amount of diagnostic data is to be collected, you can increase this threshold. |
| monagent.ob.sql.audit.collect.batch.size | Int | 4000 | [500, 20000] | The number of internal views queried at a time during SQL diagnostics collection. If a large amount of diagnostic data is to be collected, you can increase this value to improve efficiency. |
| monagent.ob.slow.sql.threshold | String | 100ms | - | The threshold for identifying a slow SQL query. An SQL query whose execution time exceeds the threshold is reported as a slow SQL query to the MonitorDB. If a large number of slow SQL queries are identified, you can increase this threshold. |
| monagent.ob.sql.transaction.timeus.threshold | Int | 500000 | [10000, 300000000] | The time threshold for identifying a large transaction, in us. A transaction whose execution time is shorter than the threshold is not identified as a large transaction. If a great number of large transactions are identified, you can increase this threshold. |
| monagent.ob.sql.transaction.log.size.byte | Int | 524288 | [1024, 1073741824] | The log size threshold for identifying a large transaction, in bytes. A transaction whose log size is smaller than the threshold is not identified as a large transaction. If a great number of large transactions are identified, you can increase this threshold. |
| monagent.pipeline.plan.monitor.status | String | active | - | Specifies whether to collect information about parallel SQL queries. Valid values: active and inactive. |
| monagent.pipeline.slow.sql.status | String | active | - | Specifies whether to collect information about slow SQL queries. Valid values: active and inactive. |
| monagent.ob.sql.diagnose.collect.query.timeout | String | 10s | - | The timeout period of SQL queries for collecting diagnostic data from the sql_audit, sql_plan, and sql_plan_monitor views. |
| monagent.pipeline.sql.plan.status | String | active | - | Specifies whether to collect information about execution plans. Valid values: active and inactive. |
| monagent.ob.sql.plan.collect.batch.size | Int | 4000 | [500, 20000] | The number of internal views queried at a time during execution plan information collection. If a large amount of data is to be collected, you can increase this value to improve efficiency. |
| monagent.ob.sql.plan.monitor.collect.batch.size | Int | 4000 | [500, 20000] | The number of internal views queried at a time during parallel SQL statement information collection. If a large amount of data is to be collected, you can increase this value to improve efficiency. |
| monagent.pipeline.monitor.user.collect | Bool | false | - | Specifies whether to collect information about the SQL query statements executed by the OCP Agent user in the sys tenant. You can set this parameter to true during troubleshooting. |
| monagent.pipeline.empty.query.sql.collect | Bool | false | - | Specifies whether to collect sql_audit records with an empty query_sql column. You can set this parameter to true during troubleshooting. |
Transaction diagnostics collection
The transaction diagnostics collection feature provides basic data for the transaction diagnostics module under the tenant menu and OceanBase Autonomy Service menu.
| Parameter | Type | Default value | Value range | Description |
|---|---|---|---|---|
| monagent.pipeline.transaction.status | String | active | - | Specifies whether to collect transaction information. Valid values: active and inactive. |
| monagent.ob.sql.transaction.collect.batch.size | Int | 4000 | [500, 20000] | The number of internal views queried at a time during transaction diagnostics collection. When a large amount of diagnostic data is to be collected, you can increase this value to improve efficiency. |
| monagent.ob.sql.transaction.collect.join.global.transaction | Bool | true | - | Specifies whether to join global transaction tables during transaction diagnostics collection. You can enable this parameter to collect diagnostics of XA transactions. |
| monagent.ob.sql.transaction.collect.query.timeout | String | 5s | - | The timeout period of SQL queries for collecting transaction diagnostics. |
ASH collection
The ASH collection feature provides basic data for the session management module under the tenant menu and OceanBase Autonomy Service menu.
| Parameter | Type | Default value | Value range | Description |
|---|---|---|---|---|
| monagent.pipeline.session.status | String | active | - | Specifies whether to collect ASH records. Valid values: active and inactive. |
| monagent.ob.session.event.collect.batch.size | Int | 4000 | [500, 20000] | The number of internal views queried at a time during ASH collection. If a large amount of data is to be collected, you can increase this value to improve efficiency. |
| monagent.ob.session.event.collect.query.timeout | String | 10s | - | The timeout period of SQL queries for collecting ASH data. |
Performance monitoring
| Parameter | Type | Default value | Value range | Description |
|---|---|---|---|---|
| monagent.pipeline.ob.status | String | active | - | Specifies whether to collect performance monitoring data. Valid values: active and inactive. |
| monagent.pipeline.tenant.disk.collect.disabled | Bool | false | - | Specifies whether to collect disk data of the tenant dimension and lower dimensions. We recommend that you set this parameter to false when an SQL performance issue occurs. |
| monagent.collector.ob.extra.interval | String | 60s | - | The minute-level frequency for collecting performance monitoring data. |
| monagent.second.metric.cache.update.interval | String | 5s | - | The second-level frequency for collecting performance monitoring data. |
Parameter management operations
On the O&M Configuration page, you can perform the following basic management operations on clusters:
- Manage parameters: You can enable and disable O&M parameters, modify parameter values, search for parameters, and view modified parameters.
- View the parameter modification history: You can view the modification history of all O&M parameters in the current cluster.