如何通过JCL/Shell脚本(unix框)检查CICS区域的状态



我想通过使用JCL检查Mainframe CICS区域的状态,无论它是活动的还是非活动的,或者如果可以建议我一种通过shell脚本检查CICS区域状态的方法,那就更好了。这个脚本/JCL将用于向一个组发送一封邮件,说明该区域在预定时间处于活动/非活动状态。

请帮我在JCL的情况下使用PROC/ULITY,或者帮我举一个shell脚本的例子来实现它

解决方案:

我在主屏幕上执行了以下命令

TSO STATUS <job-name>

它告诉我工作是否在进行。我在工作中执行了相同的TSO命令,并将输出放入数据集中。

简单地想一想,我看到了三种替代方案,都涉及到SDSF(系统显示和搜索功能)的使用。

  • SDSF分批
  • Rexx的SDSF
  • 来自Java的SDSF

请注意,并不是所有的大型机商店都许可SDSF,它是一种IBM产品。存在ISV替代方案;我知道这些,但不熟悉。

如果这是在我工作的商店里完成的,我会与大型机建立一个SSH会话,并提交一个批处理作业来执行链接中描述的Rexx代码。批处理作业可以检查CICS区域的状态并发送电子邮件。我的偏好来自于以前做过所有这些事情,只是我没有把它们放在一起。

您的大型机用户可能禁止使用Rexx,或者不允许SSH连接到他们的机器,或者不愿意将Rexx接口设置为SDSF。他们可能对Java有类似的感受。

可能存在安全隐患,登录ID和密码将在您的脚本中,是吗?该ID将被授权做什么?如何保护脚本?ID的密码是否需要定期过期?

所有这些都意味着您必须与(可能是多个)大型机员工一起工作,才能使此过程正确运行。这些问题都不是为了阻止你实现目标;您的目标必须在不损害系统安全性和完整性的情况下实现。

其他一些需要考虑的事情。。。

为什么要检查CICS区域是否已打开?如果是因为(例如)您将开始一个批处理过程,在区域启动时向其发送消息,在区域关闭时通知某人,那么最好将错误处理构建到您的批处理过程中。

大型机商店通常有一些自动化软件,可以在重大事件发生时通知人们——铃声响起、灯光闪烁、寻呼机关闭、电子邮件发送等等。也许你试图做的事情已经以不同的方式处理了。

其他几个选项:

  • 您也可以运行Status(ST)命令-只需运行TSO后台(IKJEFT01)并发出Status命令即可。有关相应的作业名称,请参阅Status命令
  • 您可以尝试从批处理作业运行Cics命令,请参阅batch Cemt New副本。如果它工作,CICS启动,失败的CICS未启动,我建议进行查询,而不是新拷贝

一种方法是将作业步骤添加到CICS区域。将此作业步骤定义为ALWAYS运行,或者更好地将其定义为仅在CICS作业步骤失败时运行。

在这个作业步骤中,调用向相关方组中的每个人发送电子邮件的程序。

这样,当CICS区域异常终止时,每个人都会收到通知,但如果作业作为常规操作的一部分被干净地关闭,则没有人会收到电子邮件。

或者,您可能希望在该地区出现故障时始终发送电子邮件,而不管是什么原因。

此解决方案避免了对该区域进行轮询以查看其是否可用。例如,如果更改了区域名称,会发生什么情况?脚本必须更改!或者,如果增加第二个或第三个生产区域会怎样?同样,所有的脚本都必须更改。

最后,你可以在区域中添加一个零级,这样当区域出现时,每个人都会得到通知!!

最新更新