Gestisci ricerche

Oracle Log Analytics consente di arricchire i dati degli eventi aggiungendo combinazioni campo-valore dai lookup. Oracle Log Analytics utilizza le ricerche per abbinare le combinazioni campo-valore dagli eventi a una tabella di ricerca esterna e, se abbinata, Oracle Log Analytics aggiunge le combinazioni campo-valore agli eventi.

Tipi di ricerche:
  • Semplice: questa tabella contiene una semplice lista di elementi in cui le righe corrispondono a una singola relazione. Ad esempio, se si crea una tabella di ricerca degli errori, ogni riga può avere le informazioni per un singolo errore, ad esempio ID errore, messaggio di errore, causa, azione correttiva. Vedere Creazione di una ricerca semplice.
  • Dizionario: opzione più efficace che consente di racchiudere le relazioni logiche tra i campi e i rispettivi valori utilizzando operatori quali CONTAINS, CONTAINS IGNORE CASE MULTILINE REGEX ed EQUAL. Per un elenco completo di operatori, esempi e passi per creare questo tipo di lookup, vedere Creare una ricerca nel dizionario.
Per l'elenco delle ricerche definite da Oracle disponibili in Oracle Log Analytics, vedere Ricerche definite da Oracle.

Per le autorizzazioni per eseguire tutte le operazioni sulle ricerche, vedere Consenti agli utenti di eseguire tutte le operazioni sulle ricerche.

Nota

La dimensione di un singolo file di ricerca non deve superare i 10 MB. Tuttavia, il numero di righe nel lookup non è limitato.

Nota

Se si desidera impedire a un utente di visualizzare il contenuto di una ricerca, anche indirettamente, a tale utente NON DEVE essere concessa l'autorizzazione per:

  • Carica i log
  • Visualizzare i log che contengono i campi integrati utilizzando tali ricerche limitate

In che modo le ricerche arricchiscono i log

Spesso, i log non contengono tutte le informazioni necessarie per consolidare l'analisi. In questi casi, è possibile creare una tabella di ricerca per raccogliere le informazioni già raccolte in modo da dare più senso ai dati nei log. Ad esempio, il campo ID errore negli eventi di log non fornisce una descrizione degli errori. È possibile creare una ricerca che mappa ID errore alle descrizioni, quindi utilizzare le opzioni Arricchimento campo per rendere disponibili le descrizioni per la ricerca nei record di log. Alcuni scenari di esempio in cui è possibile creare ricerche:

  • Inventario dei prodotti: ID prodotto, specifiche tecniche, prezzo, scorte disponibili, numero di rack
  • Informazioni sul dipendente: ID dipendente, informazioni personali, organizzazione, ruolo, scala, stipendio, manager
  • Riferimento alla libreria: casella, autore, riepilogo, edizione, edizioni precedenti, prezzo

Come usare le ricerche

È possibile utilizzare principalmente le ricerche semplici in fase di inclusione utilizzando la funzione Ricerca origine. Vedere Uso delle ricerche in tempo di inclusione nell'origine.

È inoltre possibile utilizzare ricerche semplici al momento della query come mostrato di seguito:

Nella query lookup seguente, il messaggio di errore viene selezionato dalla tabella di ricerca ORA Error Messages mappando il campo ID errore e visualizzato in una tabella di riepilogo insieme ad altri campi quali l'origine log e l'entità:

'Error ID' like 'ORA%' | lookup table = 'ORA Error Messages' select errmsg using 'Error ID' = errid | fields -*, 'Log Source', Entity, errmg
  • Informazioni dai log:
    • Error ID: ID errore come indicato nei log specificati nel formato ORA%
    • Log Source: l'origine log dei log
    • Entity: l'entità dei log
  • Informazioni della tabella di ricerca definita da Oracle ORA Error Messages:
    • errid: ID dell'errore specificato nel formato ORA%
    • errmsg: il messaggio di errore per l'ID errore

    Gli altri dettagli disponibili nella tabella di ricerca ORA Error Messages sono errcause (causa errore) e erraction (azione errore) per ogni ID errore. Per visualizzare il contenuto della tabella di ricerca, utilizzare il comando searchlookup come indicato di seguito.

    * | searchlookup table = 'ORA Error Messages'

