通过监控OpenVMS

时间:2015-11-25 09:51:37

标签: openvms vms dcl

我们有一个基于OpenVMS的传统COBOL应用程序 - 我们对配置没有一个清晰的认识。在这种情况下,我所说的“配置”是:

  1. 构成应用程序的哪些可执行文件;
  2. 哪些原始源文件对应哪些可执行文件。
  3. 上面的1是一个未知的东西似乎有些奇怪,但随着时间的推移,可执行文件已经“来去匆匆”(许多仍然被使用)。由于知道不再需要哪些可执行文件已经及时丢失,因此不知道哪些可执行文件构成应用程序 today 的知识。实际上,团队忠实地编译所有源代码文件并部署生成的可执行文件,尽管显然有不再使用的程序。

    不言而喻,没有正式的配置管理过程,并且源代码未保存在版本控制系统中。由于应用程序在OpenVMS上运行,因此相应的基于Files-11的文件系统会保留较旧版本的文件(包括源文件),这一直是不将应用程序源放入版本控制系统的借口(尽管有原因)使用VCS的范围远远超出以前版本的记录。)

    当然,有多种方法可以确定配置,但我想从第一个“小步骤”开始,即:确定构成应用程序的可执行文件集。此时我应该提到应用程序的可执行组件不仅限于OpenVMS映像,还包括DCL命令文件。我想:

    1. 记录驻留在某个目录或目录集中的所有图像调用;
    2. 记录驻留在某个目录或目录集中的命令文件的所有调用。
    3. 如果我们在长时间(例如两个月)内对我们的生产系统进行此日志记录,我们可以很好地了解该应用程序包含的内容。与用户咨询一起,我们将能够确认是否需要未被调用的可执行文件。

      我想我已经知道如何做以上1,虽然我不确定具体细节,即使用SET/AUDIT。第二部分,在这个阶段,我不知道该怎么做。

      因此,这项工作的主要标准是,为了获得上述信息,现有系统的影响很小。由于配置周围的问号(以及完全缺乏自动化测试),改变任何事情都是一项令人头疼的事情。

      使用SET/AUDIT等操作系统级服务可以让人们在不需要更改源代码和/或重新编译任何内容的情况下了解正在运行的内容。所以,我的问题是多方合作:

      1. 这是在OpenVMS上执行此操作的最佳方式吗?
      2. 我需要做些什么来限制SET/AUDIT仅监控特定目录中的图像?
      3. 如何在不更改.COM源文件的情况下记录命令文件调用?
      4. 由于记录此类信息,我应该对性能下降有什么期望?

2 个答案:

答案 0 :(得分:5)

Ad 2,3。

我会尝试使用ACL进行安全审核。来自特权帐户,类似......

确保已启用ACL审核:

$ show audit

应该显示

System security audits currently enabled for:
...
ACL
...

如果没有,请使用

启用它
$ set audit/audit/enable=acl

然后你可能想要在完成

后禁用它
$ set audit/audit/disable=acl

在所有需要的文件上设置审核ACL:

$ set sec/acl=(audit=security,access=success+execute) [.app]*.com
$ set sec/acl=(audit=security,access=success+execute) [.app]*.exe

并且您可能希望在完成

后删除ACL
$ set security/acl=(audit=security,access=success+execute)/delete [.app]*.com
$ set security/acl=(audit=security,access=success+execute)/delete [.app]*.exe

您可以检查设置的ACL:

$ show security [.app]*.*

运行你的应用程序......

从审核文件中获取结果

$ analyze/audit [vms$common.sysmgr]security.audit$journal/sel=access=execute/full/since=17:00/out=app.log

检查报告中的文件:

$ pipe type app.log |search sys$pipe "File name", ,"Access requested"
File name:                _EMUVAX$DUA0:[USER.APP]NOW.COM;1
Access requested:         READ,EXECUTE
Auditable event:          Object access
File name:                _EMUVAX$DUA0:[USER.APP]ECHO.EXE;1
Access requested:         READ,EXECUTE
$ 

对不起,我对1.和4没有答案。

答案 1 :(得分:0)

了解OpenVMS版本(例如6.2,7.3-2,8.4 ......)和架构(Vax,Alpha,Itanium)将会有所帮助。

最近的OpenVMS版本具有出色的sda扩展

http://h71000.www7.hp.com/doc/84final/6549/6549pro_ext1.html

http://de.openvms.org/Spring2009/05-SDA_EXTENSIONS.pdf

例如LNM检查进程使用的逻辑名称,PCS用于进程的PC采样,FLT用于检查应用程序的错误行为,RMS用于RMS数据结构,PERF仅用于Itanium性能跟踪,PROCIO用于读取并为进程打开的所有文件写入

发布

dir sys$share:*sda.exe

以便我们知道您可以使用哪些Sda扩展程序。

您可以随时查看pid为204002B4的进程与

有关

$ ana/sys set proc/id=204020b4 sh process /channel exam @pc

并在流程继续进行时重复。