挖掘审计信息.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《挖掘审计信息.pdf》由会员分享,可在线阅读,更多相关《挖掘审计信息.pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、35710 挖掘审计信息挖掘审计信息 业务流程越自动化,就越需要有关可用信息,即在什么时间做什么和为什么这样做。MQSeries Workflow 的审计功能将提供这些信息。在本章中,我们将研究如何挖掘这些信息以改进业务流程,并开发一些实例查询和报告来协助业务流程的执行。35810.1 MQSeries Workflow审计跟踪审计跟踪 现在,我们将研究一些在 MQSeries Workflow3.3 中用到的新审计特征。我们将打开审计日志,但登录的不是 DB2 正常运行时数据库而是审计队列。这将最大限度地减少激活审计日志所带来的性能损耗。审计记录以 XML 格式编写,很容易通过 MQSI 阅
2、读。审计数据将载入单独的数据库,这样在查询时就不会影响正常运行时性能。我们将示范简单的基于 SQL 来查询审计数据的监控器。10.2 激活审计跟踪工具激活审计跟踪工具 在编写本书时,构建时环境还不支持指定 MQSeries 审计跟踪。我们将手动编辑 FDL 文件激活审计日志来跟踪队列。有关完整 FDL 语法列表的详细信息,请参考MQSeries Workflow3.3 使用构建时的启动编号:SH12-6286-06 的第七章“FDL 定义”。由于只对一些基本事件感兴趣,所以我们将详细说明审计跟踪的浓缩版本。有关审计跟踪记录格式和定义的完整描述,请参考MQSeries Workflow 3.3管
3、理指南编号:SH12-6289-04 的第五章“如何使用审计跟踪”。在域(DOMAIN)定义的过程(PROCESS)部分中添加以下行:CONDENSED AUDIT_TO_MQ 在组(GROUP)定义中添加以下行:AUDIT_QUEUE_MANAGER_NAME MQSI01QM AUDIT_QUEUE_NAME MQSI.AUDIT 保存 FDL 文件并使用实用程序 fmcibie 加载到正常运行时数据库。10.3 使用使用MQSeries Integrator加载数据库加载数据库 我们将执行非常简单的消息流把审计跟踪从消息队列压栈(dumps)到数据库。在这种情况下,数据库插入将异步执行,
4、也就是说它将独立于工作流进程。图 10-1 显示了完全的 BuyXYZ_Store_Audit_Trail 消息流。359 图10-1消息流概览 该消息流非常简单。它读取适当的审计队列并将引入消息字段存入数据库。该消息流没有任何过滤或选择逻辑。它将以原始格式保存每个审计消息。这是很重要的,因为我们不想在仓库贮存阶段丢失信息,并且这一方法不会限制或过滤所存数据。10.3.1 审计跟踪审计跟踪XML消息格式消息格式 审计跟踪消息有一种 XML 格式。消息中包含 WfMessage 标题和 AuditTrailRecord XML文件夹。实例 10-1 显示简单的审计消息。实例10-1审计跟踪实例X
5、ML消息 No 2001-04-24 13:04:44 21006 Order Process UAAAAAEALsAAAAAAAAAAAAAAAAABAC4AAAAAAAAAAAAAUA=Order Process UAAAAAEALsAAAAAAAAAAAAAAAAABAC4AAAAAAAAAAAAAUA=Order Process 2001-04-24 12:53:17 ValidateCustomer ValidateCustomer 21100 36021200 QQAAAAEALsAAAAAAAAAAAAAAAAAMAAAAAQAuAAAAAAAAAA AAAAAAAAxB 该实例
6、不包含与 AuditTrailRecord 文件夹相关的所有 XML 字段。这就意味着对于消息来说并不需要包含所有审计字段。有关审计消息格式的详细信息,请参考MQSeries Workflow3.3管理指南编号:SH12-6291-06 的第三十四章“MQ 工作流 XML 消息格式”。表 10-2 包含了 XML 消息元素和数据库元素的详细清单。10.3.2 创建数据库表创建数据库表 对于审计记录来说,MQSeries Workflow 正常运行时数据库包含称为 AUDIT_TRAIL 的表。我们使用同样的字段定义了同一张表作为 CUSTOMER 数据库的一部分。该消息流将把审计消息记录到数据
7、库中。这样做的目的是保持审计记录与 MQSeries Workflow 内部数据隔离。表 10-1 显示了我们用以在 CUSTOMER 数据库中创建新表的脚本。表10-1创建审计表的脚本 脚本名称脚本名称 描述描述 buyxyz_audit_ddl.cmd 该脚本包含 SQL 命令以创建现有 CUSTOMER 数据库中的表。表 10-2 显示了审计跟踪记录的元素。该描述列来自MQSeries Workflow3.3管理指南编号:SH12-6289-04。带有“?”的 XML 字段是 AuditTrailrecord XML 文件夹的可选字段。表10-2审计跟踪元素 XML 消息字段消息字段 D
8、B 属性属性 描述描述 时戳(Timestamp)CREATED 可写入审计跟踪记录的日期及时间 AuditEvent EVENT 事件类型 361 XML 消息字段消息字段 DB 属性属性 描述描述 ProcTemplValidFromDate?TEMPL_VALID_FROM 相关过程模型的日期变得有效。ActivityType?ACTIVITY_TYPE 如果审计跟踪记录是为活动编写的,那么该字段包含该活动的类型。ActivityState?ACTIVITY_STATE 如果该审计跟踪记录是为与某个活动有联系事件而编写的,那么字段包含该活动的状态。ProgramRC?ACTIVITY_R
9、C 返回活动代码。ProcInstName PROCESS_NAME 过程实例名称。ProcInstID PROCESS_ID 过程实例的对象标识符。ProcInstTopLevelName TOP_LVL_PROC_NAME 如果过程实例正在作为子过程执行,即与过程名称中一样的子过程(如果该过程实例是最高级别过程实例的话),那么则为最高级别过程实例的名称 ProcInstTopLevelID TOP_LVL_PROC_ID 如果过程实例正在作为子过程执行,即与过程标识符中一样的子过程(如果该过程实例是最高级别过程实例的话),那么则为最高级别过程实例的对象标识符。ProcInstParentN
10、ame?PARENT_PROC_NAME 如果过程实例正在作为子过程执行,那么则为父级过程实例的名称。362 XML 消息字段消息字段 DB 属性属性 描述描述 ProcInstParentID?PARENT_PROC_ID 如果过程实例正在作为子过程执行,那么则为父级过程实例的对象标识符。ProcTemplName PROC_TEMPL_NAME 过程模型名称。BlockNames?BLOCK_NAMES 包含有活动中所有块的相连名称。由圆点将各种名称分开。UserID?USER_NAME 与事件有关联用户的 ID,该事件是写入审计跟踪的原因。如果该审计跟踪记录由MQ工作流系统写入,则不对该
11、字段进行填充。SecondUserID?SECOND_USER_NAME 与事件有关联的第二个用户的 ID,该事件是写入审计跟踪的原因。ActivityName?ACTIVITY_NAME 如果审计跟踪条目与活动相关,那么该字段包含活动的名称。如果审计跟踪条目与控制连接程序相关,那么该字段包含控制连接程序源的活动名称。SecondActivityName?SECOND_ACT_NAME 如果审计跟踪是为与控制连接程序相关的事件而编写的,那么字段包含目标活动的名称。363 XML 消息字段消息字段 DB 属性属性 描述描述 XML 消息字段 DB 属性 描述 CommandParameters?
12、COMMAND_ PARAMETERS 如果该事件是程序活动的开始,则该字段包含调用程序时所通过的实际参数。AssociatedObject?ASSOCIATED_OBJECT 包含与事件相关的对象标识符。在 MQ 工作流数据库中可用于定位对象。ObjectDescription?OBJECT_DESCRIPTION 包含与事件相关的对象描述。ProgramName?PROGRAM_NAME 如果该事件是某个程序活动的开始,那么该字段包含程序名称。10.3.3 BuyXYZ_Store_Audit_Trail消息流细节消息流细节 该消息流包含两个节点。图 10-2 和图 10-3 显示了该 M
13、QInput 节点的设置。图10-2 MQInput节点细节 364 图10-3 MQInput节点细节 该 MQInput 节点以 MQSeries Workflow 格式接收 XML 消息。第二个节点是数据库节点,它将把字段插入数据库,参见图 10-4。365 图10-4数据库节点细节 在引入 XML 消息中有可选字段和强制字段,但我们将此插入定义为一套完整的字段。10.4 SQL查询查询 虽然实时分析审计信息并立即修改业务流程的执行似乎是不错的主意,但您必须全面考虑类似这样流程的可行性和实际益处。使用错误的设计方法,可能会减慢业务流程的执行并带来一些负面影响。366这就是在本节中我们只给
14、出简单查询来创建聚集值的原因。下一步将是创建调度工作流进程,并使用聚集值更新数据库中的控制参数。例如,调度工作流可能会启动 UPES 活动,该活动将检查供应商的平均响应时间并将他们以周为基础进行分类。为此,我们必须定义适当的并可测量的值。在本节中,我们将说明阅读审计信息和创建简单查询的要点。我们定义了简单查询来示范如何利用由 MQSeries Integrator 消息流存储的审计信息进行工作。有关如何分析审计消息的更多信息,请参考MQSeries Workflow3.3管理指南编号:SH12-6289-04 的第五章“如何使用审计跟踪”。10.4.1 分析审计信息分析审计信息 为了建立查询和
15、来自原始审计跟踪的统计表,我们有以下几种可能的方法。每个审计记录都包含“CREATED”字段,它可以用来计算响应时间和其他时间间隔。存在与过程级别、活动级别和工作项目级别相关的不同事件。基本的过程事件如表 10-3 所示。这些事件存储在表 AUDIT_TRAIL 的 EVENT 字段中。表10-3过程审计事件实例 事件类型事件类型 事件值(事件值(DB 中的事件属性)中的事件属性)已创建与启动的过程 21018 启动过程 21000 正常结束的过程 21004 正常结束及删除的过程 21025 终止的过程 21005 在查询过程中,我们可以使用这些事件来创建与全部过程执行相关的统计表。367活
16、动信息与给定的流标识符相关。这意味着我们能够提取与某些过程相关的活动信息。但我们也可以创建聚集信息,其独立于不同的过程实例。活动事件存储在表 AUDIT_TRAIL 的 EVENT 字段中,但在 ACTIVITY_STATE 字段中活动同样有事件条目。对于活动状态来说,ACTIVITY_TYPE 字段记录了有关活动类型的必要信息。表 10-4 显示了通用活动事件类型。表10-4活动审计事件实例 事件类型事件类型 事件值事件值 活动就绪 21006 已启动的活动 21007 正常结束的活动 21011 到期的活动 21081 终止的活动 21027 手动退出的活动 21014 表 10-5 显示
17、了通用活动状态。表10-4活动状态实例 活动状态活动状态 状态值状态值(ACTIVITY_STATE 属性)属性)就绪 21200 运行 21201 完成 21202 终止 21205 到期 21213 在实例中,我们只使用了 EVENT 字段的值,因为这些信息足以创建实例 SQL 查询。要创建更深入更详尽的查询,还有其他可用字段。例如,ACTIVITY_RC 显示了 UPES调用的原因码。也有关于手动活动的信息,例如用户(USER_NAME)自定义了特定命令。368有关那些数据在审计跟踪中可用的更多信息,请参考MQSeries Workflow3.3管理指南编号:SH12-6289-04 的
18、第五章“如何使用审计跟踪”。请注意在本节中,我们没有列举全部的状态代码和事件代码。要查看这些代码,请参考MQSeries Workflow3.3管理指南编号:SH12-6289-04。10.4.2 实例查询实例查询 下面给出的查询都是非常简单的实例。您可以使用数据挖掘工具或其他分析程序来创建更复杂更灵活并且带有不同输入变量的查询(例如,活动名称与/或 from 日期和 to 日期作为输入变量)。已完成过程的总数已完成过程的总数 该概念将计算来自已启动的审计跟踪的不同过程标识符的数量。实例 10-2 所示的查询非常简单。我们将用已启动过程事件(21000)与已创建并启动过程事件(21018)来获
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 挖掘 审计 信息
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内