IBM Cognos 最佳实践: 了解 IBM Cognos Adaptive Warehouse 日志文件

文档性质:故障排除;产品:IBM Cognos Adaptive Warehouse for IBM Cognos Business Intelligence Server versions 8.4 和 10.1;关注领域:故障排除

本文介绍了 IBM Cognos Adaptive Warehouse 生成的各种日志文件,详细描述了这些文件在何时生成以及所包含的内容。

Ning Liu, 软件开发人员, IBM

Ning Liu 拥有国防科学技术大学计算机科学的硕士学位,并且已经在 IBM 工作了 7 年,其中 6 年担任了 IBM Cognos Adaptive Warehouse 项目的开发人员。在此之前的十年中,他致力于研究中国的 OLTP 银行系统。他的专业领域包括数据仓库、数据建模和商业智能。他目前在英国斯坦斯 IBM 实验室 Business Analytics 部门从事交互式可视化工具的开发。



Alban Tsui, 高级软件开发人员, Business Analytics, IBM

Alban Tsui 拥有伦敦大学国王学院的信息处理和神经网络的硕士学位,以及帝国理工学院的计算哲学的博士学位。他已经为 IBM 工作了 12 年,其中 7 年的时间里担任 Cognos Adaptive Warehouse 项目的开发人员。他是 IBM Cognos Adaptive Applications Framework (IBM Cognos Adaptive Warehouse) 的初始发明人之一(其中包括 IBM Cognos Metrics Manager),以及许多其他产品的发明者。他拥有 C、C++、Java、JavaScript、Web 应用程序、ETL (Extract, Transform and Load) 设计和数据仓库方面的软件开发经验。他发表了许多学术论文,主题包括神经网络、混沌控制和数据建模,他目前是英国斯坦斯 IBM 实验室 Business Analytics 部门的高级开发人员。



Peter Broadbent, 软件工程师, Interactive Discovery, IBM

Peter Broadbent 拥有伦敦布鲁内尔大学的企业系统开发硕士学位。他已在 IBM 工作了 5 年,在加入 IBM 后,参与了 Cognos Adaptive Warehouse 项目。他的专业领域包括商业智能、业务流程管理,并且喜欢使用 Java 和 JavaScript 编写软件。他目前在英国斯坦斯 IBM 实验室 Business Analytics 部门从事交互式可视化工具的开发。



2012 年 5 月 10 日

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 8 Business Intelligence Developer Edition V8.4 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

本文介绍了 IBM Cognos Adaptive Warehouse 生成的各种日志文件,详细描述了这些文件在何时生成以及所包含的内容。

如果您正在对 IBM Cognos Adaptive Warehouse 的安装进行故障排除,并且希望获得关于您所接收到的错误的详细信息,或者仅仅希望知道如何了解日志文件,那么本文将十分有用。

适用性

本文所述信息适用于 IBM Cognos Adaptive Warehouse for IBM Business Intelligence Server 8.4IBM Cognos Adaptive Warehouse for IBM Business Intelligence Server 10.1

免责条款

如果使用的是早期版本的 IBM Cognos Adaptive Warehouse,那么日志文件可能不适用于上述版本以外的版本。


查找并启用更多日志文件

所有 IBM Cognos Adaptive Warehouse 日志文件都位于安装目录中。在默认的安装中,这些日志文件都将位于子目录 aaf\logs,该位置是 IBM Cognos Configuration 在 Environment > Data files location 中指定的基本位置(参见图解 1)。在默认情况下,日志文件的位置应当为 [Install Directory]\data\aaf\logs,在本文中将引用为 [root_log_directory]

图解 1:IBM Cognos Adaptive Warehouse 配置中的数据文件位置
图解 1:IBM Cognos Adaptive Warehouse 配置中的数据文件位置

在默认情况下,IBM Cognos Adaptive Warehouse 不会启用所有可用的日志文件。为此,请执行下列步骤:

  1. 修改 [Install Directory]\configuration\aaf.ini 文件的文件属性并去掉只读文件属性。
  2. 在文本编辑器中编辑 aaf.ini 文件并作出以下修改:
    • 找到文本 <Section Name="LogControl"> 并将 <FileLogLevel>INFO</FileLogLevel> 修改为 <FileLogLevel>DEBUG</FileLogLevel>
    • 在 aaf.ini 的末尾 </Sections> 标记上方添加以下 <Section> 元素:
      <Section Name=”DebugInfo”>
      <LogSystemTables>true</LogSystemTables>
      <LogModelXML>true</LogModelXML>
      <LogDDL>true</LogDDL>
      <PackagePersistence>true</PackagePersistence>
      </Section>
  3. 重启 IBM Cognos Adaptive Warehouse 以使这些修改生效。

