将 SMF 数据直接发送到 IBM Db2 Analytics Accelerator

如果您已经在使用 IBM Db2®Analytics Accelerator 和 Tivoli® Decision Support for z/OS® (TDSz),那么您现在可以采用 TDSz 模式将数据直接加载到 Db2 Analytics Accelerator 中,而无需在 Db2 表中存储数据。借助此特性,可以节省 CPU 和昂贵的存储空间,还可以在更精细级别上更长期地存储并查询数据。本教程将展示如何实现此操作。

首先,让我们来看一些产品和特性。

Common Data Provider for z/OS (CDPz)是一个数据源,有助于将来自 z/OS 平台的所有操作数据导入到您选择的分析平台,比如 Operations Analytics for z Systems®、Splunk 和 Elasticsearch, Logstash and Kibana (ELK)。

Tivoli Decision Support for z/OS (TDSz)从各种来源收集日志数据,并提供一个中央存储库来轻松访问企业级历史 IT 利用率信息和统计数据。此信息很有价值,可用于提供性能报告、用于服务级别管理的数据和使用计数。TDSz 使用 Db2 for z/OS 作为其存储库。

IBM Db2 Analytics Accelerator for z/OS是一个高性能设备,它通过降低操作成本,帮助您快速查询数据并扩展 Db2 for z/OS 的能力。

Tivoli Decision Support for z/OS现在包含一些分析组件,这些组件专为支持 Db2 Analytics Accelerator 而设计。这些组件基于现有的非分析组件,并做了修改来实现以下功能:

  • 将数据直接存储到 Db2 Analytics Accelerator,从而无需将数据存储在 Db2 for z/OS 上。
  • 存储更详细的时间戳级记录。
  • 将更多 CPU 工作从 z/OS 转移到 Db2 Analytics Accelerator 设备。
  • 使用 Db2 Analytics Accelerator 的高速查询功能来创建报告。

现在,您可以通过 TDSz 模式,直接将数据加载到 Db2 Analytics Accelerator,而无需将数据存储在 Db2 表中,这节省了 CPU 和昂贵的存储空间。本教程将展示如何实现此操作。

Common Data Provider to z/OS 的 System Data Engine (SDE) 组件支持将数据编写为 Db2 内部加载格式(批处理模式)。然后使用 IBM Db2 Analytics Accelerator Loader for z/OS 将 Db2 内部格式数据集直接加载到 IBM Db2 Analytics Accelerator 中。

收集过程目前不是实时的。System Data Engine 从 SMF 系统管理工具数据集中读取数据,如下图所示。

您需要做的准备工作

您需要以下产品,才能将 TDSz 数据直接发送到 Db2 Analytics Accelerator:

  • Tivoli Decision Support for z/OS 1.8.1
  • Common Data Provider to z/OS 1.1
  • Db2 Analytics Accelerator 5.1 和 Loader 2.1

此外,还需要以下维护包:

  • CDPz APAR OA52196 和 OA52200 的产品临时性修订 (PTF) 提供了一些 SHBODEFS 成员,在准备使用 TDSz 分析模式将 Db2 内部加载格式的输出加载到 Db2 Analytics Accelerator 中时需要这些成员。
  • TDSz APAR PI70968 的 PTF 提供了 TDSz 增强和分析模式。
  • Db2 Analytics Accelerator Loader for z/OS V2.1 使用仅用于 Db2 Analytics Accelerator 的加载模式将 SDE 创建的数据加载到 Db2 Analytics Accelerator 中。

初始支持仅限于:

  • Analytics – z/OS Performance
  • Analytics – Db2
  • Analytics – KPM CICS
  • Analytics – KPM Db2
  • Analytics – KPM Z/OS

Tivoli Decision Support for z/OS 的 KPM 组件仅在 V1.8.2 中提供。

使用仅用于加速器的表的实现

可通过两种方式将 SMF 数据直接发送到 Db2 Analytics Accelerator 表。本节将解释如何通过一个步骤完成此任务。将分析组件安装到 TDSz 中时,这会在 Db2 Analytics Accelerator 中直接创建这些表。在下一节(“不使用仅用于加速器的表的实现”)中,首先会在 Db2 中创建这些表,然后可以在准备就绪时将这些表移动到 Db2 Analytics Accelerator 中。

绑定用于 Tivoli Decision Support 的 Db2 计划

应用所需的 PTF 并运行所有操作(包括刷新 Tivoli Decision Support for z/OS 系统表)后,请执行以下操作:

  1. 选择 Reports

  2. 选择 System

  3. 选择 Dialog parameters

  4. 选择 System tables 。按 F6 更新系统表。