Visualizza il dettaglio di ricerca

  1. Aprire il menu di navigazione e fare clic su Observability & Management. In Log Analytics, fare clic su Amministrazione.

  2. Le risorse di amministrazione sono elencate nel riquadro di navigazione a sinistra in Amministrazione. Fare clic su Ricerche.

  3. In Ricerche, fare clic sul lookup di cui si desidera visualizzare i dettagli.

    Nella pagina Dettaglio ricerca vengono visualizzati i dettagli forniti durante la creazione e anche il contenuto della tabella di ricerca. È inoltre possibile eseguire azioni quali Sposta risorsa, Aggiungi tag e Elimina. Per informazioni dettagliate su queste azioni, vedere la sezione seguente.

Per eseguire altre azioni sulla ricerca, nella pagina elenco Ricerche selezionare il Compartimento, il Tipo e il Tipo di creazione della ricerca e limitare la ricerca della ricerca nella barra di ricerca. È inoltre possibile includere filtri tag per filtrare le ricerche in base alle tag. Dopo aver identificato la ricerca, fare clic sull'icona Azioni Icona Azioni nella riga della ricerca:

  • Ricarica file: in caso di ricerche create dall'utente, se si dispone di una nuova versione della tabella di ricerca o se un caricamento precedente non è riuscito, è possibile ricaricarlo.

  • Elimina: potrebbe essere necessario eliminare alcune ricerche precedenti o non utilizzate. Per eliminare la ricerca, confermare nella finestra di dialogo Elimina ricerca. È possibile eliminare un lookup solo se creato dall'utente.

  • Copia OCID: l'OCID della risorsa di ricerca viene copiato. Puoi usarlo per fare riferimento a questa risorsa ovunque in Oracle Cloud Infrastructure.
  • Sposta risorsa: viene visualizzata la finestra di dialogo Sposta risorsa in un compartimento diverso. Dalle opzioni, selezionare il compartimento in cui si desidera spostare la ricerca, quindi fare clic su Sposta risorsa.
  • Aggiungi tag: vedere Aggiungere tag alle risorse di Log Analytics.

Aggiorna una ricerca esistente

  1. Aggiornare il file CSV con le combinazioni campo-valore.

  2. Aprire il menu di navigazione e fare clic su Observability & Management. In Log Analytics, fare clic su Amministrazione.

  3. Le risorse di amministrazione sono elencate nel riquadro di navigazione a sinistra in Amministrazione. Fare clic su Ricerche.

  4. In Ricerche, fare clic sull'icona Azioni Menu Azioni nella riga corrispondente alla ricerca che si desidera aggiornare, fare clic su Ricarica file.

    Viene visualizzata la finestra di dialogo Ricarica file.

  5. Selezionare il file CSV di ricerca aggiornato creato in precedenza e fare clic su Carica.

Creare una ricerca semplice

Dopo aver creato la ricerca semplice, eseguire una query con il comando searchlookup per elencare i valori nella ricerca e utilizzare il comando lookup in una query per mappare i campi di output a tali valori.

  1. Creare un file CSV di ricerca con le combinazioni campo-valore. Ad esempio, per creare una ricerca che mappa l'ID errore alle descrizioni:

    errid,description
    02323,Network Not Reachable
    09912,User Activity
    12322,Out of Memory

    Si noti che la prima riga è l'intestazione con i titoli errid e description per i valori nelle righe successive.

  2. Aprire il menu di navigazione e fare clic su Observability & Management. In Log Analytics, fare clic su Amministrazione.

  3. Le risorse di amministrazione sono elencate nel riquadro di navigazione a sinistra in Amministrazione. Fare clic su Ricerche.

    Viene visualizzata la pagina di elenco delle ricerche. Dal riquadro di navigazione a sinistra selezionare il compartimento in cui deve essere creata la ricerca.

  4. In Ricerche, fare clic su Crea ricerca.

  5. Nella pagina Crea ricerca immettere il nome della ricerca, ad esempio server error code lookups, e una descrizione facoltativa.

  6. In Tipo, selezionare Semplice.

  7. Selezionare il file CSV di ricerca creato in precedenza.

  8. Facoltativamente, espandere la sezione Mostra opzioni avanzate e aggiungere tag alla ricerca. Fare clic su Crea.

Creare una ricerca nel dizionario

Dopo aver creato la ricerca del tipo di dizionario, utilizzare il comando searchlookup per elencare le ricerche. Utilizzare il comando lookup per eseguire il mapping ai campi con qualsiasi query solo dopo aver utilizzato i comandi link o cluster nella query.

Altri argomenti:

