

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
<a name="parser-processors"></a>

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

**Elaborazione condizionale non supportata**  
I processori parser (eccetto Grok e XML) non supportano l'elaborazione condizionale con il parametro. `when` Sono inclusi i parser OCSF, CSV, JSON, VPC, Route53 KeyValue, RDS, WAF, Postgres e Amazon. CloudFront Per ulteriori informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

## Processore OCSF
<a name="ocsf-processor"></a>

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`(obbligatorio)  
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 1.5.0.

`schema`(obbligatorio)  
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 sorgente 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
<a name="csv-processor"></a>

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 utilizzato per separare i campi CSV. Deve essere un singolo carattere. Il valore predefinito è una virgola (,).

`quote_character` (facoltativo)  
Carattere utilizzato per citare i campi CSV contenenti delimitatori. Deve essere un singolo carattere. L'impostazione predefinita sono le virgolette doppie («).

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

```
processor:
  - csv: {}
```

## Processore Grok
<a name="grok-processor"></a>

Analizza i dati non strutturati utilizzando i pattern Grok. È supportato al massimo 1 Grok per pipeline. Per informazioni dettagliate sul trasformatore Grok in CloudWatch Logs, consultate [ Processori utilizzabili ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html) 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 utilizzare questa configurazione:

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

`match`(obbligatorio)  
Mappatura dei campi con pattern Grok. È consentita una sola mappatura dei campi.

`match.<field>`(obbligatorio)  
Matrice con pattern Grok singolo. Massimo 512 caratteri per pattern.

`when` (facoltativo)  
Espressione condizionale che determina se questo processore è in esecuzione. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

**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
<a name="vpc-processor"></a>

Analizza i dati del VPC Flow Log in campi strutturati.

**Configurazione**  
Configura il processore VPC con i seguenti parametri:

```
processor:
  - parse_vpc: {}
```

## Processore JSON
<a name="json-processor"></a>

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 JSON analizzato. Se omesso, i campi analizzati vengono aggiunti al livello principale

## Processore Route 53
<a name="route53-processor"></a>

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

**Configurazione**  
Configura il processore Route 53 con i seguenti parametri:

```
processor:
  - parse_route53: {}
```

## Processore Amazon RDS
<a name="rds-processor"></a>

Analizza i dati di log di Amazon RDS Aurora in campi strutturati. Il `parse_rds` processore è supportato solo quando la 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
<a name="key-value-processor"></a>

Analizza i dati formattati per 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, utilizzare il comando seguente:

```
processor:
  - key_value: {}
```

## parser XML
<a name="xml-processor"></a>

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

**Configurazione**  
Configurate il parser XML con i seguenti parametri:

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

`source` (Obbligatorio)  
Specifica il campo che contiene la stringa XML da analizzare. Usa la notazione a punti per accedere ai campi annidati. Ad esempio, `event.body`. Massimo 128 caratteri.

`destination` (facoltativo).  
Specifica 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](conditional-processing.md).

**Esempio: output del parser XML**  
Dato il seguente evento di log 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  
L'XML non valido non rispetta la pipeline. Il parser conserva l'originale `@message` e imposta `@pipeline.processing.status = "error"` l'evento.