如果我想写一个“自制的监控工具”来最详细地跟踪 CICS 事务,我可以从哪里开始?我知道有 SMF,但它没有给我有关 main 调用的单个程序的信息。我也知道有专门的工具(Sysview、mainview 和其他),但我很想知道它们是如何工作的并尝试创建我的工具。
我试图进行一些搜索,但我仍然不知道从哪里开始。
如果我想写一个“自制的监控工具”来最详细地跟踪 CICS 事务,我可以从哪里开始?我知道有 SMF,但它没有给我有关 main 调用的单个程序的信息。我也知道有专门的工具(Sysview、mainview 和其他),但我很想知道它们是如何工作的并尝试创建我的工具。
我试图进行一些搜索,但我仍然不知道从哪里开始。
您从您的 CICS 版本的CICS 定制指南开始。您需要了解的有关 CICS 最深层监控的几乎所有内容都在那里,包括供应商产品使用的几乎所有内容。汇编程序是必须的。
如果您有足够授权的 CICS 开发环境,您可以尝试一下。这很有趣,也很有教育意义,通过学习,您一定会成为任何级别的更好的 CICS 程序员。请小心——这些东西很容易使 CICS 崩溃,或者弄乱应用程序代码,或者损坏数据。不要在生产附近的任何地方尝试。即使在开发中,也要确保你的系统程序知道它。要求一个沙箱 - 这是理想的。
祝你好运!
MainView 等产品的实际工作原理我不能说;我建议你不要尝试这个。它可能会违反 HIPAA 和 SOX 以及各种其他审计员热键立法。
CICS 提供用户出口点,因此您编写的汇编程序代码可以获得控制权,即在EXEC CICS
调用之前和/或之后。
IBM 在 CICS 知识中心中记录了退出点以及如何编写汇编程序代码。一些 z/OS 服务也有退出点。
这可能会很有趣,并且您可能会对这些产品的工作原理有所了解,但请不要认为您的 CICS 系统程序员会感谢您编写此类代码。
只是不要。
阅读在 CICS 系统中在线执行此操作的其他注意事项,并添加性能问题。
您的问题的答案将取决于您为什么要这样做。不要忘记 CICS 跟踪 - 这将显示您可能需要的所有信息。跟踪并离线查看它的风险要小得多——如果你想写的话,可能使用本土的格式化工具。
它不是在线监控解决方案,但可以满足您的个人好奇心/应用洞察需求。
正如 Yuri 所说,如果除了更深入地了解 CICS 的工作原理之外别无其他,编写一个完整的详细监视器可能不是一个可行的商业前景,但那是您的决定。如果您还不是 sysprog,也许您应该考虑一下。下面描述的几乎所有内容只有在适当的访问权限下才能使用
明确你想要实现的目标,CICS 中的跟踪和监控是不同的,收集的数据类型保存在不同的区域,目的不同。首先有监控数据和跟踪数据。监视器数据是在任务终止和定时间隔等点收集的,数据存储在监视器缓冲区中并最终以 SMF 结尾,并且正如您所说,不会向您显示在任务执行中调用的各种程序。另一方面,跟踪数据非常详细,涵盖了任务与 CICS 和 CICS 内部的每次交互。跟踪数据存储在内存中的跟踪表中,并且可以选择由 CICS 写入辅助跟踪数据集。跟踪数据的缺点是它的生成速度非常快,因此捕获和存储这些数据会很繁重。最后,可以从各种 CICS 控制块收集信息,例如哪些任务处于活动状态、它们的状态等。这是实时的,因为这反映了系统状态,但仅在某个时间点。您无法使用它来跟踪任务使用的程序,因为您不知道在控制块扫描之间运行了多少程序。在监视和跟踪信息的情况下,该数据的收集和存储由 CICS 为您执行尽可能高效,重新发明那些轮子是没有意义的。但是你可以添加一些额外的。您无法使用它来跟踪任务使用的程序,因为您不知道在控制块扫描之间运行了多少程序。在监视和跟踪信息的情况下,该数据的收集和存储由 CICS 为您执行尽可能高效,重新发明那些轮子是没有意义的。但是你可以添加一些额外的。您无法使用它来跟踪任务使用的程序,因为您不知道在控制块扫描之间运行了多少程序。在监视和跟踪信息的情况下,该数据的收集和存储由 CICS 为您执行尽可能高效,重新发明那些轮子是没有意义的。但是你可以添加一些额外的。
市面上所有的 CICS 监控产品都以同样的方式做事。从 CICS 监控区域(在 CMF 上读取)和 CICS 控制块(在 CICS 域 API 上读取)收集数据,然后还连接到 CICS 全局出口点 (GLUE) 以获取额外的计数器和计时信息(例如跟踪程序名称)。然后将收集到的信息传递到外部地址空间以进行存储/呈现。一些收集信息的方法并不容易获得,因此生产一个 Omegamon 等价物会很困难。说了这么多,如果您仍然想深入了解,请使用自定义指南查找监控功能 (CMF)。特别是您可能有兴趣编写 GLUE 以拦截程序的开始/结束,例如退出点 XPCFTCH,是的,它的汇编程序,并在 MCT 中放入 EMP 调用并激活它们,
查看使用 CICS 提供的实用程序 DFH$MOLS 来处理 SMF 数据,如果您使用的是 5.3,那么它将卸载到您可能会发现对处理有用的数据格式
查看使用事务 CETR 将一些跟踪数据写入辅助跟踪数据集,并使用实用程序 DFHTUxxx 处理数据,其中 xxx 是您正在运行的 cics 版本,例如 CICS 5.3 的 DFHTU700。看看你得到了什么以及你是否可以使用它
有关控制块信息,请查看 CICS 数据区,访问它们是您的挑战。
我只能像别人说的那样重复。不要在生产中执行此操作,或者可能不会在任何预期保持活跃的环境中执行此操作!您很可能没有授权级别来执行大部分操作。与系统程序员交谈,其中很多可能已经存在。
但这是一个弯曲的球。如果您真正要寻找的是跟踪应用程序,例如自动 CEDF,那么请查看 Emitter 模式下的 CICS 事件处理,那会很有趣