Si noti che è possibile utilizzare le ricerche dei tipi di dizionario solo in fase di query e non in fase di inclusione nella funzione di origine.

Per esempi di utilizzo della ricerca del dizionario nel cluster e nel collegamento, vedere Usa ricerca del dizionario nel cluster e Usa ricerca del dizionario nel collegamento.

Per un esempio di utilizzo della ricerca del dizionario per fornire la geolocalizzazione, vedere Specificare la geolocalizzazione mediante una ricerca.

  1. Creare un file CSV di ricerca con le combinazioni campo-valore.

    Ad esempio:

    Operator,Condition,Issue,Area
    CONTAINS,message header or abbreviation processing failed,Processing Error,Messaging
    CONTAINS,Failed to associate the transaction context with the response while marshalling,Marshalling Error,Response
    CONTAINS,A RuntimeException was generated by the RMI server,Exception,RMI

    Si noti che la prima riga è l'intestazione in cui Operator e Condition sono i campi obbligatori specificati nello stesso ordine. I parametri successivi vengono elencati nella riga dell'intestazione dopo i parametri obbligatori. Le righe successive sono i valori dei parametri elencati nella riga dell'intestazione nello stesso ordine.

    Vedere la tabella riportata di seguito per l'elenco degli operatori e degli esempi validi da utilizzare.

    Nota:

    • Se un campo contiene una virgola, racchiuderlo tra virgolette.

    • Se un campo contiene virgolette doppie, eseguire l'escape usando due virgolette doppie.

  2. Aprire il menu di navigazione e fare clic su Observability & Management. In Log Analytics, fare clic su Amministrazione.

  3. Le risorse di amministrazione sono elencate nel riquadro di navigazione a sinistra in Amministrazione. Fare clic su Ricerche.

    Viene visualizzata la pagina di elenco delle ricerche. Nella barra di ricerca selezionare il compartimento in cui deve essere creata la ricerca.

  4. In Ricerche, fare clic sul collegamento Crea ricerca.

  5. Nella pagina Crea ricerca immettere il nome della ricerca, ad esempio cluster dictionary lookups, e una descrizione facoltativa.

  6. In Tipo, selezionare Dizionario.

  7. Selezionare il file CSV di ricerca creato in precedenza.

  8. Facoltativamente, espandere la sezione Mostra opzioni avanzate e aggiungere tag alla ricerca. Fare clic su Crea.

Operatore CIDRMATCH

L'operatore CIDRMATCH supporta la regola di corrispondenza CIDR (Classless Inter-Domain Routing) all'interno di una ricerca del dizionario. Ad esempio, il dizionario seguente restituisce Nome rete come Rete di database se l'indirizzo IP di input rientra nell'intervallo tra 192.0.2.0 e 192.0.2.255:

Operator,Condition,Network Name
CIDRMATCH,192.0.2.10/24,Database Network

Elenco di operatori ed esempi validi per l'utilizzo

Operatore Descrizione Esempio

CONTAINS

True se il valore contiene la stringa specificata nel campo Condizione. Con distinzione tra maiuscole e minuscole

CONTAINS,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE

Come sopra, ad eccezione del caso ignorato

CONTAINS IGNORE CASE,request 'getresponse' timed out,Timeout Error

CONTAINS REGEX

True se il valore corrisponde all'espressione regolare specificata

CONTAINS REGEX,Request '\S+' Timed out,Timeout Error

CONTAINS IGNORE CASE REGEX

Come sopra, ma ignora il caso

CONTAINS IGNORE CASE REGEX,request '\S+' timed out,Timeout Error

CONTAINS MULTILINE REGEX

Utilizzare questa opzione per trovare una corrispondenza con una stringa multiriga

CONTAINS MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE MULTILINE REGEX

Come sopra, ad eccezione del caso ignorato

CONTAINS IGNORE CASE MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS ONE OF REGEXES

Specificare più di un'espressione regolare. True se viene trovata almeno una corrispondenza.

Elencare le espressioni regolari all'interno di [] e separarle con una virgola. Le espressioni regolari non possono contenere una virgola.

Se è necessario utilizzare virgolette doppie all'interno dell'espressione regolare, eseguire l'escape di ogni virgoletta doppia utilizzando un'altra virgoletta doppia.

CONTAINS ONE OF REGEXES,"[Request '\S+' Timed out,Server\S+Timed out]",Timeout Error

NOT CONTAINS

Non contiene la stringa specificata

