Qualcuno sa di uno strumento per rilevare e riferire su schemi ripetuti in un file di registro? [chiuso]


12

Devo monitorare alcuni file di registro rumorosi di grandi dimensioni (500 m / giorno) da un'applicazione Java (log4j). In questo momento guardo manualmente i file, grep per "ERRORE" e così via. Tuttavia, dovrebbe essere possibile per uno strumento individuare punti ripetuti nel file, contarli e fornire il drill down per i dettagli delle singole voci. Qualcuno sa di un tale strumento? Un'interfaccia utente basata su testo o Web sarebbe utile.


1
Per me questa domanda urla assolutamente perl.
John Gardeniers,

Hmm sta iniziando a sembrare che dovrò scrivere una sceneggiatura bash con un sacco di greps. Speravo di avere qualcosa che capisse automaticamente gli schemi.
David Tinker,

seriamente, questo è esattamente ciò per cui è stato creato il perl. Puoi scrivere uno script di autoapprendimento per questi schemi, anche se qui è ovviamente fuori portata.
John Gardeniers,

stackoverflow.com/questions/2590251/… ha una soluzione chiamata Chainsaw.
John aka hot2use,

datadoghq.com/blog/log-patterns <- lo consiglio vivamente, ma sebbene non sia pazzesco, non è neanche super economico.
neokyle,

Risposte:


3

Ho sentito parlare di persone che applicano il filtro bayesiano sui file di registro per individuare elementi interessanti rispetto alle voci di registro di routine. Usavano i filtri antispam, dove le voci di routine poco interessanti erano considerate "buone" mentre quelle insolite erano considerate "spam" e usando quella colorazione erano in grado di spostarsi.

Mi sembra molto roba di apprendimento automatico, ma poi non l'ho visto in azione, ne ho sentito parlare solo con le birre.


Questo mi sembra perfettamente ragionevole e potresti anche avere presupposti molto forti (nel senso bayesiano) su certe parole che compaiono sempre nei registri del server.
DrewConway,

Sì, questo farebbe il lavoro. Qualcuno conosce un'implementazione che potrei addestrare?
David Tinker,

Uno potrebbe iniziare con CRM114 immagino. Oppure aspetta fino a quando Drew Conway pubblica il suo Machine Learning for Hackers . Sto ancora lavorando per trovare il riferimento originale a ciò che ho proposto.
Adamo,

Sì! L'ho letto nel 2005 in questo thread dei membri della salvia . L'autore dell'email menziona spamprobe .
Adamo,

6

Splunk fa miracoli per questo genere di cose. Lo uso internamente per raccogliere tutti i registri e fare ricerche rapide tramite la sua eccellente interfaccia basata su browser.


Purtroppo avremmo probabilmente bisogno della versione non gratuita ed è un po 'costosa
David Tinker il

3

syslog-ng ha una funzione denominata patterndb. È possibile creare modelli e abbinare le voci del registro in tempo reale, quindi inviare tali voci a file di registro separati.



1

Prova petit .
Non sono sicuro che funzionerà con il formato log4j, ma potresti essere in grado di scrivere un filtro personalizzato per quello.
Petit non ha un'interfaccia web, mostra i grafici nella tua shell (ASCII art ftw!).
È molto utile vedere rapidamente i messaggi ripetuti e capire quando sono accaduti o hanno iniziato a verificarsi più frequentemente.





-1

Puoi provare LogXtender di SEQREL, che rileva automaticamente schemi e aggrega registri simili. Il modo è farlo creando espressioni regolari al volo e usando la regex memorizzata nella cache per abbinare altri registri. Con un'ulteriore rilevazione della tassonomia è possibile aggiungere maggiore granularità. Una versione gratuita può essere scaricata da https://try.logxtender.net .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.