Utilizzo dei modelli di filtro per associare termini nei log eventi - 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à.

Utilizzo dei modelli di filtro per associare termini nei log eventi

Usa i modelli di filtro JSON quando i log sono strutturati in formato JSON. Questi modelli consentono di indirizzare campi e valori specifici all'interno degli oggetti JSON, rendendoli ideali per:

  • Log delle applicazioni: individua tipi di eventi IDs, utenti o codici di errore specifici

  • AWS registri di servizio: Filter CloudTrail, VPC Flow Logs o altri log strutturati AWS

  • Microservizi: monitora le applicazioni containerizzate che generano dati JSON strutturati

Ad esempio, utilizzali per { $.eventType = "UpdateTrail" } trovare CloudTrail eventi specifici o per identificare il traffico proveniente da { $.sourceIPAddress != 123.123.* } intervalli IP imprevisti.

Espandi le sezioni seguenti e sfoglia le schede per vedere esempi che mostrano come creare modelli di filtro JSON per scenari di monitoraggio comuni, dai modelli di base a condizione singola alle espressioni composte complesse.

Gli esempi seguenti mostrano come utilizzare i modelli di filtro con gli eventi di registro JSON in scenari comuni di monitoraggio e risoluzione dei problemi. Ogni esempio include la sintassi del pattern di filtro e i casi d'uso pratici in cui applicarlo.

Questi modelli funzionano con qualsiasi registro in formato JSON proveniente da applicazioni, AWS servizi, contenitori o sistemi personalizzati. Puoi usarli con filtri metrici per creare CloudWatch metriche, filtri di abbonamento per indirizzare i log verso altri servizi o Live Tail per monitorare i log in tempo reale.

Nota

Se testi il modello di filtro di esempio con il log eventi JSON di esempio, devi inserire il log JSON di esempio su una singola riga.

Esempio di evento di registro JSON per il test:

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ { "name": "a", "id": 1 }, { "name": "b", "id": 2 } ], "SomeObject": null, "cluster.name": "c" }
Monitor application events by type

Tieni traccia di tipi di eventi specifici nei log delle applicazioni JSON per monitorare il comportamento del sistema.

Schema di filtro:

{ $.eventType = "UpdateTrail" }

Casi d'uso:

  • Monitoraggio delle applicazioni: monitora le azioni specifiche dell'utente o gli eventi di sistema

  • Analisi aziendale: conta le occorrenze di particolari tipi di eventi

  • Risoluzione dei problemi: concentrati su operazioni specifiche durante l'analisi dei problemi

Questo modello funziona con qualsiasi registro JSON contenente un campo EventType, ad esempio:

  • Registri delle applicazioni: {"eventType": "UserLogin", "userId": "123"}

  • Registri di sistema: {"eventType": "ConfigUpdate", "component": "database"}

  • Registri API: {"eventType": "UpdateTrail", "source": "cloudtrail"}

Block suspicious IP addresses

Identifica il traffico che non corrisponde ai modelli di indirizzi IP previsti per il monitoraggio della sicurezza.

Schema di filtro:

{ $.sourceIPAddress != 123.123.* }

Casi d'uso:

  • Monitoraggio della sicurezza: trova le richieste provenienti da intervalli IP imprevisti

  • Controllo degli accessi: monitora il traffico esterno alla rete aziendale

  • Rilevamento delle minacce: identifica potenziali tentativi di accesso non autorizzati

Track specific application events

Monitora valori specifici negli array JSON per tenere traccia del comportamento delle applicazioni e delle azioni degli utenti.

Schema di filtro:

{ $.arrayKey[0] = "value" }

Casi d'uso:

  • Monitoraggio del comportamento degli utenti: monitora le azioni specifiche degli utenti nei registri delle applicazioni

  • Utilizzo delle funzionalità: monitora quando vengono utilizzate funzionalità specifiche dell'applicazione

  • Analisi degli errori: trova i log con categorie di errore specifiche negli array

Find events using pattern matching

Usa i modelli regex per trovare eventi con una corrispondenza flessibile per i valori dei campi.

Schema di filtro:

{ $.eventType = %Trail% }

Casi d'uso:

  • Monitoraggio flessibile degli eventi: trova tutti gli eventi contenenti modelli di testo specifici

  • Monitoraggio delle API: monitora le famiglie di API senza specificare nomi esatti

  • Analisi dei log: cerca le corrispondenze parziali nei nomi o nelle descrizioni degli eventi

Monitor application data with wildcards

Usa i caratteri jolly e le espressioni regolari per trovare modelli specifici in qualsiasi elemento dell'array.

Schema di filtro:

{ $.arrayKey[*] = %val.{2}% }

Casi d'uso:

  • Convalida dei dati: trova gli array contenenti valori che corrispondono a modelli specifici

  • Filtraggio dei contenuti: monitora i contenuti generati dagli utenti per modelli specifici

  • Garanzia di qualità: monitora la conformità del formato dei dati nei registri delle applicazioni

Track network traffic patterns

Monitora gli indirizzi IP all'interno di intervalli specifici utilizzando schemi regex e caratteri jolly.

Schema di filtro:

