View a markdown version of this page

Processori parser - Amazon CloudWatch

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à.

Processori parser

I processori parser convertono i dati di registro grezzi o semistrutturati in formati strutturati. Ogni pipeline può avere al massimo un parser processor primario, che deve essere il primo processore della pipeline. Il parser XML è un'eccezione: opera su campi prodotti da un parser primario ed è possibile aggiungere al massimo 5 istanze a una singola pipeline.

L'elaborazione condizionale non è supportata

I processori parser (eccetto Grok e XML) non supportano l'elaborazione condizionale con il parametro. when Ciò include i parser OCSF, CSV, JSON, KeyValue VPC, Route53, RDS, WAF, Postgres e Amazon. CloudFront Per ulteriori informazioni, consulta Sintassi delle espressioni per l'elaborazione condizionale.

Processore OCSF

Analizza e trasforma i dati di registro secondo gli standard Open Cybersecurity Schema Framework (OCSF).

Configurazione

Configura il processore OCSF con i seguenti parametri:

processor: - ocsf: version: "1.5" mapping_version: 1.5.0 schema: microsoft_office365_management_activity:
Parameters
version(richiesto)

La versione dello schema OCSF da utilizzare per la trasformazione. Deve essere 1.5

mapping_version(richiesto)

La versione di mappatura OCSF per la trasformazione. Deve essere la 1.5.0.

schema(richiesto)

Oggetto dello schema che specifica il tipo di origine dati. Gli schemi supportati dipendono dal tipo di origine della pipeline: ogni tipo di origine ha il proprio set di schemi OCSF compatibili. È necessario utilizzare uno schema che corrisponda al tipo di origine della pipeline.

Questa tabella elenca le combinazioni di schemi supportate.

Tipo di origine della pipeline Schemi supportati Versione Versione di mappatura
cloudwatch_logs cloud_trail: 1.5 Campo non obbligatorio
cloudwatch_logs route53_resolver: 1.5 Campo non obbligatorio
cloudwatch_logs vpc_flow: 1.5 Campo non obbligatorio
cloudwatch_logs eks_audit: 1.5 Campo non obbligatorio
cloudwatch_logs aws_waf: 1.5 Campo non obbligatorio
cloudwatch_logs aws_nlb: 1.5 Campo non obbligatorio
s3 Qualsiasi schema OCSF Qualsiasi Qualsiasi
microsoft_office365 microsoft_office365: 1.5 1.5.0
microsoft_entraid microsoft_entraid: 1.5 1.5.0
microsoft_windows_event microsoft_windows_event: 1.5 1.5.0
paloaltonetworks_nextgenerationfirewall paloaltonetworks_nextgenerationfirewall: 1.5 1.5.0
okta_auth0 okta_auth0: 1.5 1.5.0
okta_sso okta_sso: 1.5 1.5.0
crowdstrike_falcon crowdstrike_falcon: 1.5 1.5.0
github_auditlogs github_auditlogs: 1.5 1.5.0
sentinelone_endpointsecurity sentinelone_endpointsecurity: 1.5 1.5.0
servicenow_cmdb servicenow_cmdb: 1.5 1.5.0
wiz_cnapp wiz_cnapp: 1.5 1.5.0
zscaler_internetaccess zscaler_internetaccess: 1.5 1.5.0

Processore CSV

Analizza i dati in formato CSV in campi strutturati.

Configurazione

Configura il processore CSV con i seguenti parametri:

processor: - csv: column_names: ["col1", "col2", "col3"] delimiter: "," quote_character: '"'
Parameters
column_names (facoltativo)

Matrice di nomi di colonne per i campi analizzati. Massimo 100 colonne, ogni nome può contenere fino a 128 caratteri. Se non viene fornito, il valore predefinito è column_1, column_2 e così via.

delimiter (facoltativo)

Carattere usato per separare i campi CSV. Deve essere un carattere singolo. Il valore predefinito è la virgola (,).

quote_character (facoltativo)

Carattere usato per citare campi CSV contenenti delimitatori. Deve essere un carattere singolo. Il valore predefinito è tra virgolette doppie («).

Per utilizzare il processore senza specificare parametri aggiuntivi, utilizzate il seguente comando:

processor: - csv: {}

Processore Grok

Analizza i dati non strutturati utilizzando i modelli Grok. È supportato al massimo 1 Grok per pipeline. Per i dettagli sul trasformatore Grok in CloudWatch Logs, consulta Processori che puoi usare nella Logs User Guide. CloudWatch

Configurazione

Configura il processore Grok con i seguenti parametri:

Quando l'origine dati è un dizionario, puoi usare questa configurazione:

processor: - grok: match: source_key: ["%{WORD:level} %{GREEDYDATA:msg}"]

Quando l'origine dati è CloudWatch Logs, puoi usare questa configurazione:

processor: - grok: match: source_key: ["%{WORD:level} %{GREEDYDATA:msg}"]
Parameters
match(richiesto)

Mappatura dei campi con modelli Grok. È consentita una sola mappatura dei campi.

match.<field>(richiesto)

Array con pattern Grok singolo. Massimo 512 caratteri per pattern.

