0

OpenVMS に基づく従来の COBOL アプリケーションがありますが、その構成について明確なアイデアがありません。このコンテキストでは、「構成」によって、次のことを話しています。

  1. アプリケーションを構成する実行可能ファイル。
  2. どの元のソース ファイルがどの実行可能ファイルに対応するか。

上記の 1 が未知のものであることは奇妙に思えるかもしれませんが、時間の経過とともに、実行可能ファイルが「現れたり消えたり」した (そして多くがまだ使用されている) ことが起こっています。現在存在するアプリケーションを構成する実行可能ファイルがどれであるかは不明です。これは、どの実行可能ファイルが不要になったかについての知識が時間の経過とともに失われているためです。実際には、チームはすべてのソース コード ファイルを忠実にコンパイルし、結果として得られた実行可能ファイルをデプロイしますが、明らかに使用されなくなったプログラムがあります。

言うまでもなく、正式な構成管理プロセスはなく、ソース コードはバージョン管理システムに保存されていません。アプリケーションは OpenVMS で実行されるため、対応するFiles-11ベースのファイル システムは古いバージョンのファイル (ソース ファイルを含む) を保持します。単に以前のバージョンの記録を持つことをはるかに超えて拡張された VCS)。

もちろん、構成を決定する方法はいくつかありますが、最初の「小さなステップ」から始めたいと思います。つまり、アプリケーションを構成する実行可能ファイルのセットを決定します。この時点で、アプリケーションの実行可能コンポーネントは OpenVMS イメージだけでなく、DCL コマンド ファイルも含まれることに言及する必要があります。私はしたいと思います:

  1. 特定のディレクトリまたは一連のディレクトリに存在するイメージのすべての呼び出しをログに記録します。
  2. 特定のディレクトリまたは一連のディレクトリに存在するコマンド ファイルのすべての呼び出しをログに記録します。

本番システムでこのロギングを長期間 (たとえば 2 か月) 実行すると、アプリケーションが何を構成するかについてかなりのアイデアを得ることができます。ユーザーの相談と合わせて、呼び出されていない実行ファイルの必要性を確認できます。

上記の 1 を実行する方法についてはアイデアがあると思いますが、詳細、つまり を使用する方法についてはわかりませんSET/AUDIT。2番目の部分は、この段階では、どうすればよいかわかりません。

したがって、この取り組みの主な基準は、上記の情報を取得するために、既存のシステムができるだけ影響を受けないようにすることです。構成に関する疑問符 (および自動テストの完全な欠如) により、何かを変更することは神経をすり減らす作業です。

オペレーティング システム レベルのサービスを使用するSET/AUDITと、ソースを変更したり再コンパイルしたりする必要なく、何が実行されているかを知ることができます。だから、私の質問はマルチパートです:

  1. これは、OpenVMS でこれを行う最適な方法ですか?
  2. SET/AUDIT特定のディレクトリ内のイメージのみを監視するように制限するには、どうすればよいですか?
  3. .COMソースファイルを変更せずにコマンドファイルの呼び出しをログに記録するにはどうすればよいですか?
  4. このような情報をログに記録した結果としてのパフォーマンスの低下に関して、どのようなことが予想されますか?
4

2 に答える 2

5

広告 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.についてはお答えできません。

于 2015-11-25T16:54:14.680 に答える
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、PC でプロセスをサンプリングする PCS、アプリケーションのフォルト動作をチェックする FLT、RMS データ構造の RMS、Itanium パフォーマンス トレース専用の PERF、読み取りと書き込みの PROCIO などです。プロセスによって開かれたすべてのファイル

投稿する

dir sys$share:*sda.exe

これにより、どの Sda 拡張機能を利用できるかがわかります。

204002B4 の pid を持つプロセスが何をするかをいつでも確認できます

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

プロセスが進む間、繰り返します。

于 2015-12-26T20:59:35.440 に答える