Visualizzazione cluster
Il clustering utilizza il machine learning per identificare il pattern dei record di log, quindi per raggruppare i log con un pattern simile.
Nella vista Cluster viene visualizzato un banner di riepilogo in alto che mostra le schede riportate di seguito.
-
Cluster totali: numero totale di cluster per i record di log selezionati.

Nota
Se si passa il puntatore del mouse su questo pannello, è possibile visualizzare anche il numero di record di log, ad esempio 260 cluster da 1.413.036 record di log.
-
Problemi potenziali: numero di cluster che presentano potenziali problemi basati su record di log contenenti parole quali errore, errore irreversibile, eccezione e così via.

-
Errori: numero di cluster che si sono verificati una sola volta durante un determinato periodo di tempo.

-
Andamenti: numero di andamenti univoci durante il periodo di tempo. Molti cluster possono avere la stessa tendenza. Pertanto, facendo clic su questo pannello viene visualizzato un cluster di ciascuna tendenza.

Quando si fa clic su una delle schede, la vista istogramma del cluster viene modificata per visualizzare i record per la scheda selezionata.
Ogni pattern di cluster visualizza quanto segue:
-
Andamento: in questa colonna viene visualizzata una rappresentazione sparkline della tendenza (detta forma di tendenza) della generazione di messaggi di log (di un cluster) in base all'intervallo di tempo selezionato durante la configurazione cluster dei record. Ogni forma di tendenza viene identificata da un ID forma, ad esempio 1, 2, 3 e così via. Ciò consente di ordinare i record in cluster in base alle forme di tendenza.
Facendo clic sulla freccia a sinistra di una voce di tendenza viene visualizzata la visualizzazione delle serie temporali dei risultati del cluster. Questa visualizzazione mostra come i record di log in un cluster sono stati distribuiti in base all'intervallo di tempo selezionato nella query. La forma di tendenza è una rappresentazione sparkline della serie temporale.
-
ID: questa colonna elenca l'ID cluster. L'ID è univoco nella raccolta.
-
Conteggio: questa colonna elenca il numero di record di log con la stessa firma del messaggio.
-
Messaggio di esempio: in questa colonna viene visualizzato un record di log di esempio della firma del messaggio.
-
Origine log: in questa colonna sono elencate le origini log che hanno generato i messaggi del cluster.
È possibile aggiungere un'etichetta condizionale a un pattern cluster facendo clic sull'icona del menu Azione
nella riga corrispondente, quindi fare clic su Aggiungi etichetta condizionale. Nella finestra di dialogo Aggiungi etichetta condizionale, l'origine log è già selezionata dal pattern cluster. La condizione viene precaricata anche con il contenuto della voce di log. Se necessario, è possibile modificare la condizione. Selezionare l'etichetta dal menu o crearne una nella sezione Azioni da associare al pattern del cluster. Assicurarsi che la casella di controllo Abilitato sia selezionata. Fare clic su Aggiungi.
È possibile fare clic su Mostra tendenze simili per ordinare i cluster in ordine crescente di forme di tendenza. È inoltre possibile selezionare un ID cluster o più ID cluster e fare clic su Mostra record per visualizzare tutti i record per gli ID selezionati.
È inoltre possibile nascondere un messaggio cluster o più cluster dai risultati del cluster se l'output sembra ingombrante. Fare clic con il pulsante destro del mouse sul cluster richiesto e selezionare Nascondi cluster.
In ogni record, i valori delle variabili vengono evidenziati. È possibile visualizzare tutte le variabili simili in ciascun cluster facendo clic su una variabile nella sezione Messaggio di esempio. Facendo clic sulle variabili vengono visualizzati tutti i valori (nell'intero set di record) per la variabile specifica.
Nella sezione Messaggio di esempio, alcuni pattern cluster visualizzano un collegamento <n> altri esempi.... Facendo clic su questo collegamento vengono visualizzati più cluster che hanno un aspetto simile al pattern di cluster selezionato.
Facendo clic su Torna alle tendenze si torna alla pagina precedente con il contesto (si torna alla posizione in cui è stata selezionata la variabile per eseguire il drill-down). Il pulsante Indietro del browser riporta anche alla pagina precedente; tuttavia, il contesto non verrà mantenuto, perché il comando cluster viene eseguito di nuovo in questo caso.
Clusterare i dati di log mediante i campi SQL
L'elevato volume di record di log è ridotto a 89 cluster, offrendo così meno gruppi di dati di log da analizzare.
È possibile espandere i cluster selezionando le variabili. Ad esempio, dal set di cluster sopra riportato, selezionare il cluster con il messaggio di esempio SELECT version FROM V$INSTANCE:
Viene visualizzata la visualizzazione dell'istogramma dei record di log contenenti il messaggio di esempio specificato. Ora è possibile analizzare il contenuto del log originale. Fare clic su Torna al cluster per tornare alla visualizzazione del cluster.
Il pannello Tendenze mostra le istruzioni SQL con pattern di esecuzione simile.
Nel pannello Errori vengono visualizzate le istruzioni SQL rare e diverse.
Usa utility di confronto cluster
La utility di confronto cluster può essere utilizzata per identificare nuovi problemi confrontando il set corrente di cluster con una baseline e riducendo i risultati eliminando i cluster comuni o duplicati. Alcuni degli scenari tipici sono:
- Quali cluster sono diversi in questa settimana rispetto all'ultima settimana?
- Qual è la differenza tra il set di cluster di entità A e il set di entità B?
- Le cose funzionavano bene nel mese X. Cosa è cambiato in questo mese?
Dati due set di dati di log, la utility di confronto cluster rimuove i dati relativi ai cluster comuni e visualizza i dati dell'istogramma e la tabella dei record univoci per ogni set. Ad esempio, quando si confrontano i dati di log della settimana x e della settimana y, i cluster comuni a entrambe le settimane vengono rimossi per semplificazione e vengono visualizzati i dati univoci per ogni settimana. Ciò consente di identificare i pattern univoci per la settimana specifica e di analizzare il comportamento.
Per la sintassi e altri dettagli del comando clustercompare, vedere clustercompare.
- Nella visualizzazione
dei cluster, selezionare l'intervallo di tempo corrente. Per impostazione predefinita, la query è *. È possibile perfezionare la query per filtrare i dati di log. - Nel pannello Visualizza fare clic su Confronto cluster.
Viene visualizzata la finestra di dialogo Confronto cluster.
- È possibile notare che la query corrente e l'intervallo di tempo corrente vengono visualizzati come riferimento.
- Query di base: per impostazione predefinita, questa è la stessa della query corrente. Fare clic su
e modificare la query baseline, se necessario.
- Intervallo di tempo di base: per impostazione predefinita, la utility di confronto cluster utilizza l'opzione Usa turno di tempo per determinare l'intervallo di tempo previsto. Pertanto, l'intervallo di tempo della baseline è della stessa durata dell'intervallo di tempo corrente e viene spostato al periodo precedente all'intervallo di tempo corrente. È possibile modificare questa impostazione facendo clic sull'icona
e selezionando Usa ora personalizzata o Usa ora corrente. Se si seleziona Usa ora personalizzata, specificare l'intervallo di tempo personalizzato utilizzando il menu.
- Fare clic su Confronta.
È ora possibile visualizzare il confronto cluster tra i due set di log.
Fare clic sul pulsante corrispondente a ciascun set per visualizzare i dettagli quali cluster, potenziali problemi, valori anomali, andamenti e tabelle di record univoci del set. Nella pagina viene inoltre visualizzato il numero di cluster comuni tra i due set di log.
Nell'esempio precedente, ci sono 11 cluster trovati solo nell'intervallo corrente, 4 cluster trovati solo nell'intervallo baseline e 30 cluster comuni in entrambi gli intervalli. L'istogramma per l'intervallo di tempo corrente visualizza la visualizzazione utilizzando solo i dati di log univoci per l'intervallo di tempo corrente.
- Query di base: per impostazione predefinita, questa è la stessa della query corrente. Fare clic su
Il cluster trovato solo nell'intervallo corrente viene restituito per primo, seguiti dai cluster trovati solo nell'intervallo della Baseline. I risultati combinati sono limitati a 500 cluster. Per ridurre i risultati del confronto cluster, ridurre l'intervallo di tempo corrente o aggiungere un comando per limitare i risultati: ad esempio, Ad esempio, l'aggiunta di | head 250 limiterà entrambi i cluster corrente e baseline a 250 ciascuno. Usare la selezione multipla (fare clic e trascinare tenendo premuto) sull'istogramma del cluster per ridurre l'intervallo di tempo corrente quando si utilizza l'opzione Ora personalizzata. Il valore dello scarto dell'intervallo di tempo può essere convertito in minuti o secondi per garantire che non si verifichino vuoti temporali o sovrapposizioni tra gli intervalli di tempo correnti e della baseline.
Usare la ricerca del dizionario nel cluster
Utilizzare la ricerca del dizionario dopo il comando cluster per annotare i cluster.
Esaminare i risultati di cluster per Linux Syslog Logs. Per definire un dizionario per aggiungere etichette in base al campo Campione cluster, effettuare le operazioni riportate di seguito.
-
Creare un file CSV contenente il contenuto riportato di seguito.
Operator,Condition,Issue,Area CONTAINS IGNORE CASE,invalid compare operation,Compare Error,Unknown CONTAINS IGNORE CASE REGEX,DNS-SD.*?Daemon not running,DNS Daemon Down,DNS CONTAINS ONE OF REGEXES,"[[Cc]onnection refused,[Cc]onnection .*? closed]",Connection Error,Network CONTAINS IGNORE CASE,syntax error,Syntax Error,Validation CONTAINS IGNORE CASE REGEX,Sense.*?(?:Error|fail),Disk Sensing Error,Disk CONTAINS IGNORE CASE REGEX,device.*?check failed,Device Error,DiskImportare questa ricerca come tipo di dizionario utilizzando il nome Categorie di errore Linux. Questa ricerca contiene due campi, Problema e Area, che possono essere restituiti in una condizione corrispondente. Vedere Creare una ricerca nel dizionario.
-
Utilizzare il dizionario nel cluster per restituire un campo:
Eseguire il comando
clusterper i log Syslog Linux. Aggiungere un comandolookupdopocluster, come mostrato di seguito:'Log Source' = 'Linux Syslog Logs' | cluster | lookup table = 'Linux Error Categories' select Issue using 'Cluster Sample'Il valore di Campione cluster per ogni riga viene valutato in base alle regole definite nel dizionario delle categorie di errore Linux. Il campo Problema viene restituito da ogni riga corrispondente.
-
Restituire più di un campo selezionando ciascun campo nel comando
lookup:'Log Source' = 'Linux Syslog Logs' | cluster | lookup table = 'Linux Error Categories' select Issue as Category, Area using 'Cluster Sample'La query sopra riportata seleziona il campo Problema e lo rinomina anche in Categoria. Anche il campo Area è selezionato, ma non rinominato.
-
Filtrare i risultati del cluster utilizzando i campi del dizionario:
Utilizzare il comando
wherenei campi specifici per filtrare i cluster. Tenere presente quanto riportato di seguito.'Log Source' = 'Linux Syslog Logs' | cluster | lookup table = 'Linux Error Categories' select Issue as Category, Area using 'Cluster Sample' | where Area in (Unknown, Disk)Vengono visualizzati solo i record che corrispondono ai valori specificati per il campo Area.
Clustering semantico
Cluster Visualization consente di raggruppare i messaggi di testo nei record di log. Cluster funziona raggruppando i messaggi che hanno un numero simile di parole in una frase e identificando le parole che cambiano all'interno di tali frasi. Cluster non considera il significato letterale delle parole durante il raggruppamento.
Il comando nlp supporta il clustering semantico. Il clustering semantico viene eseguito estraendo le parole chiave pertinenti da un messaggio e raggruppandole in base a queste parole chiave. Due serie di messaggi con parole simili sono raggruppate insieme. A ciascun gruppo viene assegnato un ID cluster deterministico.
L'esempio riportato di seguito mostra l'uso del clustering NLP e delle parole chiave in Log Syslog Linux.
'Log Source' = 'Linux Syslogs Logs'
| link Time, Entity, cluster()
| nlp cluster('Cluster Sample') as 'Cluster ID',
keywords('Cluster Sample') as Keywords
| classify 'Start Time', Keywords, Count, Entity as 'Cluster Keywords'

Per ulteriori esempi di casi d'uso del clustering semantico, vedere Esempi di clustering semantico.
Comando nlp
Il comando nlp può essere utilizzato solo dopo il comando link e supporta due funzioni. cluster() può essere utilizzato per raggruppare il campo specificato e keywords() può essere utilizzato per estrarre parole chiave dal campo specificato.
Il comando nlp può essere utilizzato solo dopo il comando link. Vedere nlp.
-
nlp cluster():cluster()prende il nome di un campo generato nel collegamento e restituisce un ID cluster per ogni valore in cluster. L'ID cluster restituito è un numero, rappresentato come stringa. L'ID cluster può essere utilizzato nelle query per filtrare i cluster.Ad esempio:
nlp cluster('Description') as 'Description ID': consente di estrarre le parole chiave pertinenti dal campoDescription. Il campoDescription IDconterrebbe un ID univoco per ogni cluster generato. -
nlp keywords():Estrae le parole chiave dai valori di campo specificati. Le parole chiave vengono estratte in base a un dizionario. Il nome del dizionario può essere fornito utilizzando l'opzione
table. Se non viene fornito alcun dizionario, viene utilizzato il dizionario predefinito NLP General Dictionary.Ad esempio:
nlp keywords('Description') as Summary: consente di estrarre le parole chiave pertinenti dal campoDescription. Le parole chiave sono accessibili utilizzando il campoSummary.nlp table='My Issues' cluster('Description') as 'Description ID': anziché il dizionario predefinito, utilizzare il dizionario personalizzato Problemi personali.
Dizionario NLP
Il clustering semantico funziona dividendo un messaggio in parole, estraendo le parole pertinenti e quindi raggruppando i messaggi con parole simili. La qualità del clustering dipende quindi dalla rilevanza delle parole chiave estratte.
- Un dizionario viene utilizzato per decidere quali parole in un messaggio devono essere estratte.
- L'ordine degli elementi nel dizionario è importante. Un elemento nella prima riga ha una classificazione superiore all'elemento nella seconda riga.
- Un dizionario viene creato come file .csv e importato utilizzando l'interfaccia utente di ricerca con l'opzione Tipo di dizionario.
- Non è necessario creare un dizionario, a meno che non si desideri modificare la classificazione delle parole. Se non viene specificato alcun dizionario, viene utilizzato il valore predefinito
NLP General Dictionarypronto all'uso. Contiene parole di inglese pre-addestrate.
Vedere Creare una ricerca nel dizionario.
Di seguito è riportato un esempio di dizionario iSCSI Errors:
| Operatore | Condizione | Value |
|---|---|---|
|
|
errore |
sostantivo |
|
|
segnalato |
verbo |
|
|
iSCSI |
sostantivo |
|
|
connessione |
sostantivo |
|
|
chiuso |
verbo |
Il primo campo è riservato per uso futuro. Secondo campo è una parola. La terza parola specifica il tipo di parola. Il tipo può essere qualsiasi stringa e può essere fatto riferimento dalla query utilizzando il parametro category.
Nell'esempio precedente, la parola error ha una classificazione superiore a quella delle parole reported o iSCSI. Analogamente, la connessione ha una classificazione superiore a quella di chiusa.
Utilizzo di un dizionario
Si supponga che nel campo Message venga visualizzato il testo seguente:
Kernel reported iSCSI connection 1:0 error (1020 - ISCSI_ERR_TCP_CONN_CLOSE: TCP connection closed) state (2) Please verify the storage and network connection for additional faults
Il messaggio di cui sopra è analizzato e suddiviso in parole. I non-alfabeti vengono rimossi. Di seguito sono riportate alcune delle parole univoche generate dalla divisione:
Kernel reported iSCSI connection error ERR TCP CONN CLOSE closed state ... ...
Ci sono un totale di 24 parole nel messaggio. Per impostazione predefinita, il clustering semantico tenterebbe di estrarre 20 parole e utilizzarle per eseguire il clustering. In un caso come quello sopra, il sistema deve sapere quali parole sono importanti. A tale scopo si usa il dizionario.
Il dizionario è una lista ordinata. Se si utilizza Errori iSCSI, NLP non estrae ERR, TCP o CONN perché queste parole non sono incluse nel dizionario. Analogamente, alle parole error, reported, iSCSI, connection e closed viene assegnata una priorità più elevata a causa della classificazione nel dizionario.


