Strumenti Utente

Strumenti Sito


documentazione_3di:extraway_os:manuali:logs

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
documentazione_3di:extraway_os:manuali:logs [2018/05/09 09:59] – [I BenchMark] rtirabassidocumentazione_3di:extraway_os:manuali:logs [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1
Linea 1: Linea 1:
-====== I file di Log ====== 
- 
-===== Dove? ===== 
-eXtraWay Server registra tutti i propri logs in una singola cartella collocata parallelamente alle altre.\\ Data la cartella principale di installazione del software, deniminata ''xw'' per la Standard Edition e ''xwee'' per l'Enterprise Edition, in essa si trovano altre cartelle, più volte descritte in altri punti della documentazione, tra le quali quella dei binari (''bin''), quella di configurazione (''conf'') e quella dei logs (''logs'').\\ Entro tale cartella si trovano logs di varia natura, ciascuno con un proprio scopo specifico.\\ Per i casi particolari riferiti a moduli a corredo del Server eXtraWay, ciascuno documenta sinteticamente i propri logs. Di seguito il dettaglio dei logs principali del Server. 
- 
-===== Quali logs? ===== 
-eXtraWay Server ed i moduli ad esso correlati stilano una serie di logs ciascuno avente diversi scopi.\\  
-I logs possono essere suddivisi in logs ciclici, nei quali le informazioni più datate sono destinate ad essere scartate man mano che la loro stesura cresce, ed i logs statici, che sono invece concepiti per rimanere nel tempo a disposizione dei sistemtisti e degli amministratori dell'installazione della eXtraWay Platform.\\  
-Senza entrare nel merito di logs stilati dai moduli a corredo((Come ad esempio i logs di WatchDoc o delle procedure che compiono la rimozione degli allegati)) vediamo quali sono i principali logs stilati da eXtraWay Server.\\  
- 
-  * <color orange>Logs Ciclici</color> 
-    * <color green>xw.log, xw1.log, ...</color>\\ Questi logs, detti //Logs di Servizio// contengono una descrizione capillare dei comandi effettuati, delle informazioni ad essi relative e dell'esito degli stessi. E' possibile definire il livello di dettagli delle informazioni aggiuntive, si consulti in proposito l'[[./xwls|apposita documentazione]]. 
-    * <color green>bm.csv, bm1.csv, ...</color>\\ **Enterprise Only**. Si affiancano ai //Logs di Servizio// e registrano informazioni sulle performance di ciascun comando, con particolare riguardo ai tempi effetivi del comando, tempi percepiti a causa delle sessioni critiche, I/O effettuato e diverse altre informazioni. Nella versione Standard queste informazioni sono presenti in righe di tipo **[B]** internamebte ai log di servizio xw.log etc. etc. 
-  * <color orange>Logs Statici</color> 
-    * <color green>xreg<//annomese//>.log</color>\\ Questi logs sono chiamati //Logs di Registro// e mantengono una capillare registrazione delle principali attività svolte sugli archivi con particolare riguardo agli inserimenti e modifiche dei documenti. Per mezzo di queto log è possibile risalire nel tempo a qualsiasi forma abbia avuto un documento sin dalla sua origine. 
-    * <color green>xw<//annomese//>.log</color>\\ Questi logs sono chiamati //Logs Giornale//. In essi viene conservata la registrazione delle operazioni pricipali riguardanti i server((Quali ad esempio l'avvio e l'interruzione)), gli archivi((Nel caso di costituzione di mappa e/o indici)) e gli allegati((Specialmente quando gli stessi non risultino più associati ad un documento)). 
- 
-Ad eccezione dei //Log di Registro// che hanno un formato proprio, per tutti gli altri si fa uso del formato descritto nei paragrafi successivi.\\ Lo stesso formato si applica anche ai logs dei moduli a corredo del Server eXtraWay. 
- 
-===== Indicazioni generali ===== 
-I files di log prodotti dal server eXtraWay e dai suo moduli accessori vengono tutti scritti dal modulo xwls (eXtraWay Log Server) che usa una forma standard per indicare il contenuto di quanto registrato e si trovano tutti nella directory ''logs'' delle installazioni //eXtraWay//, parallela alla directory che ospita i binari.\\  La riga del file è composta innanzitutto dalla data (espressa come anno, mese, giorno, ora, minuti, secondi ed i millisecondi, questi ultimi separti da un punto). Dopo un tabulatore viene indicato il PID del processo che ha provocato il log, un ulteriore tabulatore ed il vero messaggio di log. Questo messaggio è solitamente preceduto da un carattere maiuscolo racchiuso tra parentesi quadre. Tale carattere indica la natura dell'informazione loggata.\\  Di seguito l'elenco dei caratteri previsti: 
- 
-^  Carattere  ^  Significato  ^ 
-^  [I] \\ <color cyan>Info</color>  |Informazioni generiche atte a completare le informazioni legate all'operazione in corso| 
-^  [E] \\ <color red>Error</color>  |Condizione d'errore rilevata dal server. Può essere seguito da una stringa descrittiva o da uno o più codici (discussi in seguito)| 
-^  [Q] \\ <color white>Question</color>  |__Rappresenta qualsiasi richiesta inviata al server e che il server deve processare. A fianco di essa si trovano due valori esadecimali che rappresentano il codice del comando ed i suoi sottoparametri. Nelle versioni più recenti si presenta anche una breve descrizione, se disponibile, del comando richiesto per rendere comprensibile il codice esadecimale espresso. Oltre a questi dati ci sono diverse altre indicazioni che variano da comando a comando ma solitamente comprendono l'archivio sul quale si intende operare__| 
-^  [A] \\ <color lightgreen>Answer</color>  |__Rappresenta la risposta al comando registrato con il log di tipo <color blue>[Q]</color>. Al suo fianco c'è il valore '0' se l'operazione è andata a buon fine oppure il codice d'errore. Tra Parentesi, in fine, appare il tempo in secondi e millisecondi richiesto al server per eseguire il comando__| 
-^  [M] \\ <color darkgray>Message</color>  |E' un messaggio inviato dal server al chiamante. Il client o l'applicazione ha facoltà di non presentarlo all'utente| 
-^  [X] \\ <color violet>Access</color>  |Indicazioni inerenti la registrazione dell'utente che viene indicato al server, del suo indirizzo IP e di eventuali problemi di accesso legati alla collisione di due utenti identici da indirizzi differenti| 
-^  [L] \\ <color green>Log</color>  |Log di servizio, informazioni generali del server non riconducibili ad altre tipologie di log| 
-^  [S] \\ <color lightgray>Skip</color>  |Al pari dei comandi <color blue>[Q]</color> indica quelle operazioni per le quali l'utente in esame non ha sufficiente autorizzazione e che quindi vengono "saltate" dal server, non vengono eseguite| 
-^  [D] \\ <color yellow>Debug</color>  |Informazioni di servizio. Solitamente non dovrebbero apparire in un log a meno che non sia in esecuzione un eseguibile compilato in modalità Debug per compiere test| 
-^  [W] \\ <color magenta>Warning</color>  |Errori o condizioni irregolari ma considerate non bloccanti. Se le registrazioni di tipo <color blue>[E]</color> conducono nella quasi totalità dei casi al fallimento dell'operazione, queste registrazioni, pur essendo importanti, sono considerate meno gravi. Anche questa tipologia può essere seguita da un codice| 
-^  [T] \\ <color green>Trace</color>  |Informazione //supplementare// che si affianca a quelle di debug ed intende far conoscere in che punti il server sia passato e se in condizione d'errore| 
-^  [P] \\ <color pink>Procedure</color>  |Informazione inerenti l'esecuzione di particolari procedure| 
-^  [R] \\ <color pink>Registry</color>  |Informazione inerenti la stesura, o la mancata stesura, del registro| 
-^  [B] \\ <color orange>BenchMark</color>  |Informazioni inerenti le singole attività svolte. Se attivato (tramite [[.:xw_conf_xml#sezione_debug|file di configurazione]]) produce dopo il log di tipo <color blue>[A]</color>, un [[.:logs#i_benchmark|elenco di dati statistici]] sull'operazione svolta.\\ ** Nella versione Enteprise del Server eXtraWay, questi log sono stati isolati in altri file come indicato in precedenza ed è stata data loro una forma consona all'importazione ed analisi in strumenti adatti((Fogli Excel ovvero RDBMs)).**| 
- 
-Il codice che può seguire una segnalazione <color blue>[E]</color>, <color blue>[W]</color> o <color blue>[T]</color> è composto da una sequenza (da uno a dieci componenti) di codici la cui forma è composto da queste componenti: 
- 
-<code oobas> 
- <identificativo componente>:<numero di riga>:<corice d'errore>/<tipo errore esteso>  
-</code> 
-Una o più parti possono essere assenti. La segnalazione a 3D Informatica di questi codici unitamente alle altre registrazioni, precedenti e seguenti, riconducibili quanto meno allo stesso PID è di grande utilità per la determinazione delle cause dei più importanti errori rilevabili dal server. 
- 
-**Attenzione:** 
- 
-Per una corretta lettura dei logs, in particolare del file xw.log (xw1.log, xw2.log e così via...) si deve tener presente che ogni comando inviato al server è riconoscibile in quanto identificato dall'etichetta <color blue>[Q]</color> al fianco della quale appare il codice del comando inviato.\\  Per identificare le sorti di quel comando vanno seguite tutte le successive righe del log aventi lo stesso ''PID''. Infatti tutte le righe di registrazioni vengono scritte in ordine cronologico da tutti i server, tramite il modulo xwls, nello stesso file di log quindi le registrazioni di un singolo comando, che si potrebbe protrarre nel tempo, vanno cercate basandosi sul ''PID'' del processo invocato.\\  Il comando si considera completato quando si rileva, per lo stesso ''PID'', una riga del file di log con l'etichetta <color blue>[A]</color>. Al fianco dell'etichetta viene riportato un codice numerico: se esso è pari a ''0'' il comando ha avuto correttamente esito mentre ogni altro valore numerico rappresenta un particolare [[.:err_codes|codice d'errore]]. Oltre ad esso, tra parentesi tonde, ci sono altre informazioni di servizio che però non sono rappresentative del successo o del fallimento del comando.\\  La dove il codice numerico che affianca l'etichetta <color blue>[A]</color> non fosse ''0'', può essere particolarmente utile raccogliere tutte le righe che rappresentano quel comando (ed in alcuni casi anche le righe intermedie riconducibili ad altri server) con particolare attenzione alle righe aventi come etichetta <color blue>[W]</color> e <color blue>[E]</color>.\\ Righe di tipo <color blue>[W]</color> o <color blue>[E]</color> possono essere presenti anche in caso di risposta positiva, vale a dire di risposta <color blue>[A]</color>''0''. In tal caso essi segnalano passaggi in cui il server ha riscontrato qualcosa da annotare ma che non hanno impatto reale sull'esito del comando. In questi casi il codice <color blue>[E]</color> può risultare ingannevole ma è sintomo che uno dei comandi (ad esempio un test sul record) effettuati ha dato esito negativo ed in quel caso il server ha intrapreso una diversa azione. Si possono considerare "segnalazioni fisiologiche". 
- 
-**Nota:** 
- 
-Qualsiasi segnalazione d'errore che si avvalga o meno di una parte del file xw.log deve essere accompagnata dall'indicazione della versione del //Server// //eXtraWay// cui essa fa riferimento altrimenti l'interpretazione dei dettagli isolati nel file di log potrebbe risultare impossibile. 
- 
-==== Interpretazione dei contenuti ==== 
- 
-La presente documentazione si applica a partire dalla versione 22 del server eXtraWay. Da tale versione la stesura dei record del file di logs è stata arricchita secondo il seguente schema.\\  
-Ogni riga è composta, come in precedenza, dal //timestamp// di esecuzione dell'operazione, completo di millisecondi, il //Process Id// ed i dettagli dell'operazione. Queste tre componenti sono separate da un //tabulatore//.\\  
-Quando l'operazione è di tipo **[Q]** e quindi una //question// il contenuto della riga del comando va così interpretato.\\ \\  
-[Q]<color red>Codice Comando</color>-<color orange>Codice Sub Comando</color>%%<<%%<color blue>User@Ip:Ops</color>%%>>%% <color green>Dati supplementari</color>\\  
- 
-Il <color red>Codice Comando</color> ed il <color orange>Codice Sub Comando</color> sono scarsamente comprensibili se non si conosce in dettagli le caratteristiche del server eXtraWay. Ecco perché sono stati introdotte alcune <color blue>descrizioni</color> oltre ai già esistenti <color green>Dati supplementari</color> che possono rappresentare diverse informazioni tra le quali:\\  
-|Nome completo dell'archivio cui si fa accesso| 
-|Parte iniziale del comando XML| 
-|Nome utente (comando 0xA7)| 
-|Parametri di tipo numerico che assumono significato a seconda del comando| 
- 
-Vediamo ora cosa ci viene detto dalle <color blue>descrizioni dei comandi</color>\\  
-Esse sono brevi stringhe di testo, separate da un carattere '/' che possono essere interpretate tanto in modo posizionale che in modo formale.\\  
-L'interpretazione posizionale ci dice che la prima componente rappresenta l'area di competenza del comando, la seconda ci dice di che operazione si tratti in tale area mentre le successive ci indicano, indistintamente, dettagli o modificatori dell'operazione indicata.\\  
-L'interpretazione posiziona è semplificata da una formale che ci dice che l'__AREA__ di competenza del comando viene espressa con caratteri tutti maiuscoli, l'__Operazione__ viene indicata con l'iniziale maiuscola ed i restanti caratteri minuscoli mentre le parti destinate ai __dettagli__ sono tutte minuscole.\\  
-|**Importante**: per le versioni di server precedenti la __22.0.0.2__ la descrizione del comando è assente ovvero è rappresentata da una stringa tra parentesi tonde che appare solo in una minoranza dei casi.\\ Per dare la corretta interpretazione di tali logs si mette a disposizione un [[.:logs_old|pannello di interpretazione]] che consente di accoppiare i codici di comando registrati nel log con il comando presente nell'elenco sottostante.| 
-Vediamo di seguito aree, operazioni e dettagli vari.\\  
- 
-^  AREA  ^  Operazione  ^  dettagli  ^  Descrizione  ^ 
-^  ARC  |  AREA ARCHIVI||| 
-^ ^  Open  |  Apertura Archivio|| 
-^ ^  Close  |  Chiusura Archivio|| 
-^ ^  Reset  |  Creazione o Inizializzazione Archivio|| 
-^ ^  Index  |  Trattamento Indici|| 
-^ ^  Index  ^  del  |  Cancellazione Indici| 
-^ ^  Index  ^  build  |  Creazione Indici| 
-^ ^  Index  ^  check  |  Controllo Indici| 
-^ ^  Index  ^  single/drop  |  Rimozione singolo indice| 
-^ ^  Index  ^  single/build  |  Ricostruzione singolo indice| 
-^ ^  Index  ^  single/rebuild  |  Rimozione e contestuale ricostruzione singolo indice| 
-^ ^  Index  ^  build/fast  |  Rimozione e contestuale ricostruzione global indici non bloccante| 
-^ ^  Pack  |  Compattamento Archivio|| 
-^ ^  Pack  ^  index  |  Compattamento Indici| 
-^ ^  Pack  ^  map  |  Compattamento Catalogo| 
-^ ^  Pack  ^  data  |  Compattamento XML| 
-^ ^  GetStruct  |  Struttura chiavi archivio|| 
-^ ^  GetStruct  ^  predict  |  Identificazione struttura chiavi archivio con archivio non ancora alimentato| 
-^ ^  Map  |  Costituzione Catalogo|| 
-^ ^  Map  ^  title  |  Costituzione Catalogo con generazione cache titoli| 
-^ ^  Map  ^  relocate  |  Riorganizzazione Catalogo sulla base di nuove //file_location// rules| 
-^ ^  Map  ^  sort  |  Riordino del Catalogo sulla base di una regola d'ordinamento| 
-^ ^  Lock  ^  read  |  Blocco di sola lettura dell'archivio| 
-^ ^  Lock  ^  adm  |  Blocco amministrativo dell'archivio| 
-^ ^  Lock  ^  info  |  Acquisizione informazioni sullo stato di blocco dell'archivio| 
-^ ^  Unlock  ^  read  |  Sblocco dell'archivio dalla condizione di sola lettura| 
-^ ^  Unlock  ^  adm  |  Sblocco dell'archivio dalla condizione di amministrazione| 
-^ ^  Sync  ^  map  |  Sincronizzazione Mappa sulla base dei files XML| 
-^ ^  Check  |  Controllo di consistenza archivio|| 
-^ ^  Switch  |  Inversione di due archivi a parità di identificatore logico|| 
-^ ^  Clone  |  Clonazione archivio|| 
-^ ^  Clone  ^  saveconf  |  Clonazione archivio comprensiva dei files di configurazione| 
-^ ^  Clone  ^  full  |  Clonazione archivio eseguita con un comando cumulativo((Consultare i dettagli del comando per comprendere esattamente la natura dell'operazione di clonazione)).| 
-^ ^  Licence  |  Impostazione licenza di consultazione archivio|| 
-^ ^  Licence  ^  cd  |  Impostazione licenza di consultazione archivio per CD((read only))| 
-^ ^  Zip  |  Compressione intero archivio in un file //.zip//|| 
-^ ^  Buddy  |  Trasformazione dei dati XML in formato //Buddy//|| 
-^ ^  Drop  |  Distruzione archivio|| 
-^ ^  Drop  ^  silent  |  Distruzione archivio forzata| 
-^ ^  Broadcast  |  Notifica a tutti i server di una variazione sulla struttura/configurazione dell'archivio|| 
-^ |||| 
-^  ARC_DELTA  |  AREA AGGIORNAMENTO ARCHIVI||| 
-^ ^  Load  ^  list  |  Identificazione dei files che rappresentano la differenza tra due archivi| 
-^ ^  Load  ^  list/noattach  |  Identificazione dei files, allegati esclusi, che rappresentano la differenza tra due archivi| 
-^ ^  Load  ^  file  |  Realizzazione del file //Delta// dei files che rappresentano la differenza tra due archivi| 
-^ ^  Load  ^  file/noattach  |  Realizzazione del file //Delta// dei files, allegati esclusi, che rappresentano la differenza tra due archivi| 
-^ ^  Save  |  Applicazione del file //Delta// su un archivio per aggiornarlo|| 
-^ ^  Validate  ^  yes  |  Marcatura di un archivio come pronto e valido per gli aggiornamenti| 
-^ ^  Validate  ^  no  |  Marcatura di un archivio come non utilizzabile per gli aggiornamenti| 
-^ ^  Info  |  Richiesta informazioni necessarie all'aggiornamento|| 
-^ |||| 
-^  ARC_CONF  |  AREA CONFIGURAZIONE ARCHIVI||| 
-^ ^  Load  |  Caricamento configurazione archivio|| 
-^ ^  Load  ^  lock  |  Caricamento e blocco configurazione archivio| 
-^ ^  Save  |  Modifica configurazione archivio|| 
-^ ^  Save  ^  new  |  Creazione nuova configurazione archivio| 
-^ ^  Free  |  Sblocco configurazione archivio|| 
-^ |||| 
-^  ATTACH  |  AREA ALLEGATI||| 
-^ ^  Load  |  Caricamento allegato|| 
-^ ^  Conv  |  Richiesta conversione allegati in attesa di trasformazione|| 
-^ ^  Digest  |  Richiesta calcolo impronta allegati|| 
-^ ^  Save  ^  add  |  Aggiunta nuovo allegato| 
-^ ^  Save  ^  mod  |  Sostituzione allegato esistente| 
-^ ^  Save  ^  del  |  Cancellazione allegato| 
-^ ^  Storage  ^  list  |  Richiesta lista Storage disponibili| 
-^ ^  Storage  ^  admin  |  Richiesta spostamento allegati tra Storages| 
-^ |||| 
-^  COLLECT  |  AREA RACCOLTE((Si intendono come selezioni non volatili di documenti scelti secondo diversi criteri))||| 
-^ ^  Load  |  Carica(Mostra) raccolta|| 
-^ ^  Load  ^  list  |  Mostra elenco raccolte| 
-^ ^  Open  |  Apri raccolta|| 
-^ ^  Open  ^  new  |  Apri nuova raccolta| 
-^ ^  Add  |  Aggiungi documento in raccolta|| 
-^ ^  Del  |  Cancella raccolta|| 
-^ ^  Fix  |  Salva raccolta|| 
-^ ^  Fix  ^  new  |  Salva nuova raccolta| 
-^ ^  Close  |  Chiudi raccolta|| 
-^ ^  Copy  |  Copia raccolta|| 
-^ |||| 
-^  DLL  |  AREA LIBRERIE DINAMICHE||| 
-^ ^  ^  arc  |  Operazione inerente una libreria dinamica specifica d'archivio| 
-^ ^  ^  global  |  Operazione inerente una libreria dinamica generica/\/PRO| 
-^ |||| 
-^  DOC  |  AREA DOCUMENTI||| 
-^ ^  Load  |  Caricamento documento|| 
-^ ^  Load  ^  sele  |  Caricamento documento da selezione| 
-^ ^  Load  ^  lock  |  Caricamento documento bloccato per modifica| 
-^ ^  Load  ^  unlock  |  Sblocco del documento bloccato per modifica| 
-^ ^  Save  ^  insmod\\ insmod/ins\\ insmod/mod  |  Salvataggio documenti in inserimento/modifica((Dalla versione 23 del server si può ottenere, dove esistano gli estremi per affermarlo, un distinguo tra inserimenti e modifiche. Le versioni precedenti mostrano solo ''insmod''.))| 
-^ ^  Save  ^  del/wd  |  Cancellazione documenti in base ad un file caricato via //WatchDoc//| 
-^ ^  Save  ^  del/sele  |  Cancellazione documenti di una selezione| 
-^ ^  Save  ^  serial  |  Impostazione dei valori seriali in un documento esistente| 
-^ |||| 
-^  EXPERTSYSTEM  |  AREA LINGUISTICA||| 
-^  EXPERTSYSTEM  |  Operazioni sull'estensione linguistica del server||| 
-^ |||| 
-^  EXPORT  |  AREA ESPORTAZIONI||| 
-^ ^ ^  map  |  Esportazione mappa d'archivio| 
-^ ^ ^  collect  |  Esportazione raccolte| 
-^ ^ ^  collect/private  |  Esportazione raccolte private| 
-^ ^ ^  voc  |  Esportazione vocabolario| 
-^ ^ ^  ths  |  Esportazione Thesaurus| 
-^ ^ ^  doc  |  Esportazione documenti| 
-^ ^ ^  doc/simple  |  Esportazione documenti in modalità semplificata| 
-^ ^ ^  doc/tree  |  Esportazione documenti in modalità gararchicamente nidificata| 
-^ ^ ^  doc/meta  |  Marcatura di un file con i necessari metadati| 
-^ ^ ^  csv/xxx  |  Esportazione da file CSV in file pronto per l'importazione da //WatchDoc//| 
-^ ^ ^  csv/xml  |  Esportazione da file CSV in file ed importazione da //WatchDoc//| 
-^ ^ ^  subarc  |  Generazione archivio sottoinsieme dell'archivio dato| 
-^ ^ ^  replica  |  Forza il processo di replicazione di alcuni record per scenari con archivio replicato per //Disaster Recovery//.| 
-^ |||| 
-^  FIND  |  AREA RICERCHE||| 
-^  FIND  |  Comando di ricerca||| 
-^ ^  ^  fuzzy  |  Selezione con estensione probabilistica| 
-^ ^  ^  fast  |  Selezione rapida con sintassi semplificata| 
-^ ^  ^  like  |  Selezione documenti simili| 
-^ ^  ^  sinon  |  Selezione per termini simili| 
-^ |||| 
-^  INFO  |  AREA INFORMAZIONI||| 
-^  INFO  |  Richiesta informazioni server||| 
-^ |||| 
-^  IMPORT  |  AREA IMPORTAZIONI||| 
-^  IMPORT  |  Importazione documenti||| 
-^ |||| 
-^  PROJECT  |  AREA PROIEZIONI||| 
-^  PROJECT  |  Esecuzione proiezione||| 
-^ |||| 
-^  REG |  AREA REGISTRO||| 
-^  REG  |  Comando di impostazione nel registro di account di un evento||| 
-^ |||| 
-^  REL |  AREA RELAZIONI||| 
-^  REL  |  Accesso alle relazioni||| 
-^ ^  Load  ^  path  |  Identificazione del percorso di relazione di un documento| 
-^ ^  Load  ^  browse  |  Accesso alle relazioni secondo criteri di //Browsing//| 
-^ ^  Load  ^  navig  |  Navigazione tra relazioni| 
-^ ^  Load  ^  export  |  Esportazione relazioni| 
-^ ^  Save  ^  import  |  Importazione relazioni| 
-^ ^  Save  ^  root  |  Impostazione della radice della gerarchia di relazioni| 
-^ ^  Save  ^  ins  |  Inserimento nuova relazione| 
-^ ^  Save  ^  del  |  Cancellazione relazione| 
-^ ^  Save  ^  del/global  |  Cancellazione globale relazioni| 
-^ |||| 
-^  REPLACE  |  AREA SOSTITUZIONI||| 
-^  REPLACE  |  Comando di ricerca e sostituzione||| 
-^ ^ ^  nocase  |  Sostituzione senza tener conto del //Case//| 
-^ ^ ^  part  |  Sostituzione parziale| 
-^ ^ ^  nocase/part  |  Sostituzione parziale e senza tener conto del //Case//| 
-^ |||| 
-^  SAVEDSEARC  |  AREA RICERCHE FREQUENTI||| 
-^ ^  Load  ^  list  |  Acquisizione elenco ricerche frequenti| 
-^ ^  Save  ^  add  |  Salvataggio nuova ricerca frequente| 
-^ ^  Save  ^  list  |  Salvataggio lista ricerche frequenti| 
-^ |||| 
-^  SELE  |  AREA SELEZIONI||| 
-^  SELE  |  Accesso al file di selezione||| 
-^ ^  Open  |  Creazione nuova selezione||| 
-^ ^  Load  |  Apertura selezione esistente||| 
-^ ^  Add  |  Aggiungi elementi in selezione||| 
-^ ^  Sort  |  Ordinamento selezione||| 
-^ ^  Del  |  Cancellazione selezione||| 
-^ |||| 
-^  SPATIAL  |  AREA MOTORE SPAZIALE||| 
-^  SPATIAL  |  Esecuzione comando spaziale||| 
-^ |||| 
-^  SPELL  |  AREA CORRETTORE ORTOGRAFICO||| 
-^ ^  Load  |  Identificazione dei termini non presenti nel dizionario||| 
-^ ^  Save  |  Introduzione nuovi termini nel dizionario||| 
-^ |||| 
-^  SQL  |  AREA SQL||| 
-^  SQL  |  Esecuzione statement SQL||| 
-^ ^  Load  ^  arcstruct  |  Caricamento struttura tabelle| 
-^ |||| 
-^  TITLE  |  AREA TITOLI((Per titoli si intende una cache del contenuto del documento))||| 
-^ ^  Load  |  Caricamento titoli|| 
-^ ^  Load  ^  sele  |  Caricamento titoli da selezione| 
-^ ^  Build  |  Ricostituzione titoli|| 
-^ ^  Reset  |  Impostazione regola costituzione titoli di default|| 
-^ ^  SetRule  |  Impostazione regola costituzione titoli|| 
-^ ^  GetRule  |  Acquisizione regola costituzione titoli|| 
-^ |||| 
-^  USR  |  AREA UTENTI||| 
-^ ^  Init  |  Inizializzazione accesso al server|| 
-^ ^  Set  |  Indicazione dell'utente corrente|| 
-^ |||| 
-^  VOC  |  AREA VOCABOLARIO||| 
-^  VOC  |  Accesso al Vocabolario||| 
-^ ^  Load  ^  first  |  Accesso alla prima chiave del vocabolario| 
-^ ^  Load  ^  next  |  Accesso a chiavi successive| 
-^ ^  Load  ^  prev  |  Accesso a chiavi precedenti| 
-^ ^  Load  ^  last  |  Accesso all'ultima chiave del vocabolario| 
-^ ^  Load  ^  key  |  Accesso a chiave esatta del vocabolario| 
-^ ^  Load  ^  key/gt  |  Accesso a chiave maggiore o uguale a quella indicata| 
-^ ^  Load  ^  key/lt  |  Accesso a chiave minore o uguale a quella indicata| 
-^ ^  Load  ^  nav  |  Navigazione tra le chiavi del Thesaurus| 
-^ ^  Load  ^  ext  |  Caricamento estensione delle chiavi del Thesaurus| 
-^ ^  Save  ^  ins  |  Inserimento chiave nel vocabolario| 
-^ ^  Save  ^  del  |  Cancellazione chiave nel vocabolario| 
-^ ^  Save  ^  list  |  Salvataggio di chiavi in vocabolari vincolati| 
-^ |||| 
-^  XSL  |  AREA ESTENSIONI DOCUMENTI||| 
-^ ^  Load  |  Caricamento dell'estensione di uno o più documenti|| 
-^ ^  Save  ^  reset  |  Ricostruzione estensioni documenti| 
-^ ^  Save  ^  reset/batch  |  Ricostruzione non presidiata estensioni documenti| 
- 
- 
-===== L'acquisizione dei nuovi documenti ===== 
- 
-==== Il procedimento di WatchDog ==== 
-Il Procedimento di WatchDog comporta l'osservazione dal parte del "server master" delle directory indicate nel file di configurazione xwwd.conf.xml e per ognuna di tali directory (tipicamente una sola denominata 'wd') verifica la presenza di file con estensione ".xml". Se esiste un file con tale estensione si determina dal nome del file l'archivio interessato e, se disponibile, l'utente "inseritore" da assegnare ai documenti che verranno identificati all'interno di tale file. Se esiste un file appartenente allo stesso archivio ma avente estensione ".xml.wrk" il server sa che è in esecuzione un'altra operazione di acquisizione per lo stesso archivio ed attende che essa sia finita. Quando invece non c'è alcun lavoro in corso per l'archivio in esame, il primo file ad esso relativo (rilevato in ordine alfabetico tra quelli contenuti nella directory) viene rinominato con estensione ".xml.wrk" e dato in pasto ad una nuova istanza del server che provvederà a rimuoverlo al termine dei propri compiti sbloccando quindi l'acquisizione da altri file per lo stesso archivio.\\  Il server che interpreta il file in esame deve verificare che in esso sia interpretabile il contenuto secondo le unità documentarie riconosciute dal server per l'archivio in corso di elaborazione e che nella sintassi interna non vi siano incongruenze. Una volta riconosciuti questi documenti passa al salvataggio di ognuno di essi, rispettando l'eventuale univocità e procedendo a saltare i documenti non salvabili registrandoli nel file ".xml.fail". Il salvataggio di questi singoli documenti può anche fallire per questioni legate all'archivio (problemi di scrittura sullo strato fisico, spazio su disco completato, operazioni di indicizzazione on-line fallite per cause legate a difetti del vocabolario, ecc. ecc.). Completati i propri compiti, come detto, tale server rimuoverà il file ".xml.wrk" ed il file dei fallimenti (".xml.fail") a patto che non ce ne siano stati. Ogni operazione ed in particolare i difetti verranno registrati nel file wd_journal.log presente nell'apposita directory. 
- 
- 
-==== Wd_journal.log ==== 
-Questo file concentra in se le registrazioni significative delle operazioni svolte dal server, per mezzo di libxwwd.so, atte al caricamento negli archivi di nuove unità documentarie.\\  Negli esempi a seguire non verrà indicata la prima parte della riga di log contenente data e PID. Parimenti, i nomi dei file e degli archivi sono puri esempi. Il riconoscimento di un file da acquisire da parte del modulo libxwwd.so viene segnalato come segue... 
- 
-|[I]Asking New Job: File /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk on archive /export/home/highway/xw/db/eurlex/eurlex| 
- 
-...questa segnalazione informa che è stato attivato un nuovo lavoro che interessa il file ".xml.wrk" indicato e che coinvolge l'archivio indicato. La registrazione viene solitamente fatta dal PID del processo eXtraWay Server "padre" ovvero quello che genera tutti i server che dialogano con l'applicazione client. Tale server rinomina questo file con estensione ".xml.wrk" così da frenare ogni ulteriore procedimento che interessi lo stesso archivio e stabilirà che nome dare al file degli errori usando lo stesso nome file ma con estensione ".xml.fail". Fatto questo creerà un ulteriore server "figlio" che svolgerà il lavoro vero e proprio.\\  Di seguito il server "figlio" preposto a questo compito registrerà di essersi accorto del lavoro da svolgere con un log come il seguente... 
- 
-|[I]New Job: Arc /export/home/highway/xw/db/eurlex/eurlex, Node Container "listof_NIR", Primary Node "NIR", WatchFile "/export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk", Failure file "/export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail"| 
- 
-...in questa informazione viene ripetuta la richiesta di un nuovo lavoro sull'archivio indicato. Vengono inoltre indicati gli identificatori del nodo primario e del suo elemento contenitore ed i due archivi, quello di lavorazione e quello nel quale verranno scaricati gli errori. Al termine dell'operazione il primo file ".xml.srk" verrà rimosso così come il file ".xml.fail" a patto che non si siano rilevati problemi.\\  Il processo provvederà quindi alla verifica del contenuto del file ".xml.wkr" ed indicherà quanto scoperto con il log... 
- 
-|[I]Found 206 primary nodes from /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk file| 
- 
-...di seguito, se non è stato indicato il nome dell'elemento contenitore ed esso risultasse indispensabile il server provocherebbe il seguente errore... 
- 
-|[E]Operation skipped, Unavailable container for NIR| 
- 
-... e l'operazione sarebbe completata in questo punto.\\  Se invece il contenitore è presente ma l'operazione di riconoscimento del file ".xml.wrk" fallisce, allora il server indicherà il seguente errore... 
- 
-|[E] File /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk totally rejected: See /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail.| 
- 
-...per indicare che nel file ".xml.fail" c'è il materiale non acqusito.\\  A questo punto, se non ci sono stai errori, il server procede determinando per ogni nodo primario la dislocazione che essi dovranno avere su disco (strato fisico). Qualora il file <nomearchivio>.conf.xml fosse stato maldestramente configurato il server presentarà il seguente errore... 
- 
-|[E] File Location Rule wrong or not applicable| 
- 
-...indicando tra parentesi quale regola di composizione del nome file abbia provocato il problema.\\  Ogni nodo primario viene verificato nella sua univocità. Se il documento non viola alcuna univocità esso viene accodato al catalogo e registrato sullo strato fisico nella nuova dilocazione, se invece esso viola l'univocità il comportamento varia. Se la configurazione del WatchDog è tale (per l'archivio corrente) perché si possa compiere update dei documenti già presenti (Vds. File di configurazione Xwwd.conf.xml), allora il server può sovrascrivere il singolo documento incontrato usando la sua locazione originaria o una nuova locazione (sullo strato fisico) a seconda di diversi fattori (non discussi in questa documentazione). Se però le univocità violate riguardano documenti duplicati (da catalogo totale ove l'univocità violata viene tollerata) allora il server rigetterà il documento (registrato nel ".xml.fail") indicando la causa del fallimento. Ciò avviene per tutti i documenti che violano anche una singola univocità qualora per quest'archivio non sia previsto l'update.\\  Le segnalazioni d'errore sono le seguenti... 
- 
-|[E]Err 822: Required XXX (Violing more)| 
- 
-...oppure... 
- 
-|[E] Err 822: Required XXX (Violing YYY)| 
- 
-...oppure... 
- 
-|[E]Err 822: Required Append (Violing YYY)| 
- 
-... dove XXX rappresenta il numero documento fisico che si potrebbe inserire se si andasse in coda e YYY il documento fisico esistente che viene violato da quello in esame. Il primo caso indica la violazione di univocità nei confronti di più documenti che quindi non vengono elencati. Il secondo caso indica la modifica di un documento esistente che non può essere effettuata perché il suo salvataggio comporterebbe la violazione di un altro documento (non pertinente nel caso di libxwwd.so ma potenzialmente presente nelle operazioni di modifica manuale) ed il terzo caso rappresenta il rifiuto del server ad accodare un nuovo documento (in archivi non designati all'update) per una singola violazione di univocità La violazione di univocità si verifica controllando il file <nomearchivio>.conf.xml nell'apposito elemento che la qualifica per ogni unità documentaria.\\  Se per contro il salvataggio del documento deve essere effettuat e va a buon fine avremo la segnalazione... 
- 
-|[I]Saved new document XXX. Destination file is /export/home/highway/xw/db/eurlex/eurlex/2002/doc11.xml| 
- 
-...dove XXX è il numero fisico del documento aggiunto al catalogo oppure... 
- 
-|[I]Updated document XXX. Destination file is /export/home/highway/xw/db/eurlex/eurlex/2002/doc09.xml| 
- 
-...dove XXX è il numero fisico del documento del catalogo che è stato aggiornato con il documento appena salvato.\\  Se il salvataggio provoca errore (tipicamente negli vocabolario), la registrazione sarà... 
- 
-|[E]Failure updating document XXX. Error code KKK.| 
- 
-...per gli aggiornamenti ovvero... 
- 
-|[E]Failure saving new document XXX. Error code KKK.| 
- 
-...per gli accoramenti. Il numero riportato da KKK è il codice d'errore rilevato. 
- 
-Il ciclo di salvataggio procede quindi fino al completo esaurimento dei documenti rilevati nel file ".xml.wrk" ma se una delle precedenti condizioni d'errore ne impedisce il completamento il server segnalerà.. 
- 
-|[I]Saving Loop interrupted, error KKK, left document in /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail| 
- 
-...dove KKK è l'ultimo codice di errore rilavato. Al termine, inoltre, essendo presente il file ".xml.fail" il server lo evidenzierà con il log... 
- 
-|[I]Failed Primary Nodes available in /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail| 
- 
-...ed inoltre, che l'operazione fallisca o riesca, il server indica la fine delle "ostilità" con il log... 
- 
-|[I]End of Job: Elapsed Secs.MSecs: SSS.MMM. Error: KKK| 
- 
-...dove SSS.MMM sono secondi e millisecondi complessivamente impiegati e KKK è '0' o il codice d'errore rilevato. 
- 
-==== Conclusioni ==== 
-Se il difetto che dovesse essere rilevato nel file wd_journal.log riguarda la prima fase, quella in cui si deve interpretare il contenuto del file .xml.wrk o quella in cui si valuta la locazione dei files, il problema va studiato nel file rigettato o nella configurazione dell'archivio. Una validazione del primo ed un controllo della sintassi del secondo dovrebbero condurre alla soluzione del problema. I successivi errori di univocità sono da verificare manualmente. Ogni unità documentaria presente nel file .xml.fail porta ad una selezione da farsi secondo la regola di univocità espressa nel file di configurazione d'archivi (<nomearchivio>.conf.xml) e quindi alla determinazione del documento o dei documenti violati. A questo punto si dovrà intervenire in modifica di essi o cambiare quanto necessario nel file .xml.fail perché tale univocità non sia più motivo di violazione. Per errori riconducibili agli indici è opportuno verificare se il numero di documenti presenti in archivio ed il numero di documenti indicizzati è congruo (Vds. <nomearchivi>.stat.xml) e se essi sono disallineati procedere con una "indicizzazione incrementale". Se il problema permane sarà necessario a ricostruire il vocabolario con un "indicizzazione complessiva". Per chiarire questi due concetti vedere oltre la parte inerente i Tools. 
- 
- 
-===== Il log di registro ===== 
- 
-I Logs di Registro, o //Audit Logs//, preservano tutte le attività svolte su ciascun DataBase riportando capillarmente ogni intervento effettuato su ciascun record. Per essi viene sempre tracciata la forma del record prima e dopo la modifica in modo da poter sempre compiere una ricostruzione degli eventi ed evidenziare anche l'eventuale presenza di interventi esterni al DataBase da parte di //Utenti maliziosi// che abbiano avuto accesso diretto ai file dell'archivio. La registrazione riporta l'identificativo dell'utente che è stato utilizzato per compiere l'operazione e, se disponibile, l'IP Address della postazione dalla quale egli ha operato.\\ __Per questa ed altre ragioni è della **massima importanza** che le soluzioni realizzate impongano l'utilizzo di codici operatore personali e che si adottino tutti gli accorgimenti necessari per impedire l'uso improprio delle credenziali personali__. \\  
-Il formato di questi file è //semi-binario// e la loro interpretazione può essere compiuta con software di 3D Informatica. __Formato e software non vengono distribuiti e documentati per impedire la maliziosa manipolazione di questi file in modo non riconoscibile__. 
- 
-La condizione di default è che i Logs di Registro vengano stilati per qualsiasi archivio ma è possibile disabilitare questa funzionalità. Per farlo è necessario l'intervento di 3D Informatica che deve produrre per ciascun archivio una speciale chiave di disabilitazione, utilizzabile solo per il detto archivio, che inibisce questo comportamento. Non è facoltà degli amministratori di sistema disabilitarlo. 
- 
-Nelle versioni più datate del server eXtraWay Standard Edition, i file di log erano denominati xreg<annomese>.log.\\ In seguito è stata realizzata una cartella con tale nome, priva dell'estensione, ed al suo interno un organizzazione in cartelle giornaliere con relativi contenuti che nel corso del tempo sono stati organizzati secondo alcuni criteri differenti finalizzati a ridurre ai minimi termini gli impatti prestazionali legati alla stesura di questi log.\\ In fine, per la __Enterprise Edition__, in ciascuna cartella mensile è presente un singolo file per ogni giorno solare per il quale sono state effettuate registrazioni. 
- 
-La finalità principale dei Logs di Registro, come detto, è ricostruire il ciclo di vita di ciascun record, dalla sua nascita sino alla sua cancellazione (se e quando prevista ed ammessa dall'applicazione). In alcuni casi specifici è stato utilizzato anche per monitorare le operazioni di consultazione, vale a dire verificare chi abbia avuto accesso a quali documenti ed allegati. Per estendere il comportamento del Registro a queste funzionalità è necessaria una specifica configurazione d'archivio tenendo conto di una crescita considerevole delle registrazioni giornalmente effettuate. 
- 
-La conservazione dei file redatti dai Logs di Registro è da considerarsi fondamentale per poter ricostruire l'intero ciclo di vita di un record, per tale ragione essi possono essere sottoposti ai più comuni procedimenti di backup nonché compressi e spostati su altri supporti/server una volta che essi siano completi, vale a dire una volta che tutte le registrazioni del periodo cui si riferiscono possano dirsi completate. 
- 
-===== I BenchMark ===== 
- 
-I benchmark vengono introdotti nella versione 24 del Server Standard Edition. 
-Modificando [[.:xw_conf_xml#sezione_debug|il file di configurazione xw.conf.xml]] si possono avviare logs a fini di benchmark. Essi vengono scaricati sempre nel file xw.log (e precedenti) ed ha la conformazione tipica di una qualsiasi riga di log. Essa sarà quindi composta da un //TimeStamp//, un //Process ID//, l'etichetta **[B]** e, di seguito, una serie di valori rappresentati sotto forma di //Comma Separated Values//. 
- 
-Tali valori sono di seguito elencati e raggruppati secondo questo criterio: 
- 
-  * <color green>**Identificazione del comando e del suo esito, dell'archivio e dell'utente**</color>; 
-  * <color blue>**Indicazioni cronologiche generali**</color>; 
-  * <color orange>**Misure quantitative e cronologiche delle attività di I/O**</color>; 
-  * <color red>**Misure quantitative e cronologiche delle attività di Indicizzazione**</color>; 
-  * **Altre misure (memoria, etc. etc.)**. 
- 
-^  Ordinale                      ^  Significato                                                                                                                                                                                                                                                                                      ^  Colonna  ^ 
-|  <color green>**1**</color>    |  Esito del comando, 0 in caso positivo, ovvero codice dell'errore rilevato                                                                                                                                                                                                                        |  A        | 
-|  <color green>**2**</color>    |  Nome dell'utente che ha richiesto l'operazione                                                                                                                                                                                                                                                    B        | 
-|  <color green>**3**</color>    |  Indirizzo //IP// dal quale l'utente ha richiesto l'operazione                                                                                                                                                                                                                                    |  C        | 
-|  <color green>**4**</color>    |  Classe principale del comando                                                                                                                                                                                                                                                                    |  D        | 
-|  <color green>**5**</color>    |  Se disponibile, Classe e comando                                                                                                                                                                                                                                                                  E        | 
-|  <color green>**6**</color>    |  Se disponibile, Classe, comando e dettagli                                                                                                                                                                                                                                                        F        | 
-|  <color green>**7**</color>    |  Nome completo dell'archivio, dove disponibile                                                                                                                                                                                                                                                    |  G        | 
-|  <color blue>**8**</color>      Tempo in secondi richiesto dal server per l'esecuzione del comando((Tale tempo non tiene conto del tempo di trasferimento del comando via rete, ovvero del tempo necessario a ricevere il comando via //socket// ed inviare al richiedente la risposta.))                                        |  H        | 
-|  <color blue>**9**</color>      Tempo "secco"((Tempo effettivo, lock & flush esclusi)) in secondi richiesto dal server per l'esecuzione del comando                                                                                                                                                                              |  I        | 
-|  <color blue>**10**</color>    |  Tempo "single"((Tempo della sessione critica flush compreso)) in secondi richiesto dal server per l'esecuzione del comando                                                                                                                                                                        J        | 
-|  <color blue>**11**</color>    |  Tempo macchina in secondi impiegato dal server per l'esecuzione del comando((Rimangono valide le considerazioni di cui al punto precedente. Il tempo macchina è disponibile solo sulle piattaforme ove esistono API in grado di fornirlo, altrimenti risulta equivalente al valore precedente))  |  K        | 
-|  <color orange>**12**</color>  |  Numero dei files aperti                                                                                                                                                                                                                                                                          |  L        | 
-|  <color orange>**13**</color>  |  Numero dei posizionamenti su file                                                                                                                                                                                                                                                                |  M        | 
-|  <color orange>**14**</color>  |  Tempo di posizionamento                                                                                                                                                                                                                                                                          |  N        | 
-|  <color orange>**15**</color>  |  Numero delle letture da file                                                                                                                                                                                                                                                                      O        | 
-|  <color orange>**16**</color>  |  Tempo di lettura                                                                                                                                                                                                                                                                                  P        | 
-|  <color orange>**17**</color>  |  Numero delle letture delle header dei file                                                                                                                                                                                                                                                        Q        | 
-|  <color orange>**18**</color>  |  Tempo di lettura delle header                                                                                                                                                                                                                                                                    |  R        | 
-|  <color orange>**19**</color>  |  Numero delle scritture su file                                                                                                                                                                                                                                                                    S        | 
-|  <color orange>**20**</color>  |  Tempo di scrittura                                                                                                                                                                                                                                                                                T        | 
-|  <color orange>**21**</color>  |  Numero delle scritture delle header dei file                                                                                                                                                                                                                                                      U        | 
-|  <color orange>**22**</color>  |  Tempo di scrittura delle header                                                                                                                                                                                                                                                                  |  V        | 
-|  <color orange>**23**</color>  |  Numero dei //flush// di file                                                                                                                                                                                                                                                                      W        | 
-|  <color orange>**24**</color>  |  Tempo di //flush//                                                                                                                                                                                                                                                                                X        | 
-|  <color orange>**25**</color>  |  Numero dei //lock//+//unlock// su file                                                                                                                                                                                                                                                            Y        | 
-|  <color orange>**26**</color>  |  Tempo di //lock//                                                                                                                                                                                                                                                                                |  Z        | 
-|  <color orange>**27**</color>  |  Byte Letti                                                                                                                                                                                                                                                                                        AA       | 
-|  <color orange>**28**</color>  |  Byte Scritti                                                                                                                                                                                                                                                                                      AB       | 
-|  <color red>**29**</color>      Nuova chiavi                                                                                                                                                                                                                                                                                      AC       | 
-|  <color red>**30**</color>      Vecchie chiavi                                                                                                                                                                                                                                                                                    AD       | 
-|  <color red>**31**</color>      Tempo totale di indicizzazione                                                                                                                                                                                                                                                                    AE       | 
-|  <color red>**32**</color>      Tempo totale di //Parsing// del record                                                                                                                                                                                                                                                            AF       | 
-|  <color red>**33**</color>      Tempo totale di intervento sul //B+Tree//                                                                                                                                                                                                                                                        |  AG       | 
-|  <color red>**34**</color>      Tempo totale di intervento sui file degli //Indici//                                                                                                                                                                                                                                              AH       | 
-|  <color red>**35**</color>      Cicli di alimentazione del //Tree// interno                                                                                                                                                                                                                                                      |  AI       | 
-|  <color red>**36**</color>      Tempo di alimentazione del //Tree// interno                                                                                                                                                                                                                                                      |  AJ       | 
-|  <color red>**37**</color>      Tempo di //Log//                                                                                                                                                                                                                                                                                  AK       | 
-|  **38**                        |  //Memory Working Set//                                                                                                                                                                                                                                                                            AL       | 
-|  **39**                        |  //Memory Working Set// Delta                                                                                                                                                                                                                                                                      AM       | 
- 
-Con l'adozione del server Enterprise Edition si è ritenuto opportuno e vantaggioso stilare un distinto set di file di log direttamente in forma di //Comma Separated Values// per renderlo di più semplice fruizione.\\ Nell'occasione il contenuto è stato arricchito e dettagliato con maggiori informazioni. 
- 
-** Versione adottata nei file bm.csv del Server Enterprise ** 
- 
-^  Ordinale                      ^  Significato                                                                                                                                                                                                                                                                                      ^  Excel  ^ 
-|  <color green>**1**</color>    |  Anno                                                                                                                                                                                                                                                                                              A      | 
-|  <color green>**2**</color>    |  Mese                                                                                                                                                                                                                                                                                              B      | 
-|  <color green>**3**</color>    |  Giorno                                                                                                                                                                                                                                                                                            C      | 
-|  <color green>**4**</color>    |  Ora                                                                                                                                                                                                                                                                                              |  D      | 
-|  <color green>**5**</color>    |  Minuto                                                                                                                                                                                                                                                                                            E      | 
-|  <color green>**6**</color>    |  Secondo e frazioni di secondo                                                                                                                                                                                                                                                                    |  F      | 
-|  <color green>**7**</color>    |  Process ID                                                                                                                                                                                                                                                                                        G      | 
-|  <color green>**8**</color>    |  Esito del comando, 0 in caso positivo, ovvero codice dell'errore rilevato                                                                                                                                                                                                                        |  H      | 
-|  <color green>**9**</color>    |  Nome dell'utente che ha richiesto l'operazione                                                                                                                                                                                                                                                    I      | 
-|  <color green>**10**</color>    Indirizzo //IP// dal quale l'utente ha richiesto l'operazione                                                                                                                                                                                                                                    |  J      | 
-|  <color green>**11**</color>    Tipo Principale del Comando                                                                                                                                                                                                                                                                      |  K      | 
-|  <color green>**12**</color>    Tipo del Comando Livello 1                                                                                                                                                                                                                                                                        L      | 
-|  <color green>**13**</color>    Tipo del Comando Livello 2                                                                                                                                                                                                                                                                        N      | 
-|  <color green>**14**</color>    Tipo del Comando Livello 3                                                                                                                                                                                                                                                                        N      | 
-|  <color green>**15**</color>    Nome completo dell'archivio, dove disponibile                                                                                                                                                                                                                                                    |  O      | 
-|  <color blue>**16**</color>    |  Tempo in secondi richiesto dal server per l'esecuzione del comando((Tale tempo non tiene conto del tempo di trasferimento del comando via rete, ovvero del tempo necessario a ricevere il comando via //socket// ed inviare al richiedente la risposta.))                                        |  P      | 
-|  <color blue>**17**</color>    |  Tempo "secco"((Tempo effettivo, lock & flush esclusi)) in secondi richiesto dal server per l'esecuzione del comando                                                                                                                                                                              |  Q      | 
-|  <color blue>**18**</color>    |  Tempo "single" della <color red>Critical Section</color>((Tempo della sessione critica flush compreso)) in secondi richiesto dal server per l'esecuzione del comando                                                                                                                                                                        R      | 
-|  <color blue>**19**</color>    |  Tempo macchina in secondi impiegato dal server per l'esecuzione del comando((Rimangono valide le considerazioni di cui al punto precedente. Il tempo macchina è disponibile solo sulle piattaforme ove esistono API in grado di fornirlo, altrimenti risulta equivalente al valore precedente))  |  S      | 
-|  <color orange>**20**</color>  |  Numero dei files aperti                                                                                                                                                                                                                                                                          |  T      | 
-|  <color orange>**21**</color>  |  Numero dei posizionamenti su file                                                                                                                                                                                                                                                                |  U      | 
-|  <color orange>**22**</color>  |  Tempo di posizionamento                                                                                                                                                                                                                                                                          |  V      | 
-|  <color orange>**23**</color>  |  Numero delle letture da file                                                                                                                                                                                                                                                                      W      | 
-|  <color orange>**24**</color>  |  Tempo di lettura                                                                                                                                                                                                                                                                                  X      | 
-|  <color orange>**25**</color>  |  Numero delle letture delle header dei file                                                                                                                                                                                                                                                        Y      | 
-|  <color orange>**26**</color>  |  Tempo di lettura delle header                                                                                                                                                                                                                                                                    |  Z      | 
-|  <color orange>**27**</color>  |  Numero delle scritture su file                                                                                                                                                                                                                                                                    AA     | 
-|  <color orange>**28**</color>  |  Tempo di scrittura                                                                                                                                                                                                                                                                                AB     | 
-|  <color orange>**29**</color>  |  Numero delle scritture delle header dei file                                                                                                                                                                                                                                                      AC     | 
-|  <color orange>**30**</color>  |  Tempo di scrittura delle header                                                                                                                                                                                                                                                                  |  AD     | 
-|  <color orange>**31**</color>  |  Numero dei //flush// di file                                                                                                                                                                                                                                                                      AE     | 
-|  <color orange>**32**</color>  |  Tempo di //flush//                                                                                                                                                                                                                                                                                AF     | 
-|  <color orange>**33**</color>  |  Numero dei //lock//+//unlock// su file                                                                                                                                                                                                                                                            AG     | 
-|  <color orange>**34**</color>  |  Tempo per ottenere i //lock//                                                                                                                                                                                                                                                                                |  AH     | 
-|  <color orange>**35**</color>  |  Byte Letti                                                                                                                                                                                                                                                                                        AI     | 
-|  <color orange>**36**</color>  |  Byte Scritti                                                                                                                                                                                                                                                                                      AJ     | 
-|  <color red>**37**</color>      Nuova chiavi                                                                                                                                                                                                                                                                                      AK     | 
-|  <color red>**38**</color>      Vecchie chiavi                                                                                                                                                                                                                                                                                    AL     | 
-|  <color red>**39**</color>      Tempo totale di indicizzazione                                                                                                                                                                                                                                                                    AM     | 
-|  <color red>**40**</color>      Tempo totale di //Parsing// del record                                                                                                                                                                                                                                                            AN     | 
-|  <color red>**41**</color>      Tempo totale di intervento sul //B+Tree//                                                                                                                                                                                                                                                        |  AO     | 
-|  <color red>**42**</color>      Tempo totale di intervento sui file degli //Indici//                                                                                                                                                                                                                                              AP     | 
-|  <color red>**43**</color>      Cicli di alimentazione del //Tree// interno                                                                                                                                                                                                                                                      |  AQ     | 
-|  <color red>**44**</color>      Tempo di alimentazione del //Tree// interno((Il parametro è solitamente 0, calcolato in caso di test di laboratorio - ERM008742))                                                                                                                                                                                                                                                      |  AR     | 
-|  <color red>**45**</color>      Tempo di //Log//                                                                                                                                                                                                                                                                                  AS     | 
-|  **46**                        |  //Memory Working Set//                                                                                                                                                                                                                                                                            AT     | 
-|  **47**                        |  //Memory Working Set// Delta                                                                                                                                                                                                                                                                      AU     | 
-|  <color blue>**48**</color>                        |  Persistor Load Time((Versione 2.0 e successive))                                                                                                                                                                                                                                                                      AV     | 
-|  <color blue>**49**</color>                        |  Persistor Save Time((Versione 2.0 e successive))                                                                                                                                                                                                                                                                      AW     | 
-|  <color blue>**50**</color>                        |  Persistor Erase Time((Versione 2.0 e successive))                                                                                                                                                                                                                                                                      AX     | 
- 
- 
-Una valida Header per il file è la seguente:\\  
- 
-''ANNO;MESE;GIORNO;ORA;MINUTO;SECONDO;PID;RET;USER;IP;CMD_MAIN;CMD_LEVEL1;CMD_LEVEL2;CMD_LEVEL3;ARC;TOTAL_TIME;DRY_TIME;CRITICAL_TIME;MACHINE_TIME;OPEN_CNT;SEEK_CNT;SEEK_TIME;READ_CNT;READ_TIME;HDR_READ_CNT;HDR_READ_TIME;WRITE_CNT;WRITE_TIME;HDR_WRITE_CNT;HRD_WRITE_TIME;FLUSH_CNT;FLUSH_TIME;LCK_UNLCK_CNT;LCK_ULCK_TIME;READ_BYTES;WRITE_BYTES;NEW_KEYS;OLD_KEYS;IDX_TIME;PARSE_TIME;BTREE_TIME;REF_TIME;BIN_TREE_CYCLES;BIN_TREE_TIME;LOG_TIME;MEMORY_WORKING_SET;MEMORY_WORKING_SET_DELTA;PREAD_TIME;PWRITE_TIME;PDEL_TIME'' 
- 
-===== Appendice A: Elenco delle principali voci che si rilevano nei files di log ===== 
-Di seguito il significato delle principali registrazioni che si incontrano nei files di log. 
- 
- 
-==== File <percorso archivio><nome archivio>.cfg<nome archivio>.descrlst.xml unavailable ==== 
-**Sintomo:** 
- 
-In fase di apertura dell'archivio a seguito dello specifico comando o in corrispondenza di qualsiasi altro comando che debba accedere ad un archivio che sia stato chiuso si può presentare questa registrazione sotto forma di //Warning//. Essa non risulta essere bloccante. 
- 
-Gli archivi //eXtraWay// possono essere di due tipi, per così dire. Esistono gli archivi generati regolarmente avvalendosi del //Model// //DEsigner// e altri che invece vengono generati editando manualmente il file di configurazione //nome_archivi.conf.xml// ed avvalendosi, evenutualmente, di una DTD prodotta da terzi o anch'essa generata a mano.\\  Il secondo caso descritto, quello //manuale//, è indubbiamente il più frequentemente utilizzato. Esso manca delle registrazioni compiute dal //Model// //Designer// per mezzo del //Server// //eXtraWay// che riguardano le diverse versioni del file di configurazione d'archivio e della DTD che lo descrive.\\  Nell'indicare l'indisponibilità del file //nomearchivio.descrlst.xml// il server sottolinea, in alcune occasioni, che l'archivio è stato generato //manualmente// e che quindi non è possibile compiere alcune operazioni avanzate, come ad esempio dare un valore di default agli attributi non citati e così via. 
- 
-**Soluzione:** 
- 
-Non è richiesto alcun particolare intervento a meno che l'archivio non sia stato generato con il //Model// //Designer//. In tal caso la congifurazione data da tale modulo è andata persa o danneggiata. 
- 
- 
-==== Lacking structure in context ==== 
-**Sintomo:** 
- 
-Operazioni di inserimento di documenti o di caricamento in forma bloccata di documenti destinati alla modifica falliscono lasciando traccia di questa segnalazione nel log sotto forma di //Error//. Segnalazione bloccante. 
- 
-Le installazioni di //eXtraWay// prevedono che, parallelamente alla directory degli eseguibili, siano presenti alcune altre directory. Una di queste è la directory //context// nella quale viene registrato lo stato degli eseguibili in uso, descritto in files //nomeeseguibile.devhist.xml// ed alcune altre informazioni di contesto. Per contesto si intende la fotografia corrente della struttura organizzativa che si occupa della gestione e manutenzione dei dati contenuti negli archivi che //eXtraWay// rende disponibili. Il contesto è composto da un insieme articolato di files (non descritti in questa sede) ma il principale di essi è il file //context//.//stat//.//xml//. In tale file vengono registrate tutte le versioni disponibili del contesto che si sono succedute nel tempo ma soprattutto, e questa è l'informazione che ci interessa in questa sede, una denominazione chiara e comprensibile di quale struttra abbia in carico questi archivi.\\  Questa denominazione viene usata da //eXtraWay// //Server// per siglare, con un'apposita //Processing// //Instruction//, ogni documento che il server provvederà ad inserire e modificare.\\  Il file //context//.//stat//.//xml// viene distribuito con un'etichetta fissa  
- 
-<code oobas> 
- %NOMESTRUTTURA%  
-</code> 
-al posto del vero nome della struttura e per lungo tempo, non essendoci un controllo esatto su questo valore, i documenti sono stati siglati con questa codifica inutile anziché con un valido nome di struttra.\\  Dalla versione 19.5.0.29 il server compie la verifica che l'etichetta di //default// sia stata sostituita da un valore valido e da questa segnalazione se la cosa non è avvenuta o se il file //context//.//stat//.//xml// non risulta disponibile. 
- 
-**Soluzione:** 
- 
-Bisogna verificare la presenza del file //context//.//stat//.//xml// nella directory //contest//. Se esso è assente va richiesto a 3D o recuperato da una procedura d'installazione. Se presente ne va verificato il contenuto ed i valori ''NOMESTRUTTURA%'' e ''VERSIONE%'' devono essere modificati con il nome della reale struttura che si occupa dei dati e le deve essere assegnata un valido numero di versione. 
- 
- 
-==== Error 819 loading Information Unit number <number> ==== 
-**Sintomo:** 
- 
-Si presenta solitamente sotto forma di //Warning// in operazioni cicliche quali l'indicizzazione di un archivio o la generazione dei titoli. Può presentarsi anche in operazioni come esportazioni o presentazioni dei titoli. 
- 
-La registrazione di un errore 819 (Vds. [[file:///C:/Temp/group____errors__h__.html|ErrorList: Elenco codici di errore e loro significato.]]) indica che il documento che ci si appresta a caricare risulta cancellato. Il server non può quindi procedere oltre per quanto riguada quel documento. 
- 
-**Soluzione:** 
- 
-Se la segnalazione si presenta in una delle operazioni cicliche, come ad esempio la ricostruzione di indici, di titoli o l'esportazione di un range (definito numericamente) di documenti, la segnalazione è normale, è //fisiologica//. In tal caso non c'è bisogno di compiere alcun intervento.\\  Se invece si presenta a seguito di una selezione (presentazione dei titoli, esportazione documenti selezionati) essa indica che gli indici del canale di ricerca utilizzato sono ancora in grado, erroneamente, di selezionare questo documento. Ciò può essere ricondotto, ragionevolmente, solo ad un danneggiamento degli indici. In tal caso si deve provvedere alla loro ricostruzione. 
- 
- 
-==== Unaligned stat.xml/udp, Pos(<num>/<num>) ==== 
-**Sintomo:** 
- 
-Si presenta sotto forma di //Error// in inserimento documenti. E' un errore bloccante per gli inserimenti lasciando disponibile modifica e consultazione. 
- 
-Il problema si verifica quando un inserimento scrive uno dei files dell'archivio, l'''udp'', e non scrive (esce con errore o va in //crash// prima di scrivere) il file ''stat''.''xml''. Questo tipo d'errore non si dovrebbe teoricamente mai verificare ma l'esperienza ci dimostra che in alcune condizioni questo avviene.\\  Quando questo avviene si ha un disallineamento tra il contenuto di due files. Un'indagine accurata degli eventi può mostrare le cause dell'errore e la sua natura (questo stesso sintomo si manifesta per problematiche che hanno aspetti diversi) indicando agli tecnici preposti quali operazioni di manutenzione correttiva possano e debbano essere effettuati sull'archivio.\\  I dettagli inerenti questo tipo d'analisi sono //riservati// e non documentati in questa sede. 
- 
-**Soluzione:** 
- 
-L'intervento di allineamento è un'operazione delicata e complessa che deve essere eseguita esclusivamente dal personale 3D. Se, in alternativa a questo tipo di intervento, si ritiene utile rigenerare l'archivio in toto, annullando e rigenerando il catalogo, i titoli e gli indici, quest'operazione può essere compiuta ma non esclude che almeno uno dei files XML sia stato scritto in modo erroneo. 
- 
- 
-==== xcrwlt:<num>:868(Invalid or Stopped Operation):"Required configuration wrong or missing" pro_xml:<num>:882(Syntax Error/Wrong Parm/Invalid Dir) ==== 
-**Sintomo:** 
- 
-Si presenta come //Warning// alla partenza di //eXtraWay//. Vedi [[file:///C:/Temp/Logs.html#LaT_InfoXcrwlStart|XCrwlT: Nothing to do, libxcrwl unavailable or wrong configuration]] 
- 
- 
-==== XCrwlT: exiting code 868 ==== 
-**Sintomo:** 
- 
-Si presenta come //Error// alla partenza di //eXtraWay//. Vedi [[file:///C:/Temp/Logs.html#LaT_InfoXcrwlStart|XCrwlT: Nothing to do, libxcrwl unavailable or wrong configuration]] 
- 
- 
-==== XCrwlT: Nothing to do, libxcrwl unavailable or wrong configuration ==== 
-**Sintomo:** 
- 
-Si presenta alla partenza del server //eXtraWay//. Indica che il ''thread'' preposto a svolgere i compiti di //eXtraWay// //Crawler// non è stato eseguito a causa della mancanza della libreria dinamica //libxcrwl.dll/so// ovvero a causa della sua mancata o non corretta configurazione.\\  In caso contrario, se la libreria è presente e la sua configurazione corretta, il server avvia una ''thread'' che si occupa di compiere //Crawling// verso delle fonti di dati o su richiesta o a particolari intervalli di tempo. 
- 
-**Soluzione:** 
- 
-Dal momento che non è possibile sapere, a livello di server //eXtaWay//, se questo servizio supplementare sia voluto o meno, il server segnala comunque che la sua partenza non ha avuto luogo quando le condizioni richieste vengono meno.\\  In sostanza, quindi, ogni server in cui questa funzionalità non risulti installata segnalerà questo problema in partenza. In altre parole questo avviene nella stragrande maggioranza dei casi.\\  Se il servizio è richiesto e previsto bisogna prendere visione della configurazione dello stesso (xcrwl.conf.xml) e verificare la presenza della libreria dimanica suddetta. In ogni altro caso **non** **è necessario compiere alcun intervento.** 
- 
- 
-==== Invalid Signature, integrity violation Arc <arcname>, Doc <num> ==== 
-**Sintomo:** 
- 
-Si presenta a seguito del caricamento di un documento quando in esso il contenuto non risulta corrispondente ad un particolare //CheckSum// calcolato su di esso all'atto del salvataggio. Non produce un errore vero e proprio in quanto il documento, se il riferimento della mappa del catalogo risulta comunque corretto, viene ugualmente caricato, ma deve far suonare un potenziale campanello d'allarme in quanto indica che, pur mantenendo invariate le dimensioni del documento nel file XML, il suo contenuto è stato modificato manualmente.\\  La //CheckSum// di cui si parla si può facilmente identificare in coda al documento. Essa è rappresentata da una //Processing// //Instruction// avente la forma...  
- 
-<code oobas> 
-<?xw-crc key32=...?>  
-</code> 
- 
-**Soluzione:** 
- 
-Il sintomo può in realtà indicare due cose: che qualcuno ha manipolato il documento all'insaputa del server, pur mantenendo le sue dimensioni invariate e quindi il documento correttamente caricabile oppure che un'operazione di manutenzione ha modificato il suo contenuto al di fuori dell'operato diretto di //eXtraWay//.\\  Il primo caso è solitamente piuttosto raro in quanto si potrebbe verificare solo in caso di //intervento// //malizioso// d parte di un operatore esperto senza dare altri effetti. Se invece l'inervento è più //gravoso// oltre a questa segnalazione si avrà quindi un errore da parte del //Client// che riceverà un frammento XML che rappresenta il documento caricato che non è valido.\\  Il secondo caso, decisamente più frequente, si verifica quando si interviene con procedure di trasformazione sui files XML di un archivio, per cambiarne massivametne il contenuto (cambiare la struttura XML, sostituire un valore con un altro o altre operazioni simili). Dopo un simile intervento si deve compiere un nuovo catalogo ma la //firma//, il //CheckSum// di cui si parlava, non corrisponderà più al contenuto (essendo stato modificato senza l'ausilio del motore //eXtraWay//) ed esso, una volta caricato, non da più alcuna corrispondenza.\\  Nel primo caso, quindi, si dovrebbe risalire, tramite i logs di registro, alla versione precedente del documento per capire che intervento sia stato fatto e quale dato sia stato //danneggiato//.\\  Nel secondo caso, quando si modifica intenzionalmente il contenuto del file XML, è buona norma //rimuovere// la //Processing// //Instruction// che rappresenta questo //CheckSum// cosi che il server assuma il contenuto di questi documenti come //non// //controllato//, acquisito da costituzione catalogo, e non manifesti l'errore. 
  
/data/attic/documentazione_3di/extraway_os/manuali/logs.1525852784.txt.gz · Ultima modifica: 2018/05/09 09:59 da rtirabassi