監査証跡の例

BTS プロセス SALES1234567890 の活動化手順に従っていきます。 プロセスを構成する活動は、2つの CICS®で実行されます。

説明をわかりやすくするために、これらの領域で他にも実行されている可能性のあるプロセスのアクティビティーはこの例には示していません。

図1は、各監査レベル設定について、監査記録が書き込まれるポイントを示しています。 列内の文字は、レコードの書き込み対象のアクティビティーの名前です。

図1: 監査証跡の例
表の最初の列には、テキストで説明されているSYS1 上で実行されるプロセスとアクティビティを表すボックスがいくつかあります。 表の 2 列目には、システム SYS2 で実行されるアクティビティー (テキストで説明されています) を表すいくつかのボックスが示されています。 最後の 4 つの列は、4 つの監査レベル設定 (OFF、PROCESS、ACTIVITY、および FULL) を表します。 これらの列を下がっていくと、文字がさまざまな場所 (時点) に現れます。これらは監査レコードの書き込み対象のアクティビティーの名前です。 例えば、図を上から下に見ていくと、アクティビティー B が活動化される時点で、「ACTIVITY」列と「FULL」列に文字 B が示されています。 「OFF」列には文字はありません。 「PROCESS」列には、プロセスが定義された時点およびその実行時に文字「P」が示されています。 文字「R」は、プロセスのルート・アクティビティーが活動化された 3 つの時点、およびその完了時に示されています。 「ACTIVITY」列には、「PROCESS」列のすべての文字が記載され、さらにルート・アクティビティーの下位アクティビティーを表す他の文字が (その活動化時点と完了時点に) 記載されています。 「FULL」列には、「ACTIVITY」列のすべての文字に加え、ルートアクティビティの派生アクティビティ(定義されている場合、実行予定の場合、アクティビティGが取得された場合、アクティビティGがキャンセルされた場合)が含まれます。

この例では、領域 SYS1 で実行されているアプリケーションが新規プロセス SALES1234567890 を定義し、その実行を要求しています。 新規プロセスのルート・アクティビティーが SYS1 で実行を開始します。 ルート・アクティビティーはアクティビティー B を定義し、実行します。アクティビティー B は同期的に実行されます。 制御がルート・アクティビティーに返されると、ルート・アクティビティーはアクティビティー C と D を定義し、それらが非同期的に実行されるようにスケジュールします。 ルート・アクティビティーが戻った後、アクティビティー C が SYS1 で開始され、アクティビティー D が SYS2 で開始されます。

アクティビティー C は子アクティビティー E と F を非同期的に実行されるようにスケジュールし、戻ります。 E と F はそれぞれ別のシステムで実行されます。 C は、そのそれぞれの子アクティビティーが完了すると再活動化され、子の完了状況を確認します。 最後に、C は通常どおり完了し、それによってルート・アクティビティーが再活動化されます。

アクティビティー D は子アクティビティー G を定義し、非同期的に実行されるようにスケジュールします。 その後、別のトランザクションがアクティビティGに対してACQUIRE ACTIVITYIDとCANCEL ACQACTIVITYコマンドを発行する。 Gは強制状態で完了します。 D が再活動化され、CHECK ACTIVITY コマンドによって G に何か起こったかを検出します。 G の障害への対応として、D は新規アクティビティー H を定義し、非同期的に実行するように要求します。 その後に D が戻り、H はもう一方の領域で実行されます。 H が通常どおり完了すると、D が再活動化され、通常どおり完了します。 これにより、ルート・アクティビティーが再活動化されます。 ルート・アクティビティーは CHECK ACTIVITY コマンドを発行して D がどのように完了したかを確認した後、通常どおり完了し、プロセスを終了します。
注: 簡潔にするため、監査記録が作成される可能性のあるコマンド(PUT CONTAINER ACQPROCESS や SUSPEND など)は、例から省略されています。

プロセスレベル監査で記録されるもの

PROCESSTYPE 定義の AUDITLEVEL 属性に PROCESS を設定すると、定義済みタイプのプロセスにプロセス・レベルの監査が指定されます。

例のプロセスでプロセスレベルの監査が設定されている場合、監査ログには6つのレコードのみが記録されます (図1 を参照)
  1. プロセスが定義された場合。
  2. プロセスが実行されるよう要求された場合。
  3. プロセスのルートアクティビティが初めて起動されたとき。
  4. プロセスのルートアクティビティが2回目に起動された場合。
  5. プロセスのルートアクティビティが3回目に起動された場合。
  6. プロセスが完了したとき

アクティビティレベル監査で記録されるもの

PROCESSTYPE 定義の AUDITLEVEL 属性に ACTIVITY を設定すると、定義済みタイプのプロセスにアクティビティー・レベルの監査が指定されます。

例の中でプロセスにアクティビティー・レベルの監査が設定されている場合、以下のレコードが監査ログに書き込まれます。
  • プロセスレベル監査で記録されるものに記載されている 6つのレコード。
  • DFHROOTの子孫活動のいずれかが起動されるたびに。
  • 各下位アクティビティーの完了時。 これには、アクティビティー G の完了が含まれます。その完了状況は FORCED です。
    注: アクティベーションが未完了の状態のまま終了した場合は、レコードは書き込まれません。 したがって、例の中で、アクティビティー D の定義後にルート・アクティビティーが終了したときにはレコードは発行されません。

監査で記録された内容

すべての監査情報を監査ログに書き込むには、PROCESSTYPE 定義の AUDITLEVEL 属性を FULL に設定します。 パフォーマンスへの影響に注意してください。

例に示されたプロセスに全監査が設定されている場合、以下のレコードが監査ログに書き込まれます。
  • アクティビティー・レベルの監査で書き込まれるすべてのレコード
  • 各アクティビティーが定義されたとき
  • 各アクティビティーの実行がスケジュールされたとき
  • アクティビティー G が獲得されたとき
  • アクティビティー G が取り消されたとき。
注: フル監査はパフォーマンスに悪影響を及ぼします。 これは、アプリケーションの開発中に問題を詳しく追跡するのに役立つように、最大限の情報量を提供することを目的としています。 実動システムで使用するためのものではありません。