注意:启用 DEBUG 级日志会对性能产生很大的影响,因此只应在必要时启用。


识别 IBM Cognos Adaptive Warehouse 日志文件

IBM Cognos Adaptive Warehouse 会生成大量的日志文件,其中一些文件是因为执行某些任务并启用了相关日志而生成的。

IBM Cognos Adaptive Warehouse 应用程序日志文件始终位于 [root_log_directory],并且采用 aw-[timestamp].log 的命名模式(例如,aw-20101208181201218.log)。下面的图解显示了 [root_log_directory] 下的日志文件。

图解 2:root log 目录下的 IBM Cognos Adaptive Warehouse 日志文件列表
图解 2:root log 目录下的 IBM Cognos Adaptive Warehouse 日志文件列表

本文稍后将更详细介绍 ETL 日志文件。

表 1 给出了在启用额外日志选项后将生成的日志文件(不包括 ETL 日志文件)的列表。许多这些日志都是由于 IBM Cognos Adaptive Warehouse 引擎和 IBM Cognos Adaptive Warehouse User Interface (UI) 的交互生成的。这些日志将不会在使用了 IBM Cognos Adaptive Warehouse 命令行客户端的系统中生成。

表 1 日志文件及细节

日志文件描述是否默认启用?如何生成文件?
aw-[timestamp].logIBM Cognos Adaptive Warehouse 应用程序日志文件。该文件列出了所有事件。 默认
_PostReadFromDBFMModel_[timestamp].xmlIBM Cognos Framework Manager 模型,由 IBM Cognos Adaptive Warehouse 从目标数据库读取。打开一个项目
_ReadUIModelFromXML_ui_[timestamp].xml由 UI 传递给引擎的 UI 仓库模型UI->Engine
_ReadUIModelFromXML_whproject_[timestamp].xml由 UI 传递给引擎的引擎仓库模型UI->Engine
_ReadFMModelFromXML_xml_[timestamp].xml由 UI 传递给引擎的 IBM Cognos Framework Manager 模型UI->Engine
GetUIXML_WHProject[timestamp].xml由引擎传递给 UI 的 UI 仓库 XML 模型Engine->UI
WriteFMModelToByteBuffer_[timestamp].xml由引擎传递给 UI 的 IBM Cognos Framework Manager 模型Engine->UI
systemtables_ddlscript-[timestamp].sql包含用于为新的 IBM Cognos Adaptive Warehouse 项目创建数据库表的 SQL 语句创建一个新项目
systemtables_ddlspec-[timestamp].xml包含上述 systemtables_ddlscript 日志的 XML 表示创建一个新项目
systemtables_dmlscript-[timestamp].sql包含用于在创建新项目时向数据库插入项目数据的 SQL 语句创建一个新项目
systemtables_dmlseedscript-[timestamp].sql包含向数据库插入种子数据的 SQL 语句创建一个新项目
DDLScript-[timestamp].sql包含用于执行表管理的 DDL 和 DML 语句运行 ETL

表 2 中列出的日志文件仅仅在导入内容库时创建。所有这些日志文件都需要额外的设置才能启用,在默认情况下不启用。

表 2. 与内容库有关的日志文件