您需要通过指定 BIND 选项 QUERYACCELERATION(ELIGIBLE)QUERYACCELERATION(ENABLE) ,重新绑定用于 Tivoli Decision Support 的 Db2 计划。

可以使用来自 SDRLCNTL 数据集(用于创建 TDSz 数据库的数据集)的 DRLJDBIN 样本。

//DBINIT   EXEC PGM=IKJEFT01                                      
//STEPLIB  DD  DISP=SHR,DSN=hlq_db2.SDSNEXIT             
//         DD  DISP=SHR,DSN=hlq_db2.SDSNEXIT
//DBRMLIB  DD  DISP=SHR,DSN=hlq_tds.SDRLCNTL(DRLPSQLX)     
//SYSPRINT DD  SYSOUT=*
//SYSTSPRT DD  SYSOUT=*                                           
//SYSTSIN  DD  *                                                  
 DSN SYSTEM(dsn)                                                 
   BIND PACKAGE(DRLPLAN) MEMBER(DRLPSQLX) -                       
     ACTION(REPLACE) ISOLATION(CS) ENCODING(EBCDIC)  
     QUERYACCELERATION(ELIGIBLE)                
   BIND PLAN(DRLPLAN) PKLIST(*.DRLPLAN.*)-                       
     ACTION(REPLACE) RETAIN                                       
                                                                  
   RUN PROGRAM(DSNTIAD) PLAN(DSNTIA12) -                          
     LIB('hlq_db2.RUNLIB.LOAD')                          
 END

仅允许对启用了查询加速的 Db2 子系统使用 QUERYACCELERATION 参数。

修改 TDSz Profile 数据集

现在,如果想要使用 AOT,可以使用新的参数来修改 DRLFPROF 数据集。

/*---------------------------------------------------------------*/
/* IDAA Enablement                                               */
/*---------------------------------------------------------------*/
def_useaot      = "YES"                                            
def_accelerator = "HOLIDAA"                                        
def_timeint     = "T"
  • 如果想要使用仅用于加速器的表,可以将 def_useaot 更改为“YES”。如果想以后再做决定,可以将它保留为“NO”。
  • def_accelerator = “xxxxxxxx”(加速器的名称)。
  • def_timeint = ” H ” | ” S ” | ” T
    • H ” – 取整为一小时间隔的时间戳。
    • S ” – 取整为一秒间隔的时间戳。
    • T ” – 时间戳为实际时间(默认设置)。

安装分析组件

像其他任何组件一样,使用 Administration Dialog > Components (1.2) 安装分析组件。

  1. 选择 Reports

  2. 选择 Components

  3. 选择组件。

  4. F6 开始安装。

  5. 选择组件的所需部分。

  6. 选择 Batch

  7. 要开始批处理,请在命令行上输入 Submit

分析表是直接在 Db2 Analytics Accelerator 中创建的。安装所有分析组件后,可以在 Components 面板上检查它们的状态。

这些表可通过 TDSz 面板进行查看。所有分析表都以 A_ 开头。

此外,还可以通过报告对话框使用一些样本报告。所有分析样本报告的 ID 都以 A 开头。

因为分析组件基于经典组件,所以复制在经典表上运行的任何现有报告,并将其转换为在分析表上运行,应该不是很难。

自定义 LOOKUP 定义

现在,如果有必要,您应该自定义分析组件的 LOOKUP 定义,以反映经典查找表的内容。每个分析组件查找表都基于一个非分析组件查找表。仅在使用 Tivoli Decision Support for z/OS 来收集并填充 Db2 for z/OS 上的组件表时(在此场景中,未使用 TDSz Collect),或者使用 Tivoli Decision Support for z/OS 报告时(您可能正在使用此报告),才需要自定义查找表。

如果仅将数据收集到 Db2 Analytics Accelerator 中,而不将数据放在 Db2 for z/OS 上,那么您应该自定义 Common Data Provider 的成员。然后需要配置 Common Data Provider to z/OS 中的查找表(在此场景中,会将数据收集到 Db2 Analytics Accelerator 中)。最好将来自 SHBODEFS 数据集的成员复制到某个新建的 LOCAL.DEFS 数据集中。

表 1.CDPz 查找表成员