NOT CONTAINS,Request 'GetResponse' Timed out,Success

EQUAL

Il contenuto è uguale al valore specificato

EQUAL,500,HTTP Server Error

EQUAL IGNORE CASE

Come sopra, ad eccezione del caso ignorato

EQUAL,In-Progress,Request In Progress

NOT EQUAL

True se il contenuto non è uguale al valore specificato

NOT EQUAL,200,HTTP Request Failed

STARTS WITH

Rispetto all'inizio del contenuto

STARTS WITH,Request failed with,Fail

ENDS WITH

Confronta con la fine del contenuto

ENDS WITH,timed out,Timeout

IN

True se almeno uno dei valori è uguale a

IN,"[500,501,502,503]",HTTP Server Error

IN IGNORE CASE

Come sopra, ad eccezione del caso ignorato

IN IGNORE CASE,[fail,timeout,error,fatal],Request Failed

NOT IN

True se il contenuto non è uguale ad alcun valore nell'elenco

NOT IN,"[500,501,503,400,401,404]",HTTP Request Successful

NULL

True se il contenuto nel campo è nullo

NULL,,No Value

NOT NULL

True se il contenuto nel campo non è nullo

NOT NULL,,Value Present

CIDRMATCH

Regola operazione corrispondenza CIDR (Classless Inter-Domain Routing) all'interno di una ricerca dizionario

Vedere Operatore CIDRMATCH.

Elenco di operatori ed esempi numerici e logici

Nota

Assicurarsi che gli operatori numerici non siano misti con gli operatori stringa nello stesso dizionario. Se gli operatori sono misti nello stesso dizionario e un valore stringa viene passato nella query, viene restituito un messaggio di errore sul tipo durante la corrispondenza utilizzando gli operatori numerici.
Operatore Descrizione Esempio

=

Numerico uguale a

=,1,Value is 1

!=

Numerico diverso da

!=,1,Value is Not 1

>

Sopra il valore specificato

>,1,Value is above 1

<

Al di sotto del valore specificato

<,1,Value is below 1

>=

Sopra o uguale al valore specificato

>=,1,Value is equal or above 1

<=

Al di sotto o uguale al valore specificato

<=,1,Value is equal or below 1

BETWEEN

Tra i due valori indicati, entrambi inclusi

BETWEEN,1-10,Value is equal or above 1 and equal or below 10

> AND <

Sopra N1 e sotto N2

> AND <,1-10,Above 1 and below 10

>= AND <=

Uguale a Between. Sopra o uguale a N1 e sotto o uguale a N2

>= AND <=,1-10,Above or equal to 1 and below or equal to 10

>= AND <

Sopra o uguale a N1 e sotto N2

>= AND <,1-10,Above or equal to 1 and below 10

> AND <=

Sopra N1 e sotto o uguale a N2

> AND <=,1-10,Above 1 and below or equal to 10

> OR <

Sopra N1 o sotto N2

> OR <,1-10

Sopra 1 o sotto 10

>= OR <=

Sopra o uguale a N1 o sotto o uguale a N2

>= OR <=,100-10,Above or equal to 100 or below or equal to 10

>= OR <

Sopra o uguale a N1 o sotto N2

>= OR <,10-1,Above or equal to 10 or below 1

> OR <=

Sopra N1 o sotto o uguale a N2

> OR <=,100-10,Above 100 or below or equal to 10

>= OR !=

Sopra o uguale a N1 o non uguale a N2

>= OR !=,10-1,Above or equal to 10 or not equal to 1

<= OR !=

Di seguito o uguale a N1 o non uguale a N2

<= OR !=,10-100,Below or equal to 10 or not equal to 100

>= OR =

Sopra o uguale a N1 o uguale a N2

>= OR =,10-1,Above or equal to 1 or equal to 1

<= OR =

Di seguito o uguale a N1 o uguale a N2

<= OR =,10-100,Below or equal to 10 or equal to 100

> AND !=

Sopra N1 e non uguale a N2

> AND !=,10-100,Above 10 and not equal to 100

< AND !=

Sotto N1 e non uguale a N2

< AND !=,10-1,Below 10 and not equal to 1

Usa commenti durante la definizione delle ricerche del dizionario

Utilizzare # come primo campo per aggiungere commenti a una ricerca di dizionario. Di seguito è riportato un esempio di ricerca di esempio con commenti.