日志文件描述如何生成文件?
_FMProjectToImport_Content_[timestamp].xmlIBM Cognos Framework Manager 模型,由 IBM Cognos Adaptive Warehouse 从内容文件读取。[导入步骤 1]
_WHProjectToImport_Content_[timestamp].xml仓库模型,由 IBM Cognos Adaptive Warehouse 从内容文件读取。[导入步骤 1]
_FMProjectToImport_BeforeFilter_[timestamp].xml IBM Cognos Framework Manager 模型,由 IBM Cognos Adaptive Warehouse 在更新内容文件后生成。 [导入步骤 2]
_WHProjectToImport_BeforeFilter_[timestamp].xml仓库模型,由 IBM Cognos Adaptive Warehouse 在更新内容文件后生成。[导入步骤 2]
_FMProjectToImport_AfterFilter_[timestamp].xml IBM Cognos Framework Manager 模型,由 IBM Cognos Adaptive Warehouse 在更新内容文件后生成。这将列出排除的 ERP 源和术语。 [导入步骤 3]
WHProjectToImport_AfterFilter_[timestamp].xml仓库模型,由 IBM Cognos Adaptive Warehouse 在更新内容文件后生成。这将列出排除的 ERP 源和术语。 [导入步骤 3]
_FMProjectToImport_PreSync_[timestamp].xmlIBM Cognos Framework Manager 模型,由 IBM Cognos Adaptive Warehouse 在对内容文件中重命名对象后生成。 [导入步骤 4]
WHProjectToImport_PreSync_[timestamp].xml仓库模型,由 IBM Cognos Adaptive Warehouse 在对内容文件中重命名对象后生成。[导入步骤 4]
_FMProjectToImport_AfterSync_[timestamp].xmlIBM Cognos Framework Manager 模型,由 IBM Cognos Adaptive Warehouse 在对导入的内容文件目标模型执行同步后生成。 [导入步骤 5]
WHProjectToImport_AfterSync_[timestamp].xml仓库模型,由 IBM Cognos Adaptive Warehouse 在对导入的内容文件目标模型执行同步后生成。[导入步骤 5]
_FMProjectToImport_[timestamp].xmlIBM Cognos Framework Manager 模型,实际由 IBM Cognos Adaptive Warehouse 导入。[导入步骤 6]
_WHProjectToImport_[timestamp].xml仓库模型,实际由 IBM Cognos Adaptive Warehouse 导入。[导入步骤 6]
_WriteUIImportExportTask_[timestamp].xmlIBM Cognos Adaptive Warehouse 创建并发送给 UI 供用户确认的导入或导出任务。 [导入步骤 6]
_ReadUIImportExportTask_[timestamp].xml用户确认的将由 IBM Cognos Adaptive Warehouse 运行的导入或导出任务。 [导入步骤 6]
_PostImportEngineFMModel_[timestamp].xml成功导入后的 IBM Cognos Framework Manager 模型。[导入步骤 7]
_PostImportEngineModel_[timestamp].xml成功导入后的仓库模型。[导入步骤 7]

有关内容库的细节,请参考 IBM Cognos Adaptive Warehouse 用户指南。


了解 IBM Cognos Adaptive Warehouse 应用程序日志

IBM Cognos Adaptive Warehouse 应用程序日志文件是顶级日志文件,详细描述了应用程序运行期间发生的所有事件。下面是一个日志记录的样例:

29/03/11 13:11 ERROR Unable to read database schema version. No rows found in PWW_SCHEMA_VERSION table. PWOne pweemanager PWEEManager GetDBSchemaVersion

表 3 展示了这个样例日志记录的组件。

表 3 应用程序日志文件条目解释

日志条目描述
29/03/11 13:11事件发生的时间戳
ERROR日志消息的级别
Unable to read database schema version. 日志消息的标题
No rows found in PWW_SCHEMA_VERSION table.日志消息的描述
PWOne内部或额外的描述信息
pweemanager内部
PWEEManager内部
GetDBSchemaVersion内部

日志消息中的 [内部] 部分对于开发人员尝试解决未向最终用户提供任何有用信息的错误非常有用。

日志消息的级别分为四种:INFO、DEBUG、WARNING 和 ERROR。表 4 描述了每种级别将生成的消息类型。在默认情况下,IBM Cognos Adaptive Warehouse 只记录定义为 INFO、WARNING 和 ERROR 的日志事件。如第 4 小节的介绍,通过启用额外的日志消息级别,也可以记录 DEBUG 级别的日志消息。

表 4 日志消息级别

日志级别描述
INFO应用程序的正常执行。
WARNING异常事件,通常不会影响应用程序的正常执行。许多情况下,日志消息将详细描述所记录事件的输出,应用程序采取的纠正步骤,以及用户避免未来出现此问题所需执行的操作。
ERROR异常事件,将干扰应用程序的正常执行。根据用户执行的事件的顺序,该错误可能恢复,也可能无法恢复。
DEBUG在正常执行期间记录的额外信息和异常事件。

常见日志消息

下面列出了一些常见的日志消息及其含义。为了方便阐述,去掉了日志消息的时间戳和内部部分。

INFO DBADAPTER-LOG-0005 Successfully connected to database "BROADBEP_MSSQL_2008_SOTTWESTPORT_AW_COL_2".

这是 IBM Cognos Adaptive Warehouse 在数据库中尝试打开或创建一个新项目时执行的第一个步骤。它并不表示成功打开了现有项目或成功创建了新项目。

INFO Install or Upgrade of PWOne tables succeeded

成功创建了一个新项目及其相关数据库表,或成功地对早期版本的 IBM Cognos Adaptive Warehouse 项目进行升级。