HBO v rm.SHBODEFS 成员名称 分析组件查找表的名称 基于非分析组件的查找表的名称
HBOTA2AP A_DB2_APPLICATION DB2_APPLICATION
HBOTA2AC A_DB2_ACCUMAC DB2_ACCUMAC
HBOTALUG A_USER_GROUP USER_GROUP
HBOTALKP A_KPM_THRESHOLDS_L KPM_THRESHOLDS
HBOTALWL A_WORKLOAD2_L MVS_WORKLOAD2_TYPE
HBOTALMI A_MIPS_L MVS_MIPS_T
HBOTALSP A_SYSPLEX_L MVS_SYSPLEX
HBOTALWL A_WORKLOAD_L MVS_WORKLOAD_TYPE
HBOTALW2 A_WORKLOAD2_L MVS_WORKLOAD2_TYPE
HBOTALDA A_DEVICE_ADDR_L MVSPM_DEVICE_ADDR
HBOTALUT A_UNIT TYPE_L MVSPM_UNIT_TYPE
HBOTALTR A_TIME_RES_L MVSPM_TIME_RES

对 IDAA_ONLY 表使用 COLLECT 语句

现在您已准备好将 SMF 数据收集到 Db2 Analytics Accelerator 中。

CDPz Collect

首先,应该运行 CDPz 提供的 JCL 作业,通过分析组件为该加速器创建的表生成 Db2 内部格式数据。修改 SHBOCNTL 中的以下作业并提交到 LOCAL.CNTL 数据集,以便利用已提供的 SMF 日志数据集来创建暂存数据集:

  • HBOA2DUN – Analytics – Db2
  • HBOAKDUN – Analytics – KPM Db2
  • HBOAPMUN – Analytics – z/OS Performance
  • HBOAKZUN – Analytics – KPM z/OS,如果仍没有 SHBODEFS(HBOTPERI),请添加它
  • HBOAKCUN – Analytics – KPM CICS

STEPLIB 应包含 CDPz SHBOLOAD 数据集。

HBOLOG 应包含您想收集的 SMF 数据集。

运行该作业后,可以检查输出中的统计数据:

Db2 Analytics Accelerator Load

使用 Db2 Analytics Accelerator Loader for z/OS V2.1,将 System Data Engine (SDE) 创建的 Db2 内部格式数据集直接加载到 Db2 Analytics Accelerator 中,而无需将数据放在 Db2 for z/OS 中。作业由 CDPz 提供。

修改 SDRLCNTL 中的作业并提交到 LOCAL.CNTL 数据集,以便使用该加载器将暂存数据集上传到加速器:

  • DRLJA2DD – Analytics – Db2
  • DRLJAKDD – Analytics – KPM Db2
  • DRLJAPMD – Analytics – z/OS Performance
  • DRLJAKZD – Analytics – KPM z/OS
  • DRLJAKCD – Analytics – KPM CICS

组件中的每个表都有相应的 LOAD 语句:

作业输出包含每条语句的统计数据:

组合 COLLECT 和 LOAD

您还可以将 CDPz CollectDb2 Analytics Accelerator Load 组合到一个 JCL 中。

TDSz Collect

您应该仍对非分析组件使用 TDSz COLLECT,但 A_* 表排除在外。

不使用仅用于加速器的表的实现

前面已经提到,可通过两种方式将 SMF 数据直接发送到 Db2 Analytics Accelerator 表。本节将解释如何分阶段完成此任务。将分析组件安装到 TDSz 中后,会首先在 Db2 中创建这些表,然后可以在准备就绪后将它们移动到 Db2 Analytics Accelerator 中。在上一节(“使用仅用于加速器的表的实现”)中,将分析组件安装到 TDSz 中后,直接在 Db2 Analytics Accelerator 中创建这些表。

第 1 阶段:对 Db2 中的表运行分析

在第 1 阶段,运行在 Db2 中创建的分析组件表。即使您没有 Db2 Analytics Accelerator 或 Common Data Provider for z/OS,也可以安装分析组件。在以后准备就绪时,就可以启用这些表来实现加速并将它们移动到 Db2 Analytics Accelerator 中。

绑定用于 Tivoli Decision Support 的 Db2 计划

应用所需的 PTF 并运行所有操作(包括刷新系统表)后,需要指定 BIND 选项 QUERYACCELERATION(ELIGIBLE)QUERYACCELERATION(ENABLE) 来重新绑定用于 Tivoli Decision Support 的 Db2 计划。

可以使用来自 SDRLCNTL 数据集(用于创建 TDSz 数据库的数据集)的 DRLJDBIN 样本。

