View a markdown version of this page

cercare - CloudWatch Registri Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

cercare

lookupDa utilizzare per arricchire i risultati della query con i dati di riferimento di una tabella di ricerca. Una tabella di ricerca contiene dati CSV che carichi su Amazon CloudWatch Logs. Quando viene eseguita una query, il lookup comando confronta un campo nei tuoi eventi di registro con un campo nella tabella di ricerca e aggiunge i campi di output specificati ai risultati.

Utilizza le tabelle di ricerca per scenari di arricchimento dei dati, ad esempio la mappatura dei dettagli IDs da utente a utente, dei codici prodotto alle informazioni sul prodotto o dei codici di errore alle descrizioni degli errori.

Creazione e gestione di tabelle di ricerca

Prima di poter utilizzare il lookup comando in una query, è necessario creare una tabella di ricerca. Puoi creare e gestire tabelle di ricerca dalla CloudWatch console o utilizzando l'API Amazon CloudWatch Logs.

Per creare una tabella di ricerca (console)

  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel riquadro di navigazione, scegli Impostazioni, quindi scegli la scheda Registri.

  3. Scorri fino alle tabelle di ricerca e scegli Gestisci.

  4. Scegli Crea tabella di ricerca.

  5. Inserisci un nome per la tabella di ricerca. Il nome può contenere solo caratteri alfanumerici, trattini e caratteri di sottolineatura.

  6. (Opzionale) Immettere una descrizione.

  7. Carica un file CSV. Il file deve includere una riga di intestazione con i nomi delle colonne, utilizzare la codifica UTF-8 e non superare i 10 MB.

  8. (Facoltativo) Specificate una AWS KMS chiave per crittografare i dati della tabella.

  9. Scegli Create (Crea).

Dopo aver creato una tabella di ricerca, è possibile visualizzarla nell'editor di query di CloudWatch Logs Insights. Scegli la scheda Tabelle di ricerca per sfogliare le tabelle disponibili e i relativi campi.

Per aggiornare una tabella di ricerca, seleziona la tabella e scegli Azioni, Aggiorna. Carica un nuovo file CSV per sostituire tutto il contenuto esistente. Per eliminare una tabella di ricerca, scegli Azioni, Elimina.

Nota

È possibile creare fino a 100 tabelle di ricerca per account. Regione AWS I file CSV possono pesare fino a 10 MB. Puoi anche gestire le tabelle di ricerca utilizzando l'API Amazon CloudWatch Logs. Per ulteriori informazioni, CreateLookupTableconsulta Amazon CloudWatch Logs API Reference.

Nota

Se la tabella di ricerca è crittografata con una chiave KMS, il chiamante deve disporre dell'kms:Decryptautorizzazione sulla chiave (la chiave KMS utilizzata per crittografare la tabella di ricerca) per utilizzare l'StartQueryAPI con una query che faccia riferimento a tale tabella di ricerca. Per ulteriori informazioni, consulta Crittografa le tabelle di ricerca nei CloudWatch registri utilizzando AWS Key Management Service.

Sintassi delle query per la ricerca

Struttura di comando

Di seguito viene illustrato il formato di questo comando.

lookup table lookup-field as log-field [,...] output-mode output-field[,...]

Il comando utilizza i seguenti argomenti:

  • table— Il nome della tabella di ricerca da utilizzare.

  • lookup-field— Il campo nella tabella di ricerca con cui confrontare.

  • log-field— Il campo del registro degli eventi da abbinare. La corrispondenza è esatta e fa distinzione tra maiuscole e minuscole.

  • lookup-field as log-field [,...]— È possibile specificare più coppie di campi di confronto separate da virgole. Quando vengono specificate più coppie, una riga nella tabella di ricerca deve corrispondere a tutti i campi per produrre un risultato (logica AND).

  • output-mode— Speciifica in che modo i campi di output vengono aggiunti ai risultati. Utilizzare una delle seguenti operazioni:

    • OUTPUT— Aggiunge i campi di output ai risultati. Se nell'evento di registro esiste già un campo con lo stesso nome, viene sovrascritto con il valore della tabella di ricerca. Se non viene trovata alcuna corrispondenza, il campo viene impostato su null.

    • OUTPUTNEW— Aggiunge i campi di output ai risultati solo se il campo non esiste già nell'evento di registro. Se il campo ha già un valore, viene mantenuto il valore originale. Se non viene trovata alcuna corrispondenza, il campo rimane invariato.

  • output-field— Uno o più campi della tabella di ricerca da aggiungere ai risultati.

Esempio: arricchire gli eventi del registro con i dettagli dell'utente

Supponiamo di avere un gruppo di log con eventi che contengono un id campo e una tabella di ricerca denominata user_data con colonneid,name, email e. department La seguente query arricchisce ogni evento di registro con il nome, l'e-mail e il reparto dell'utente presenti nella tabella di ricerca.

fields action, status, name, email, department | lookup user_data id OUTPUT name, email, department
Esempio: utilizzare la ricerca con l'aggregazione

È possibile utilizzare i campi di output di ricerca con funzioni di aggregazione. La seguente query arricchisce gli eventi di registro con i dettagli dell'utente e quindi conta gli eventi raggruppati per indirizzo e-mail.

fields user_id, action, username, email, department | lookup user_data user_id OUTPUT username, email, department | stats count(*) by email
Esempio: utilizzare la ricerca con filtro

È possibile filtrare i risultati in base ai campi restituiti dalla ricerca. La seguente query arricchisce gli eventi di registro e quindi filtra per mostrare solo gli eventi di un reparto specifico.

fields user_id, action | lookup user_data user_id OUTPUT username, email, department | filter department = "Engineering"
Esempio: utilizzare OUTPUTNEW per arricchire senza sovrascrivere

Se i tuoi eventi di registro contengono già un hostname campo ma a volte è vuoto, usalo OUTPUTNEW per inserire i valori mancanti senza sovrascrivere quelli esistenti.

fields srcAddr, hostname | lookup known_hosts ip_address as srcAddr OUTPUTNEW hostname, region
Esempio: utilizza la ricerca con più campi di confronto

È possibile eseguire la corrispondenza su più di un campo. La seguente query confronta entrambi srcAddr e dstPort con la tabella di ricerca per identificare i servizi di rete noti.

fields @timestamp, srcAddr, dstAddr, dstPort | lookup network_services ip_address as srcAddr, port as dstPort OUTPUT service_name, owner | filter ispresent(service_name)