{ $.* = %111\.111\.111\.1[0-9]{1,2}% }

Casi d'uso:

  • Monitoraggio della rete: traccia il traffico proveniente da sottoreti IP specifiche

  • Analisi della sicurezza: monitora l'accesso da particolari intervalli di rete

  • Bilanciamento del carico: analizza la distribuzione del traffico tra intervalli IP

Nota

Quote

È possibile utilizzare un solo selettore di caratteri jolly in un selettore di proprietà.

Handle JSON properties with special characters

Accedi alle proprietà JSON che contengono punti o altri caratteri speciali nei loro nomi.

Schema di filtro:

{ $.['cluster.name'] = "c" }

Casi d'uso:

  • Monitoraggio Kubernetes: tieni traccia dei nomi dei cluster nei log dei container

  • Monitoraggio della configurazione: monitora le impostazioni con nomi di proprietà punteggiati

  • Integrazione con terze parti: gestione dei log dei sistemi utilizzando convenzioni di denominazione speciali

Find null or missing values

Monitora i dati mancanti o i valori nulli che potrebbero indicare problemi di applicazione.

Schema di filtro:

{ $.SomeObject IS NULL }

Casi d'uso:

  • Monitoraggio della qualità dei dati: trova i record con campi obbligatori mancanti

  • Debug delle applicazioni: monitora quando i dati previsti non sono presenti

  • Rilevamento degli errori: monitora le risposte API o le interrogazioni incomplete del database

Detect missing configuration fields

Trova i log in cui mancano completamente i campi previsti, il che può indicare problemi di configurazione.

Schema di filtro:

{ $.SomeOtherObject NOT EXISTS }

Casi d'uso:

  • Convalida della configurazione: assicurati che tutti i campi obbligatori siano presenti nei log

  • Monitoraggio delle API: monitora le richieste o le risposte incomplete

  • Monitoraggio della pipeline di dati: trova i record mancanti nei campi dello schema previsti

Nota

Le variabili IS NOT e EXISTS al momento non sono supportate.

Utilizzate le espressioni composte quando è necessario combinare più condizioni utilizzando gli operatori logici AND («&&») e OR («||»). Questi modelli consentono di creare regole di monitoraggio sofisticate che richiedono il rispetto di più criteri o l'attivazione di una qualsiasi delle diverse condizioni.

Le espressioni composte supportano le parentesi («()») e seguono l'ordine standard delle operazioni: () > && > ||. Utilizzate questi modelli quando i semplici filtri a condizione singola non sono sufficienti per le vostre esigenze di monitoraggio.

Esempio di evento di registro JSON per il test:

{ "user": { "id": 1, "email": "John.Stiles@example.com" }, "users": [ { "id": 2, "email": "John.Doe@example.com" }, { "id": 3, "email": "Jane.Doe@example.com" } ], "actions": [ "GET", "PUT", "DELETE" ], "coordinates": [ [0, 1, 2], [4, 5, 6], [7, 8, 9] ] }
Monitor specific user actions

Tieni traccia di quando utenti specifici eseguono azioni particolari combinando l'identificazione degli utenti con il monitoraggio delle azioni.

Schema di filtro:

{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }

Casi d'uso:

  • Controllo della sicurezza: monitora quando utenti amministratori specifici accedono a risorse riservate

  • Monitoraggio della conformità: assicurati che determinati utenti eseguano solo azioni approvate

  • Analisi del comportamento degli utenti: monitora le correlazioni tra gli attributi e le azioni degli utenti

Alert on any suspicious activity

Crea un monitoraggio ampio che si attiva quando si verifica una delle diverse condizioni preoccupanti.

Schema di filtro:

{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch" && $.actions[2] = "nonmatch" }

Casi d'uso:

  • Monitoraggio della sicurezza: avvisa quando utenti specifici sono attivi OPPURE quando si verificano modelli di dati insoliti

  • Integrità del sistema: monitora le diverse condizioni di errore

  • Avvisi flessibili: crea regole generiche per vari scenari preoccupanti

Require multiple conditions for alerts

Riduci i falsi positivi richiedendo il rispetto di più condizioni specifiche prima di attivare gli avvisi.

Schema di filtro:

{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }

Casi d'uso:

  • Avvisi ad alta affidabilità: avvisa solo quando più indicatori sospetti si allineano

  • Regole aziendali complesse: monitora gli scenari che richiedono più criteri

  • Riduzione del rumore: evita gli avvisi provenienti da singoli eventi isolati

Nota

Quote

È possibile utilizzare un solo selettore di caratteri jolly in un selettore di proprietà e fino a tre selettori di caratteri jolly in un modello di filtro con espressioni composte.

Monitor failed correlation attempts

Tieni traccia di quando le relazioni previste tra i campi di dati non corrispondono, il che può indicare problemi di qualità dei dati.

Schema di filtro:

{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }

Casi d'uso:

  • Convalida dei dati: trova i record in cui i campi correlati non corrispondono ai modelli previsti

  • Integrità del sistema: monitora eventuali problemi di danneggiamento o sincronizzazione dei dati

  • Garanzia di qualità: monitora quando le relazioni tra i dati si interrompono