ERROR DBADAPTER-LOG-0003 Error preparing a sql statement. DBADAPTER-LOG-0004 The SQL statement prepare failed with reason "UDASQLException when preparing statement: UDA-SQL-0196 The table or view "DATABASE_MSSQL_2008_MACHINEX_AW_..dbo.PWW_SCHEMA_VERSION" was not found in the dictionary.

ERROR Unable to read database schema version. No rows found in PWW_SCHEMA_VERSION table.

当用户试图从一个数据库连接中打开一个 IBM Cognos Adaptive Warehouse 项目,而底层数据库并不包含项目的时候,将显示这两条日志消息。如果需要使用新项目来容纳 IBM Cognos Adaptive Warehouse 项目,那么将需要在该数据源中创建一个新项目。

INFO EEM-LOG-0304 Saving the PWOne model succeeded. EEM-LOG-0305 Saving the PWOne warehouse model to the target database succeeded. All updated objects have been saved.

该消息表示 IBM Cognos Adaptive Warehouse 项目已成功保存到数据库中。这通常在用户对模型进行了修改并发出保存操作后发生。

INFO Executing ETL

该消息表示启动 “Extract, Transform and Load” 流程。

INFO Create ds log directory: ..\data\aaf\logs\aw-etl\20110329_144458_00

该消息表示为了执行 “Extract, Transform and Load” 而创建的日志目录的名称。


了解 ETL 日志

概述

ETL (Extract, Transform and Load) 日志文件始终位于 [root_log_directory]\aw-etl 目录。该目录将引用为 [root_ETL_log_directory]。ETL 生成的顶级日志文件称为 etl.log,位于 [root_ETL_log_directory] 下的一个时间戳目录中(例如,[Install Location]\data\aaf\logs\aw-etl\20110329_144458_00\etl.log)。如下屏幕截图所示。

图解 3: 时间戳目录下的 etl.log 和其他 ETL 日志文件
图解 3: 时间戳目录下的 etl.log 和其他 ETL 日志文件

在运行 ETL 时,将创建大量工作流和子工作流。这些都是 IBM Cognos Data Manager 必须执行的工作。有关这些术语的详细解释,请参考 IBM Cognos Data Manager 用户指南。

etl.log file 包含完整的 ETL 执行的细节,其中包括作业流的状态和失败情况。在寻找某个特定作业流的相关详细信息时,会发现作业流节点名与其相关日志是松散匹配的。每个作业流日志还会引用其他构建,而每个这样的构建会生成另一个日志文件。包含 Dimension “Company” 日志的示例目录与以下内容类似:

Job_Company_T_0001.log
Job_Companym_0001.log
Job_Companye1_0001.log
Build_Companye1MRG1_0001.log

在本示例中,Job_Company_T_0001.log 是顶级日志文件,其次是 Job_Companym_0001.log,接着是 Job_Companye1_0001.log。确定方式是在文本编辑器中打开每个日志文件,并在显示当前工作上下文的顶部中添加注释。对于作业 Job_Companye1_0001.log,将显示下面的内容:

Run context:
JobStream 'ALLJOBS'
	JobStream 'Company_T'
		JobStream 'Companym'
			JobStream 'Companye1'

如果您的 IBM Cognos Adaptive Warehouse 项目使用了物化视图 (Materialized View),您还会发现名为 MVIEWScript-[timestamp].sql 的日志文件,其中包含用于管理数据库中关联物化视图的 SQL。

出于调试目的,IBM Cognos Adaptive Warehouse 已经在工作/构建中插入额外的元数据信息作为 “变量”,这些元数据将出现在日志中,允许用户诊断 IBM Cognos Adaptive Warehouse 模型中的问题。下面的示例将提供仓库对象的相关信息,在本示例中为 ‘Job Position’,以及与该日志文件相关的数据流,在本示例中为 ‘dataflow’。

[VARIABLE - 11:27:17] .. AAF_X_WHO_ID_X = '{1ee3316a-0907-11e0-81d4-
db9ea33d341b}'
[VARIABLE - 11:27:17] .. AAF_X_WHO_NAME_X = '{Job Position}'
[VARIABLE - 11:27:17] .. AAF_X_DF_ID_X = '{1ee0cd28-0907-11e0-883f-
db9ea33d341b}'
[VARIABLE - 11:27:17] .. AAF_X_DF_NAME_X = '{dataflow}'

