Analisi dei log del server mediante machine learning


10

Mi è stato assegnato questo compito per analizzare i registri del server della nostra applicazione che contiene registri delle eccezioni, registri degli eventi dei registri del database, ecc. Sono nuovo di machine learning, usiamo Spark con ricerca elastica e Sparks MLlib (o PredictionIO). Un esempio del desiderato il risultato sarebbe essere in grado di prevedere in base ai registri delle eccezioni raccolti per essere in grado di prevedere quale utente ha maggiori probabilità di causare l'eccezione successiva e a quale funzione (e un sacco di altre cose per tenere traccia e migliorare l'ottimizzazione dell'applicazione).

Sono stato in grado di importare con successo i dati da ElasticSearch in Spark e creare DataFrames e mappare i dati necessari. Quello che vorrei sapere è come affrontare l'aspetto Machine Learning della mia implementazione. Ho esaminato articoli e articoli che parlano di preelaborazione dei dati, formazione dei modelli di dati, creazione di etichette e generazione di previsioni.

Le domande che ho sono

  • Come approccio a trasformare i dati del registro in uscita in vettori numerici che possono essere utilizzati per i set di dati da addestrare.

  • Quali algoritmi devo usare per addestrare il mio set di dati (con la conoscenza limitata che ho raccolto negli ultimi due giorni, stavo pensando di implementare la regressione lineare, suggerisci quale implementazione sarebbe la migliore)

Sto solo cercando suggerimenti su come affrontare questo problema.

Grazie.


Se tu avessi la capacità predittiva di credere che un determinato utente avesse un'alta probabilità di un'eccezione cosa faresti? L'obiettivo è ottimizzare l'applicazione. Stai cercando di perfezionare i bug su cui gli ingegneri dovrebbero impiegare il loro tempo invece di correggere solo i bug noti nell'applicazione? L'ingegnerizzazione delle funzionalità può essere molto importante per questo compito. Inoltre, potresti considerare la regressione logistica che produrrà un valore 0..1 che può essere interpretato come una probabilità.

5
Penso che stai superando gli obiettivi. Non trattare ML come una scatola nera per fare magie. Devi fare le domande giuste (e disporre di dati adeguati per questo) per ottenere qualsiasi risultato.
Ha QUIT - Anony-Mousse il

Il tuo problema è stato risolto per prevedere quale utente ha maggiori probabilità di causare la prossima eccezione e a quale funzione (e un sacco di altre cose per tenere traccia e migliorare l'ottimizzazione dell'applicazione) ? Se sì, puoi condividere il tuo approccio di soluzione o chiunque altro può condividere?
Ashish Tyagi,

Risposte:


12

Non penso che sia necessariamente necessario convertire le singole voci del registro in vettori per l'uso in un algoritmo. Immagino che ciò a cui sei interessato sia una sequenza di voci di registro, che rappresentano una serie di eventi, ordinati nel tempo, che insieme formano una serie di "casi". Qui è importante la relazione tra una serie di voci di registro raccolte.

In tal caso, ti consigliamo di utilizzare le tecniche di estrazione dei processi . Ciò consente di creare modelli del processo (l'uso dell'applicazione) e determinare modelli di fasi del processo, insieme a errori e fasi di rilavorazione.

C'è un buon corso introduttivo su Coursera, qui . Ci sono anche alcuni pacchetti sviluppati e commerciali come 'disco' per aiutarti con l'analisi e la visualizzazione

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.