//DBINIT   EXEC PGM=IKJEFT01                                      
//STEPLIB  DD  DISP=SHR,DSN=hlq_db2.SDSNEXIT             
//         DD  DISP=SHR,DSN=hlq_db2.SDSNEXIT
//DBRMLIB  DD  DISP=SHR,DSN=hlq_tds.SDRLCNTL(DRLPSQLX)     
//SYSPRINT DD  SYSOUT=*                                           
//SYSTSPRT DD  SYSOUT=*                                           
//SYSTSIN  DD  *                                                  
 DSN SYSTEM(DSN)                                                 
   BIND PACKAGE(DRLPLAN) MEMBER(DRLPSQLX) -                       
     ACTION(REPLACE) ISOLATION(CS) ENCODING(EBCDIC)  
     QUERYACCELERATION(ELIGIBLE)                
   BIND PLAN(DRLPLAN) PKLIST(*.DRLPLAN.*)-                       
     ACTION(REPLACE) RETAIN                                       
                                                                  
   RUN PROGRAM(DSNTIAD) PLAN(DSNTIA12) -                          
     LIB('hlq_db2.RUNLIB.LOAD')                          
 END

修改 TDSz Profile 数据集

现在,在此场景中,您未使用 AOT,所以不需要修改 DRLFPROF ;可以保留它的默认设置:

/*---------------------------------------------------------------*/
/* IDAA Enablement                                               */
/*---------------------------------------------------------------*/
def_useaot         = "NO"                                            
def_accelerator = "HOLIDAA"                                        
def_timeint     = "T"
  • 如果想要使用仅用于加速器的表,可以将 def_useaot 更改为“YES”。如果想以后再做决定,可以将它保留为“NO”。
  • def_accelerator = “xxxxxxxx”(加速器的名称)。
  • def_timeint = ” H ” | ” S ” | ” T
    • H ” – 取整为一小时间隔的时间戳。
    • S ” – 取整为一秒间隔的时间戳。
    • T ” – 时间戳为实际时间(默认设置)。

自定义 LOOKUP 定义

现在,如果有必要,应该自定义分析组件的 LOOKUP 定义,以反映经典查找表的内容。每个分析组件查找表都基于一个非分析组件查找表。如果计划从 Db2 运行分析组件,您可以通过将合适的成员从 SDRLDEFS 数据集复制到 LOCAL.DEFS 数据集,来自定义 LOOKUP 定义成员。您可以决定在安装合适的组件后更新 LOOKUP 表。

如果使用 Tivoli Decision Support for z/OS 来收集并填充 Db2 for z/OS 上的组件表,那么您应该自定义查找表(在此场景中,您可能正在使用 TDSz Collect)。另外,如果使用 Tivoli Decision Support for z/OS 报告(在此场景中,您可能正这么做),那么您应该自定义查找表。

表 2.TDSz 查找表成员

Tivoli Decision Support for z/OS 成员名称 Tivoli Decision Support for z/OS 组件表名称 Tivoli Decision Support for z/OS 分析组件表名称
DRLTA2AP DB2_APPLICATION A_DB2_APPLICATION
DRLTA2AC DB2_ACCUMAC A_DB2_ACCUMAC
DRLTALUG USER_GROUP A_USER_GROUP
DRLTALKP KPM_THRESHOLDS A_KPM_THRESHOLDS_L
DRLTALW2 MVS_WORKLOAD2_TYPE A_WORKLOAD2_L
DRLTALDA MVSPM_DEVICE_ADDR A_DEVICE_ADDR_L
DRLTALUT MVSPM_UNIT_TYPE A_UNIT_TYPE_L
DRLTALMI MVS_MIPS_T A_MIPS_L
DRLTALSP MVS_SYSPLEX A_SYSPLEX_L
DRLTALWL MVS_WORKLOAD_TYPE A_WORKLOAD_L
DRLTALW2 MVS_WORKLOAD2_TYPE A_WORKLOAD2_L
DRLTALTR MVSPM_TIME_RES A_TIME_RES_L

安装分析组件

像其他任何组件一样,使用 Administration Dialog > Components (1.2) 安装分析组件。

  1. 选择 Reports

  2. 选择 Components

  3. 选择这些组件。

  4. F6 开始安装。

现在,提交批处理作业,将创建这些组件。这些表是在 Db2 中创建的。所有分析表都以 A_ 开头。

另外,还可以通过报告对话框使用一些样本报告。所有分析样本报告的 ID 都以 A 开头。

因为分析组件基于经典组件,所以复制在经典表上运行的任何现有报告,并将其转换为在分析表上运行,应该不是很难。

现在,可以像使用其他任何组件一样使用分析组件。

第 2 阶段:在 Db2 Analytics Accelerator 中运行包含表的分析组件

在第 1 阶段,您安装了包含 Db2 中创建的表的分析组件;可能已为了实现加速而启用它们。现在,在第 2 阶段,您已准备好将这些表移动到 Db2 Analytics Accelerator,使它们变成仅用于加速器的表 (AOT)。

