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