Operator,Condition,Label,Module
# ----------------------------------
# Startup/Shutdown and Terminations
# ----------------------------------
CONTAINS,Server started in RUNNING mode,Server Started,WebLogic Server
CONTAINS,A critical service failed. The server will shut itself down,Server Shutdown,WebLogic Server
CONTAINS,state changed to FAILED,Server Failed,
CONTAINS,Removing .* from cluster view due to PeerGone,Cluster Removed,WebLogic Server
# ----------------------
# Connection Error / Timeouts and Slowness
# ----------------------
CONTAINS,Unable to connect to WSM policy manager,WSM Policy Manager Connection Error,
CONTAINS REGEX,java.sql.SQLTimeoutException: \S+: user requested cancel of current operation,SQL Timeout,Database
CONTAINS,This member is running extremely slowly and may endanger the rest of the cluster,WebLogic Cluster Slowness,WebLogic Server

Usa la ricerca del dizionario in una query

È possibile utilizzare lo stesso dizionario in più query. Ad esempio, la seguente query applica lo stesso dizionario al campo Message e mostra i risultati aggregati utilizzando la visualizzazione Grafico a torta:

'Log Source' = 'Linux Syslog Logs'
| lookup table = 'Linux Error Categories' select Issue, Area using Message
| stats count by Area

Usa la ricerca del dizionario in una query

Consenti agli utenti di eseguire tutte le operazioni nelle ricerche

Tipo di risorsa individuale: loganalytics-lookup

Parte del tipo di risorsa aggregato: loganalytics-features-family

Dichiarazione dei criteri delle risorse se i criteri familiari non sono definiti:

Caso d'uso Criteri IAM

La ricerca può essere nella tenancy

allow group <user_group> to READ loganalytics-lookup in tenancy

Limitare l'autorizzazione per la ricerca a un compartimento specifico.

allow group <user_group> to READ loganalytics-lookup in compartment <compartment_name>

Tenere presente che per limitare l'autorizzazione alla risorsa di lookup con l'ambito richiesto (tenancy o compartimento) al funzionamento dell'istruzione dei criteri precedente, non devono esistere altre istruzioni dei criteri che coprano la famiglia di tipi di risorsa e un ambito più ampio.

Nota

Se si desidera impedire a un utente di visualizzare il contenuto di una ricerca, anche indirettamente, a tale utente NON DEVE essere concessa l'autorizzazione per:

  • Carica i log
  • Visualizzare i log che contengono i campi integrati utilizzando tali ricerche limitate

Quando si crea un criterio IAM per loganalytics-lookup, è possibile eseguire le operazioni riportate di seguito con ciascun verbo.

Inspect Read Use Manage

N/D

N/D

Registra una ricerca

Gestisci ha lo stesso livello di autorizzazioni e operazioni API di Usa.

In genere, solo gli amministratori dispongono delle autorizzazioni USE e MANAGE per creare o eliminare la ricerca. Se si desidera che i privilegi eseguano query di ricerca, è necessario disporre dell'autorizzazione READ.

Rendiconto della polizza familiare aggregata che copre l'autorizzazione per la risorsa di ricerca:

Caso d'uso Criteri IAM

La ricerca può essere nella tenancy

allow group <user_group> to read loganalytics-features-family in tenancy
Nota

Se Oracle Log Analytics è stato abilitato utilizzando l'interfaccia utente di inserimento disponibile quando si passa al servizio per la prima volta, alcuni criteri vengono già creati. Vedere Criteri creati durante l'inserimento di Log Analytics.

Autorizzazioni per l'utilizzo delle risorse di ricerca

In genere, solo gli amministratori dispongono delle autorizzazioni USE e MANAGE per creare o eliminare la ricerca. Se si desidera che i privilegi eseguano query di ricerca, è necessario disporre dell'autorizzazione READ.

Se si sta già utilizzando Log Explorer, SDK o CLI per eseguire le query, si dispone già delle autorizzazioni necessarie per eseguire i comandi di query searchlookup o lookup nelle ricerche esistenti definite da Oracle e create dall'utente.

Se si utilizza il principal dell'istanza per eseguire le query, fornire l'autorizzazione seguente se non è già stato fornito l'accesso loganalytics-features-family al gruppo dinamico:

Allow dynamic-group <dynamic-group-name> to {LOG_ANALYTICS_LOOKUP_READ} in tenancy

O

Allow dynamic-group <dynamic-group-name> to {LOG_ANALYTICS_LOOKUP_READ} in compartment <compartment_name>