如何编写 z/OS 健康检查?

Posted

技术标签:

【中文标题】如何编写 z/OS 健康检查?【英文标题】:How to write a z/OS Health Check? 【发布时间】:2018-03-08 16:57:18 【问题描述】:

我想为 z/OS 编写运行状况检查,但不清楚从哪里开始。有任何建议、例子或方向吗?

另外,是否可以在 Unix 系统服务中编写健康检查?

【问题讨论】:

您查看过documentation吗? @cschneid 感谢您的链接!我正在阅读文档。我正在寻找可能曾经走过这条路的另一个人。 恐怕那个人不是我。不过听起来很酷,祝你好运。如果你在这里没有得到答案,你可以试试 ibm-main listserv。 我有。你想做什么?你熟悉 REXX 吗?你看过样品吗? @JadeSteffen 您是否正在尝试从头开始编写健康检查,因为使用 IBM、CA、BMC 等工具的现有工具还不够好,或者您是否正在尝试设计一个健康检查流程-使用任何可用的工具检查 z/OS 系统。如果是后者,那么您是否有兴趣检查 z/OS 的特定部分(您提到了 USS)? 【参考方案1】:

编写一个简单的 REXX exec 如下:

/* REXX Health checker */

say 'Health check passed. System working.'

然后执行 EXEC。如果你不能执行它或者如果消息没有被打印出来,那么系统就没有工作。

但是说真的 - 您正在检查 z/OS 的哪个部分?您想知道是整个系统宕机还是只是其中的一部分?哪些部分 - CICS、MQ、DB2、IMS 等。批处理作业在排队吗? CICS 事务是否运行得太慢?您的 MQ 队列深度是否太大/太小?

这不是一个是/否的问题。您可以在 z/OS 系统上验证字面意思(我的意思是字面意义上的字面意思)1,000 多个指标和性能数据——它不是一个上升或下降的玩具。

如果您阅读以下内容:IBM Health checker for z/Os Users' Guide,您就会对其中的内容有所了解。

很多人以前都走这条路。在CA-Sysview、BMC Mainview、IBM的Omegamon上查找资料——这些都是非常成熟的系统监视器。

我怀疑您将大型机视为远程系统,并且您想知道它是否“启动”,即它是否会响应您对其提出的任何请求。您能否解释一下您希望它为您做什么,然后我们可能会为您设计一个健康检查。

【讨论】:

【参考方案2】:

所以,首先,从IBM Health Check for z/OS User's Guide 开始。它将指向您可以用作基础的 SYS1.SAMPLIB 中的一些示例。具体来说,启动here。

关于您在 Unix 系统服务下编写健康检查的问题,这取决于您要做什么。纯粹在USS之下,没有。为了进行健康检查,您需要向健康检查地址空间注册,并以特定方式向其报告状态。所以 Health Check 需要用 Metal C、assembler 或 System REXX 编写。 (除非您精通 Metal C 或汇编程序,否则我会推荐 System REXX。)而且您需要一个 z/OS 系统程序员来将检查安装到系统库中。

但是,如System REXX reference 中所述,您可以使用 System REXX 调用 USS 服务,我相信 Metal C 和汇编程序也是如此,因此根据您要执行的操作,您可以编写您尝试编写的运行状况检查。

【讨论】:

关于使用 UNIX 服务进行健康检查的一个警告是,由于健康检查地址空间本质上是共享的,因此可能难以控制 USS UID 等。另外,运行状况检查通常运行以 sup 状态授权的 APF,这并不总是与 USS 混合得很好。出于这个原因,我们通常建议将 USS 密集型健康检查作为“远程”检查在您控制的地址空间中实施。 这不是在写健康检查,是吗?它正在使用其他人 (IBM) 编写的健康检查。问题是如何编写健康检查,而不是如何使用。 不,它是指向有关如何编写健康检查的文档的指针,以及指向可用作未来健康检查基础的样本健康检查的指针,因为信息传递到和从 HZSPROC 传递的方式并不简单。当我编写运行状况检查时,SYS1.SAMPLIB 中的代码是我使用的起点。而且,如果您无法安装健康检查,那么编写健康检查是没有意义的,这就是 z/OS 系统程序员的用武之地。因此,它专门回答了由示例和文档提供的示例和方向的问题。【参考方案3】:

Jade,我看到了您的问题,并在网上找到了这份概述使用 REXX 运行健康检查的出版物。这不是 USS,但我希望它对你有用。

http://ibmsystemsmag.com/mainframe/administrator/systemsmanagement/health_check_rexx/

【讨论】:

以上是关于如何编写 z/OS 健康检查?的主要内容,如果未能解决你的问题,请参考以下文章

docker容器HEALTHCHECK 健康检查

Service Fabric 健康检查

Linux服务健康检查,自动启动(crontab)

Linux服务健康检查,自动启动(crontab)

Linux服务健康检查,自动启动(crontab)

使用Kubernetes健康检查