IBM Cognos Adaptive Warehouse ETL 将从 ERP 发出许多 IBM Cognos Business Intelligence 查询到源数据。通常,这些 IBM Cognos Business Intelligence 查询仅存在于 IBM Cognos Data Manager factbuild 对象(在日志中有时称为数据构建),它们将把日志与前缀 “Build_” 关联起来。大多数常见的 ETL 问题,特别是配置问题,将显示在这里。

常见日志消息:连接问题

在 IBM Cognos Adaptive Warehouse 应用程序日志文件中,您会注意到以下日志消息:

DM-DBM-0402 COGQF driver reported the following:

COGQF failed to execute query - check logon / credential path

在大多数情况下,这是因为某个 IBM Cognos Adaptive Warehouse 配置步骤没有正确应用或根本没有应用。需要对 IBM Cognos Adaptive Warehouse 运行配置来确保 IBM Cognos Data Manager 获得正确的配置,以从 IBM Cognos Business Intelligence 服务器提供数据。这可能是 IBM Cognos Adaptive Warehouse 在运行 ETL 时第一次与 IBM Cognos BI Server 通信,因此以前可能没有遇到过这个错误。这也可能与错误发布的源模型有关,请参见下列提供的详细信息。

操作:返回 IBM Cognos Adaptive Warehouse 配置池。

常见日志消息:没有发布源模型

如果源模型没有发布,或在 ETL 加载时与 IBM Cognos Adaptive Warehouse 模型失去同步,您可能会在 IBM Cognos Adaptive Warehouse 应用程序日志中注意到以下错误:

COGQF failed to execute query - check logon / credential path

用户可以尝试再次发布源模型,或检查它是否位于 IBM Cognos Business Intelligence 服务器。这可以通过启动 IBM Cognos Report Studio,创建一个新的空报告,并将相应的已发布模型作为源来完成此项操作。

操作:检查 IBM Cognos Business Intelligence Server 内容库中的包。再次运行负载管理并确保源包已发布。

常见日志消息:连接不足

当一个数据流来自许多输入源和查找,您会收到一条日志消息,表示已经达到最大数据库连接数。

DM-DBM-0402 COGQF driver reported the following:

RQP-DEF-0370 Maximum number of database connections (20) has been reached.

在默认情况下,IBM Cognos Query Framework 引擎将最大数据库连接数设置为 20。通过编辑 CQEConfig.xml 文件可以将该值修改为一个更大的值。如果系统中没有该文件,那么可以使用一个样例版本。该文件位于 [Install_Directory]\data\aaf\configuration\CQEConfig.xml.sample。将该样例文件重命名为 CQEConfig.xml,然后在文本编辑器中执行如下修改:

在本小节中,

<component name="CQE">
<section name="DBConnectionPool">
<!~~~-- Description: Database connection timeout. 
Default is 900 seconds (15 minutes) ~~~-->
<entry name="Timeout" value="900"/>
<!~~~-- ~~~-->
<!~~~-- Description: Database connection pool size. ~~~-->
<!~~~-- Maximum number of connections managed by the report server. 
Default=20 ~~~-->
<entry name="PoolSize" value="20"/>
<!~~~-- ~~~-->
</section>

增加 PoolSize 的值。

操作:在 CQEConfig.xml 中提高 PoolSize 设置。

常见日志消息:其他错误

当 IBM Cognos Data Manager 试图向数据库表中插入数据时,您可能会遇到数据不兼容的问题。对于这种情况,需要始终检查 IBM Cognos Adaptive Warehouse 模型,以查看仓库项类型是否与对应的源模型数据类型(来自 IBM Cognos Business Intelligence Server 查询)相匹配。

可能遇到的另一个问题是由于底层环境或网络问题而忽然失去连接。在这种情况下,您可以会注意到 ETL 日志文件并未 “完成”,或者在某些情况下,当 IBM Cognos Data Manager 出现问题时,它会显示相应的错误消息,表示无法连接到数据库或 IBM Cognos Business Intelligence Server。

DDL、系统表和 XML 模型日志

DDL 和系统表日志通常由数据库管理员使用,他们需要了解 IBM Cognos Adaptive Warehouse 正在执行的数据库操作。这些日志不会包含有助于最终用户排除故障的信息。

模型 XML 日志是 IBM Cognos Adaptive Warehouse 项目在不同阶段响应事件的快照。这些模型旨在帮助 IBM Cognos Adaptive Warehouse 开发人员进行故障排除,但是对最终用户诊断错误消息没有任何帮助。

参考资料

学习

获得产品和技术

讨论

  • 参与 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=810394
ArticleTitle=IBM Cognos 最佳实践: 了解 IBM Cognos Adaptive Warehouse 日志文件
publish-date=05102012