File di configurazione per un parser di file di registro generico

0

La nostra azienda utilizza più formati di file di registro.

Vorremmo sviluppare una serie di strumenti per analizzarli, spesso le stesse funzionalità di base per più formati di file di registro.

Un esempio classico sta generando i grafici di sequenza dei messaggi dai file di registro (altri candidati sono l'utilizzo della memoria, la dimensione dello stack e la misurazione del tempo tra gli eventi).

Per restare fedeli ai grafici di sequenza di messaggi, abbiamo fondamentalmente bisogno di identificare:

  • il titolo delle colonne (i processi coinvolti)
  • il titolo dei messaggi
  • forse anche i parametri del messaggio

Questi, intendiamo determinare analizzando i file di registro.

Tuttavia, per diversi formati, potremmo dire che l'informazione è

  • delimitato da determinate stringhe ( <some text> <process name> SEND <message> TO <process name> )
  • in posizioni di colonna fisse
  • nell'ennesima parola di righe che inizia con una determinata stringa
  • e così via

Questo potrebbe trasformarsi in una porzione di argomenti della riga di comando, quindi stiamo pensando a un file di configurazione esterno.

Che tipo di file (testo normale, .INI, XMl o cosa) e come dovremmo strutturarlo?

Mi auguro che circa il 90% del nucleo dei nostri script sia comune e abbiamo solo bisogno del 10% circa di massaggiare l'input per dirigere la nostra analisi.

Qualche consiglio o riferimento?

    
posta Mawg 20.08.2015 - 14:20
fonte

1 risposta

1

Non reinventare la ruota, usa qualcosa come AWK . Quindi il tuo "file di configurazione" è semplicemente uno script awk, che è abbastanza potente da gestire tutti i requisiti che hai menzionato.

Se ciò risulta non essere abbastanza potente, usa il tuo linguaggio di scripting preferito come Perl o Python. E se riesci a vivere con una soluzione solo Windows di origine chiusa (freeware, ma non FOSS), specificamente progettata per elaborare i file di log, puoi provare Parser log di Microsoft.

    
risposta data 20.08.2015 - 14:44
fonte

Leggi altre domande sui tag