when (facoltativo)

Espressione condizionale che determina se questo processore viene eseguito. La lunghezza massima è 256 caratteri. Per informazioni, consulta Sintassi delle espressioni per l'elaborazione condizionale.

Importante

Se il processore Grok viene utilizzato come parser (primo processore) in una pipeline e la sua when condizione risulta falsa, l'intera pipeline non viene eseguita per quell'evento di registro. I parser devono essere eseguiti affinché i processori a valle ricevano dati strutturati.

Processore VPC

Analizza i dati del VPC Flow Log in campi strutturati.

Configurazione

Configura il processore VPC con i seguenti parametri:

processor: - parse_vpc: {}

Processore JSON

Analizza i dati JSON in campi strutturati.

Configurazione

Configura il processore JSON con i seguenti parametri:

processor: - parse_json: source: "message" destination: "parsed_json"
Parameters
source (facoltativo)

Il campo contenente i dati JSON da analizzare. Se omesso, viene elaborato l'intero messaggio di registro

destination (facoltativo)

Il campo in cui verrà archiviato il codice JSON analizzato. Se omesso, i campi analizzati vengono aggiunti al livello principale

Processore Route 53

Analizza i dati del registro del resolver Route 53 in campi strutturati.

Configurazione

Configura il processore Route 53 con i seguenti parametri:

processor: - parse_route53: {}

Processore Amazon RDS

Analizza i dati di log di Amazon RDS Aurora in campi strutturati. Il parse_rds processore è supportato solo quando quello della pipeline lo è. data_source_name amazon_rds Applica la logica di analisi che corrisponde a quella della pipeline. data_source_type

Configurazione

Configura il processore Amazon RDS con i seguenti parametri:

processor: - parse_rds: {}

Key-value processore

Analizza i dati formattati con coppie chiave-valore in campi strutturati.

Configurazione

Configura il processore chiave-valore con i seguenti parametri:

processor: - key_value: source: "message" destination: "parsed_kv" field_delimiter: "&" key_value_delimiter: "="
Parameters
source (facoltativo)

Campo contenente dati chiave-valore. Massimo 128 caratteri.

destination (facoltativo)

Campo di destinazione per coppie chiave-valore analizzate. Massimo 128 caratteri.

field_delimiter (facoltativo)

Schema per dividere coppie chiave-valore. Massimo 10 caratteri.

key_value_delimiter (facoltativo)

Schema per dividere le chiavi dai valori. Massimo 10 caratteri.

overwrite_if_destination_exists (facoltativo)

Se sovrascrivere il campo di destinazione esistente.

prefix (facoltativo)

Prefisso da aggiungere alle chiavi estratte. Massimo 128 caratteri.

non_match_value (facoltativo)

Valore per le chiavi senza corrispondenze. Massimo 128 caratteri.

Per utilizzare il processore senza specificare parametri aggiuntivi, utilizzate il seguente comando:

processor: - key_value: {}

parser XML

Utilizzate il parser XML per convertire un campo specificato che contiene una stringa XML in formato JSON. Utilizzate il parser XML quando gli eventi di registro contengono campi XML incorporati che desiderate interrogare come dati strutturati. Il parser XML funziona su un campo denominato che contiene già una stringa XML. Posiziona questo parser dopo un parser primario nella pipeline. È possibile aggiungere al massimo 5 parse_xml parser a una singola pipeline.

Configurazione

Configura il parser XML con i seguenti parametri:

processor: - parse_json: source: "@message" - parse_xml: source: "body" destination: "parsed_xml"
Parameters
source (Obbligatorio)

Speciifica il campo che contiene la stringa XML da analizzare. Utilizza la notazione a punti per accedere ai campi annidati. Ad esempio, event.body. Massimo 128 caratteri.

destination (facoltativo).

Speciifica il campo in cui è archiviata la struttura XML analizzata. Se si omette questo parametro, i campi analizzati vengono aggiunti al livello principale. Massimo 128 caratteri.

when (facoltativo).

Un'espressione condizionale che determina se questo parser viene eseguito. La lunghezza massima è 256 caratteri. Per ulteriori informazioni, consulta Sintassi delle espressioni per l'elaborazione condizionale.

Esempio: output del parser XML

Dato il seguente evento di registro JSON con un campo XML incorporato:

{ "body": "<Person id=\"123\" active=\"true\"><name>John</name><age>30</age></Person>" }

Con la seguente configurazione:

processor: - parse_json: source: "@message" - parse_xml: source: "body" destination: "parsed_xml"

Il parser XML produce il seguente output:

{ "body": "<Person id=\"123\" active=\"true\"><name>John</name><age>30</age></Person>", "parsed_xml": { "id": "123", "active": "true", "name": "John", "age": "30" } }
Note sul comportamento
Profondità di nidificazione

Il parser XML supporta una profondità di nidificazione massima di 25 livelli. Gli elementi annidati oltre questo limite generano un errore.

Gestione degli errori

Un codice XML non valido non causa errori nella pipeline. Il parser conserva l'originale @message e imposta @pipeline.processing.status = "error" l'evento.