将这些表从分析组件添加到加速器中

修改并提交 SDRLCNTL 中的成员,以便将这些表添加到加速器中(请注意,这个样本使用了从 SAQTSAMP 编译的 AQTSCALL):

DRLJAKDA – Analytics – KPM Db2

DRLJA2DA – Analytics – Db2

DRLJAKZA – Analytics – KPM z/OS

DRLJAPMA – Analytics – z/OS

DRLJAKCA – Analytics – KPM CICS

备注:如果没有编译 AQTSCALL,可以使用 SAQTSAMP 中的样本作业 AQTSJI03。

将查找表内容从分析组件移动到加速器

修改并提交 SDRLCNTL 中的成员,以便将查找表的内容移动到加速器:

DRLJA2DK – Analytics – Db2

DRLJAKZK – Analytics – KPM z/OS

DRLJAPMK – Analytics – z/OS

自定义 LOOKUP 定义

现在,如果有必要,您应该自定义分析组件的 LOOKUP 定义,以反映经典查找表的内容。

每个分析组件查找表都基于一个非分析组件查找表。

如果仅将数据收集到 Db2 Analytics Accelerator 中,而不将数据放在 Db2 for z/OS 上,那么您应该自定义 Common Data Provider 的成员。您将在 Common Data Provider to z/OS 中配置查找表。在本例中,会将数据收集到 Db2 Analytics Accelerator 中。最好将来自 SHBODEFS 数据集的成员复制到某个新建的 LOCAL.DEFS 数据集中。参见

对 IDAA_ONLY 表使用 COLLECT 语句

备注:这部分与上面的“对 IDAA_ONLY 表使用 COLLECT 语句”部分相同。在这里再次提供是为了方便您使用。

现在您已准备好将 SMF 数据收集到 Db2 Analytics Accelerator 中。

CDPz Collect

首先,应该运行 CDPz 提供的 JCL 作业,通过分析组件为该加速器创建的表生成 Db2 内部格式数据。修改 SHBOCNTL 中的以下作业并提交到 LOCAL.CNTL 数据集,以便利用提供的 SMF 日志数据集来创建暂存数据集:

  • HBOA2DUN – Analytics – Db2
  • HBOAKDUN – Analytics – KPM Db2
  • HBOAPMUN – Analytics – z/OS Performance
  • HBOAKZUN – Analytics – KPM z/OS
  • HBOAKCUN – Analytics – KPM CICS

STEPLIB 应包含 CDPz SHBOLOAD 数据集。

HBOLOG 应包含您想要收集的 SMF 数据集。

运行该作业后,可以检查输出中的统计数据:

Db2 Analytics Accelerator Load

使用 Db2 Analytics Accelerator Loader for z/OS V2.1 将 SDE 创建的 Db2 内部格式数据集直接加载到 Db2 Analytics Accelerator 中,而无需将数据放在 Db2 for z/OS 中。作业由 CDPz 提供。

修改 SDRLCNTL 中的作业并提交到 LOCAL.CNTL 数据集,以便使用该加载器将暂存数据集上传到该加速器:

  • DRLJA2DD – Analytics – Db2
  • DRLJAKDD – Analytics – KPM Db2
  • DRLJAPMD – Analytics – z/OS Performance
  • DRLJAKZD – Analytics – KPM z/OS
  • DRLJAKCD – Analytics – KPM CICS>

组件中的每个表都有相应的 LOAD 语句:

作业输出包含每条语句的统计数据:

组合 COLLECT 和 LOAD

您还可以将 CDPz CollectDb2 Analytics Accelerator Load 组合到一个 JCL 中。

TDSz Collect

您应该仍对非分析组件使用 TDSz COLLECT,但 A_* 表排除在外。

结束语

本教程展示了如何在 TDSz、CDPz 和 Db2 Analytics Accelerator 之间实现集成,以便使用仅用于加速器的表将 SMF 数据直接发送到 Db2 Analytics Accelerator。您了解了两种不同的方法:

  • 在安装分析组件时,使用 TDSz 模式直接在 Db2 Analytics Accelerator 中创建表
  • 采用分阶段方式,首先像处理 TDSz 的非分析组件一样在 Db2 中创建表,然后将表移动到 Db2 Analytics Accelerator

在两种情况下,都需要一个 Common Data Provider for z/OS,后者将 SMF 数据收集到 Db2 Analytics Accelerator 中。

IBM developerWorks中国稿源:IBM developerWorks中国 (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 综合技术 » 将 SMF 数据直接发送到 IBM Db2 Analytics Accelerator

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录