监视元素收集级别

监视元素的监视元素收集级别是指对于要针对该元素收集的数据必须处于活动状态的设置(如果存在)。 对于许多监视元素,数据收集由配置参数和/或 DDL 中用于定义工作负载管理对象的子句控制。

收集级别设置

使用数据库配置参数设置收集级别会设置整个数据库的特定监视元素类别的缺省收集级别。例如,将配置参数 mon_req_metrics 设置为 BASE 会导致针对数据库中运行的所有代理程序收集请求指标。对于请求和活动指标以及节实际值监视元素,还可对特定 WLM 对象指定不同于用于数据库整体的级别的收集级别。这样一来,给定监视元素的生效收集级别通过对收集该元素的作用域应用针对该元素指定的最广(最高)收集级别确定。有关不同收集范围如何一起工作的示例,请参阅标题为示例的章节。

收集级别在主题中用于描述大部分监视元素。(快照接口返回的监视元素使用监视开关而不是收集级别)。例如,表 1 描述了一些会返回监视元素 skipped_prefetch_data_p_reads 的接口,以及必须处于活动状态才能针对此元素收集数据的监视元素收集级别。

大部分主题包括这类表以显示哪些接口返回该监视元素,以及对于要针对主题中描述的监视元素收集的数据,必须达到的最低收集级别。
表 1. 表函数监视信息
表函数 监视元素收集级别
MON_GET_BUFFERPOOL 表函数 - 获取缓冲池指标 DATA OBJECT METRICS BASE
MON_GET_DATABASE 表函数 - 获取数据库级信息 DATA OBJECT METRICS BASE
MON_GET_DATABASE_DETAILS 表函数 - 获取数据库信息指标 DATA OBJECT METRICS BASE
MON_GET_TABLESPACE 表函数 - 获取表空间指标 DATA OBJECT METRICS BASE
监视元素参考主题中使用的收集级别如下所示:
始终收集
始终收集此监视元素的数据。没有任何配置参数或 SQL 语句选项用来控制此信息的收集。
DATA OBJECT METRICS BASEDATA OBJECT METRICS EXTENDED
如果数据库配置参数 mon_obj_metrics 设置为 BASE 或 EXTENDED,那么收集具有此收集级别的监视元素。如果 mon_obj_metrics 设置为 NONE,那么不收集任何数据。
REQUEST METRICS BASEREQUEST METRICS EXTENDED
如果生效收集级别设置为 BASE 或 EXTENDED,那么会收集具有此收集级别的监视元素。请求指标的生效收集级别通过检查数据库配置参数 mon_req_metrics 的当前设置和针对 WLM 服务超类的 COLLECT REQUEST METRICS 子句指定的设置确定。
ACTIVITY METRICS BASEACTIVITY METRICS EXTENDED
如果生效收集级别设置为 BASE 或 EXTENDED,那么会收集具有此收集级别的监视元素。活动指标的收集级别通过检查数据库配置参数 mon_act_metrics 的当前设置和针对 WLM 工作负载的 COLLECT ACTIVITY METRICS 子句指定的设置确定。
SECTION ACTUALS BASE
如果生效收集级别设置为 BASE,那么会收集具有此收集级别的监视元素。节实际值的生效收集级别通过检查数据库配置参数 section_actuals 的当前设置及以下各项的设置确定:
  • CREATE 或 ALTER WORKLOAD、CREATE 或 ALTER WORK ACTION SET 或者 CREATE 或 ALTER SERVICE CLASS 语句中的 INCLUDE ACTUALS 子句。
  • WLM_SET_CONN_ENV 例程上的 <collectsectionactuals> 设置。
COLLECT AGGREGATE ACTIVITY DATACOLLECT AGGREGATE REQUEST DATA
如果特定类型的 WLM 对象的 CREATE 或 ALTER 语句中包括子句 COLLECT AGGREGATE ACTIVITY DATA 或 COLLECT AGGREGATE REQUEST DATA,那么会收集具有此收集级别的监视元素。
某些元素被标记为“不适用;报告 XML 文档中作为格式化函数的输入提供的所有元素”。在这些情况下,仅格式化已收集事件数据的输出的函数返回该元素。

示例

示例 1:数据库整体的缺省收集级别为 NONE,特定服务超类的缺省收集级别为 EXTENDED。
此示例说明在这种情况下如何对针对数据库整体的请求指标监视元素指定收集级别 NONE,但仍收集在服务超类中运行的代理程序的 EXTENDED 指标。

通常,要禁用在数据库中运行的代理程序的请求指标的收集,但收集特定服务超类的扩展指标,请执行以下步骤:

  1. 通过发出以下命令将针对数据库整体的请求指标设置收集级别:
    DB2 UPDATE DB CFG FOR database-name USING MON_REQ_METRICS NONE
  2. 通过执行以下语句来改变要对其收集请求指标的服务超类:
    ALTER SERVICE CLASS service-class-name COLLECT REQUEST METRICS EXTENDED

结果:针对名为 service-class-name 的服务超类中运行的所有代理程序收集请求指标。不收集在该服务超类外部运行的代理程序的请求指标。

示例 2:数据库整体的缺省收集级别为 EXTENDED。
此示例说明如何在收集监视元素数据时应用最广收集级别(可能产生意外结果)。
  • 使用以下命令来指定要对数据库中运行的所有活动捕获活动指标:
    DB2 UPDATE DB CFG FOR database-name USING MON_ACT_METRICS EXTENDED
  • 修改 WLM 工作负载以便不收集活动指标:
    ALTER WORKLOAD workload-name COLLECT ACTIVITY METRICS NONE

结果:对数据库中运行的所有代理程序(包括工作负载 workload-name 中运行的代理程序)收集活动指标。在这种情况下,生效收集级别通过在 mon_act_metrics 配置参数中对数据库整体指定的更广收集级别 (EXTENDED) 确定。