Monitoraggio dei flussi applicativi e dello stato dei servizi

Tutte le attività compiute dal sistema vengono registrate nella tabella del database LOGDOC. Questo consente una precisa analisi degli eventi intervenuti sia su documenti e registrazione sia a livello di servizi di sistema, come ad esempio quelli forniti da QualiWare Server Daemon. La disponibilità di identificativi univoci a livello di documento, conformemente a quanto previsto dal protocollo OTLP, consente di ricostruire la sequenza di eventi che hanno riguardato uno specifico documento, ivi incluse eventuali interazioni con applicativi esterni.

A tale scopo, è disponibile lo strumento Health Monitor, descritto nel seguito, che offre una visione completa dello stato del sistema, con la possibilità di effettuare ricerche nelle registrazioni delle attività attraverso molteplici parametri.

La tabella LOGDOC comprende alcuni campi particolarmente importanti ai fini della ricerca delle cause di eventuali problemi:

  • TOP: tipo di evento
  • NOTE: contiene informazioni dettagliate sull’evento, fra le quali, ad esempio, il nome del file e i metadati nel caso di importazione.
  • OTLP_TraceID:  TraceID del protocollo OTLP 
  • OTLP_SpanID: SpanID del protocollo OTLP 
  • LEVEL: livello di gravità dell’evento (0= informativo; 1= warning; 2=error)
  • SQL: istruzioni sql inviate al server per le operazioni di aggiornamento dei dati

Health Monitor

Lo strumento Health Monitor è composto di due sezioni: Overview e Dettaglio Eventi. La prima offre una visione sintetica dello stato, attraverso alcuni indicatori di base.

Di default, l’intervallo di date selezionato è relativo al giorno corrente, ma è possibile modificarlo attraverso la scheda di modifica dei parametri del cruscotto, attivabile dall’apposito pulsante presente in alto a destra. 

La sezione “Dettaglio eventi” si presenta invece come segue.

Viene presentato un dettaglio di tutte le registrazioni presenti nella tabella LOGDOC. Tale dettaglio è filtrabile attraverso le caselle a discesa presenti subito sopra l’elenco, oppure usando la casella di filtro presente nell’intestazione di ogni colonna. 

Attraverso questa scheda, quindi, si ha la possibilità di visualizzare la traccia degli eventi che hanno riguardato uno specifico documento, filtrando sul parametro OTLP_TraceID, oppure di verificare eventuali errori di importazione di uno specifico file o di uno specifico messaggio, riportandone rispettivamente parte del nome o parte del soggetto nella casella di filtro presente nella colonna “Messaggio”.

NOTA: i filtri presenti su questa scheda agiscono a valle di quelli impostati tramite la scheda “Parametri” attivabile tramite il pulsante in alto a destra. Questi ultimi vanno utilizzati se si vogliono effettuare ricerche mirate per data, per livello di criticità, per testo contenuto nel messaggio e per OTLP_TraceID avendo prestazioni migliori, in quanto i parametri agiscono a livello di server SQL.

Best practices

Quando i flussi implementati comprendono l’esecuzione di script, come ad esempio avviene per gli Action Link, i Trigger, oppure per le azioni conseguenti ai cambiamenti di stato del workflow BPM, è opportuno prevedere opportune registrazioni su LOGDOC a fronte, ad esempio, di errori o di condizioni anomale. A tale scopo, sono disponibili le primitive Write_LogDoc e BPMWorkflowWriteEvent, descritte qui. Entrambe le primitive consentono di specificare il riferimento ad un documento, tramite i parametri IdDoc e CodDoc. E’ anche possibile specificare i valori di OTLP_TraceID e OTLP_SpanID, per correlare l’evento ad una specifica traccia. Se sono stati specificati IdDoc e CodDoc, e questi fanno riferimento ad un documento archiviato in una categoria BPM, è possibile omettere i due parametri OTLP, che vengono acquisiti dal documento stesso.

Nel caso degli ActionLink, è opportuno prevedere, nella chiamata, la specifica dei parametri OTLP_TraceID e OTLP_SpanID, che vengono utilizzati nella registrazione automatica su LOGDOC delle chiamate ricevute, contraddistinte da IDDOC=’**’ e CODDOC=’ACTIONLINK’. Tali parametri possono essere inseriti direttamente nella URL di richiamo, assieme al parametro ActionID.

Nel caso dei Trigger, l’esecuzione viene registrata su LOGDOC con IDDOC=’**’ e CODDOC=’TRIGGER’. La registrazione stessa avrà il campo OTLP_TraceID assegnato automaticamente nel caso sia presente per il documento sul quale il trigger si è attivato.