Esempi di audit trail

Seguire la sequenza di attivazioni di un processo BTS, SALES1234567890. Le attività che compongono il processo vengono eseguite su due regioni CICS®.

Per chiarezza, l'esempio non mostra le attivazioni di altri processi che potrebbero essere in esecuzione in queste regioni.

La Figura 1 mostra, per ogni impostazione del livello di audit, i punti in cui verrebbero scritte le registrazioni di audit. Le lettere nelle colonne sono i nomi delle attività per le quali si sta scrivendo la documentazione.

Figura 1. Esempi di audit trail
Nella prima colonna della tabella sono presenti una serie di caselle che rappresentano i processi e le attività, descritte nel testo, che vengono eseguite sul sistema SYS1. Nella seconda colonna della tabella sono presenti alcune caselle che rappresentano le attività, descritte nel testo, che vengono eseguite sul sistema SYS2. Le ultime quattro colonne rappresentano le quattro impostazioni del livello di audit: OFF, PROCESSO, ATTIVITÀ e COMPLETO. In diversi punti di queste colonne sono presenti delle lettere, che rappresentano i nomi delle attività per le quali vengono redatte le registrazioni di audit. Ad esempio, leggendo dall'alto verso il basso, nel momento in cui viene attivata l'attività B, la lettera B compare nelle colonne "ATTIVITÀ" e "COMPLETA". Nella colonna "OFF" non ci sono lettere. Nella colonna "PROCESSO", la lettera "P" appare nel momento in cui il processo viene definito e quando viene eseguito. La lettera "R" appare nei tre punti in cui viene attivata l'attività principale del processo e quando questa viene completata. La colonna "ATTIVITÀ" contiene tutte le lettere della colonna "PROCESSO", più altre per le attività discendenti dell'attività principale - quando vengono attivate e quando vengono completate. La colonna "COMPLETA" contiene tutte le lettere della colonna "ATTIVITÀ", più altre per le attività discendenti dell'attività principale - quando sono definite; quando sono programmate per essere eseguite; quando l'attività G viene acquisita; quando l'attività G viene annullata.

In questo esempio, un'applicazione in esecuzione sulla regione SYS1 definisce un nuovo processo, SALES1234567890, e ne richiede l'esecuzione. L'attività principale del nuovo processo inizia a girare su SYS1. Definisce ed esegue un'attività B, che viene eseguita in modo sincrono. Quando il controllo torna all'attività principale, definisce le attività C e D e ne pianifica l'esecuzione in modo asincrono. Dopo il ritorno dell'attività principale, l'attività C si avvia su SYS1 e l'attività D su SYS2.

L'attività C pianifica l'esecuzione delle attività figlie E e F in modo asincrono e ritorna. E e F funzionano su sistemi diversi. Quando ogni attività figlia viene completata, C viene riattivato e controlla lo stato di completamento della figlia. Infine, C si completa normalmente, il che provoca la riattivazione dell'attività di radice.

L'attività D definisce un'attività figlia G e ne pianifica l'esecuzione in modo asincrono. Successivamente, un'altra transazione invia i comandi ACQUIRE ACTIVITYID e CANCEL ACQACTIVITY all'attività G. G si completa in uno stato FORZATO. D si riattiva e scopre cosa è successo a G con un comando CHECK ACTIVITY. In risposta al fallimento di G, D definisce una nuova attività H e ne richiede l'esecuzione asincrona. D torna quindi indietro e H corre sull'altra regione. Quando H si conclude normalmente, D viene riattivato e si conclude normalmente. Questo provoca la riattivazione dell'attività di base. L'attività principale emette un comando CHECK ACTIVITY per verificare il completamento di D e poi si conclude normalmente, terminando il processo.
Nota: Per motivi di concisione, nell'esempio sono stati omessi alcuni comandi che potrebbero causare la scrittura di record di audit, ad esempio PUT CONTAINER ACQPROCESS e SUSPEND.

Cosa viene registrato nell'ambito dell'audit a livello di processo

Un'impostazione di PROCESSO sull'attributo AUDITLEVEL di una definizione di PROCESSTYPE specifica l'auditing a livello di processo per i processi del tipo definito.

Se l'auditing a livello di processo è impostato per il processo dell'esempio, solo sei record vengono scritti nel log di audit (vedere Figura 1 ):
  1. Quando il processo è definito.
  2. Quando viene richiesta l'esecuzione del processo.
  3. Quando l'attività principale del processo viene attivata per la prima volta.
  4. Quando l'attività principale del processo viene attivata per la seconda volta.
  5. Quando l'attività principale del processo viene attivata per la terza volta.
  6. Al termine del processo.

Cosa viene registrato nell'ambito dell'audit a livello di attività

L'impostazione di ACTIVITY sull'attributo AUDITLEVEL di una definizione di PROCESSTYPE specifica l'auditing a livello di attività per i processi del tipo definito.

Se l'auditing a livello di attività è impostato per il processo dell'esempio, i seguenti record vengono scritti nel registro di audit:
  • I sei record descritti in Cosa viene registrato nell'ambito dell'auditing a livello di processo.
  • Ogni volta che viene attivata una delle attività discendenti di DFHROOT.
  • Quando ogni attività discendente viene completata. Questo include il completamento dell'attività G, che ha uno stato di completamento FORZATO.
    Nota: i record non vengono scritti quando un'attivazione termina in uno stato incompleto. Pertanto, nell'esempio, non viene emesso un record quando l'attività principale termina dopo la definizione dell'attività D.

Cosa viene registrato nell'ambito dell'audit completo

Impostare FULL sull'attributo AUDITLEVEL di una definizione di PROCESSTYPE per scrivere informazioni di audit complete nel registro di audit. Si noti l'effetto sulle prestazioni.

Se l'auditing completo è impostato per il processo dell'esempio, i seguenti record vengono scritti nel registro di audit:
  • Tutti quelli scritti per l'audit a livello di attività
  • Quando ogni attività è definita
  • Quando ogni attività è programmata per essere eseguita
  • Quando l'attività G viene acquisita
  • Quando l'attività G viene annullata.
Nota: l' auditing completo ha un effetto negativo sulle prestazioni. Lo scopo è quello di fornire la massima quantità di informazioni per aiutare a rintracciare i problemi durante lo sviluppo delle applicazioni. Non è destinato all'uso su sistemi di produzione.