

# Procesadores analizadores
<a name="parser-processors"></a>

Los procesadores analizadores convierten los datos de registro sin procesar o semiestructurados en formatos estructurados. Cada canalización puede tener como máximo un procesador analizador, que debe ser el primer procesador de la canalización.

**No se admite el procesamiento condicional**  
Los procesadores de análisis (excepto Grok) no admiten el procesamiento condicional con el parámetro `when`. Esto incluye los analizadores OCSF, CSV, JSON, KeyValue, VPC, Route53, WAF, Postgres y CloudFront. Para obtener más información, consulte [Sintaxis de expresiones para el procesamiento condicional](conditional-processing.md).

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

Analiza y transforma los datos de registro de acuerdo con los estándares del Marco de esquema de ciberseguridad abierto (OCSF).

**Configuración**  
Configure el procesador de OCSF con los siguientes parámetros:

```
processor:
  - ocsf:
      version: "1.5"
      mapping_version: 1.5.0
      schema:
          microsoft_office365_management_activity:
```Parameters

`version` (obligatorio)  
Versión del esquema de OCSF que se utilizará para la transformación. Debe ser 1.5.

`mapping_version` (obligatorio)  
Versión de la asignación de OCSF para la transformación. Debe ser 1.5.0.

`schema` (obligatorio)  
Objeto de esquema que especifica el tipo de origen de datos. Los esquemas admitidos dependen del tipo de origen de la canalización: cada tipo de origen tiene su propio conjunto de esquemas de OCSF compatibles. Debe usar un esquema que coincida con el tipo de origen de la canalización.

En esta tabla se muestran las combinaciones de esquemas admitidas.


| Tipo de origen de la canalización | Esquemas admitidos | Versión | Versión de la asignación | 
| --- | --- | --- | --- | 
| cloudwatch\$1logs | cloud\$1trail: | 1.5 | No obligatorio | 
| cloudwatch\$1logs | route53\$1resolver: | 1.5 | No obligatorio | 
| cloudwatch\$1logs | vpc\$1flow: | 1.5 | No obligatorio | 
| cloudwatch\$1logs | eks\$1audit: | 1.5 | No obligatorio | 
| cloudwatch\$1logs | aws\$1waf: | 1.5 | No obligatorio | 
| s3 | Cualquier esquema de OCSF | Cualquiera | Cualquiera | 
| microsoft\$1office365 | microsoft\$1office365: | 1.5 | 1.5.0 | 
| microsoft\$1entraid | microsoft\$1entraid: | 1.5 | 1.5.0 | 
| microsoft\$1windows\$1event | microsoft\$1windows\$1event: | 1.5 | 1.5.0 | 
| paloaltonetworks\$1nextgenerationfirewall | paloaltonetworks\$1nextgenerationfirewall: | 1.5 | 1.5.0 | 
| okta\$1auth0 | okta\$1auth0: | 1.5 | 1.5.0 | 
| okta\$1sso | okta\$1sso: | 1.5 | 1.5.0 | 
| crowdstrike\$1falcon | crowdstrike\$1falcon: | 1.5 | 1.5.0 | 
| github\$1auditlogs | github\$1auditlogs: | 1.5 | 1.5.0 | 
| sentinelone\$1endpointsecurity | sentinelone\$1endpointsecurity: | 1.5 | 1.5.0 | 
| servicenow\$1cmdb | servicenow\$1cmdb: | 1.5 | 1.5.0 | 
| wiz\$1cnapp | wiz\$1cnapp: | 1.5 | 1.5.0 | 
| zscaler\$1internetaccess | zscaler\$1internetaccess: | 1.5 | 1.5.0 | 

## Procesador de CSV
<a name="csv-processor"></a>

Analiza los datos con formato CSV en campos estructurados.

**Configuración**  
Configure el procesador de CSV con los siguientes parámetros:

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

`column_names` (opcional)  
Matriz de nombres de columna para los campos analizados. Máximo de 100 columnas, cada nombre con un máximo de 128 caracteres. Si no se proporciona, el valor predeterminado es column\$11, column\$12, etc.

`delimiter` (opcional)  
Carácter utilizado para separar los campos de CSV. Debe ser un solo carácter. El valor predeterminado es coma (,).

`quote_character` (opcional)  
Carácter utilizado para citar los campos de CSV que contienen delimitadores. Debe ser un solo carácter. El valor predeterminado es comillas (").

Para utilizar el procesador sin especificar ningún parámetro adicional, utilice el siguiente comando:

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

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

Analiza datos no estructurados mediante patrones de Grok. Se admite como máximo 1 Grok por canalización. Para obtener más información sobre el transformador de Grok en Registros de CloudWatch, consulte [Procesadores que puede usar](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html) en la *Guía del usuario de Registros de CloudWatch*.

**Configuración**  
Configure el procesador de Grok con los siguientes parámetros:

Cuando el origen de datos es un diccionario, puede usar esta configuración:

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

Cuando el origen de datos es Registros de CloudWatch, puede usar esta configuración:

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

`match` (obligatorio)  
Asignación de campos con patrones de Grok. Solo se permite una asignación de campos.

`match.<field>` (obligatorio)  
Matriz con un solo patrón de Grok. Máximo de 512 caracteres por patrón.

`when` (opcional)  
Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte [Sintaxis de expresiones para el procesamiento condicional](conditional-processing.md).

**importante**  
Si el procesador Grok se utiliza como analizador (primer procesador) en una canalización y su condición `when` se evalúa como falsa, la canalización completa no se pone en marcha para ese evento de registro. Los analizadores deben ponerse en marcha para que los procesadores posteriores reciban datos estructurados.

## Procesador de VPC
<a name="vpc-processor"></a>

Analiza los datos del registro de flujo de VPC en campos estructurados.

**Configuración**  
Configure el procesador de VPC con los siguientes parámetros:

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

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

Analiza los datos de JSON en campos estructurados.

**Configuración**  
Configure el procesador de JSON con los siguientes parámetros:

```
processor:
  - parse_json:
      source: "message"
      destination: "parsed_json"
```Parameters

`source` (opcional)  
Campo que contiene los datos de JSON que se van a analizar. Si se omite, se procesa todo el mensaje de registro.

`destination` (opcional)  
Campo en el que se almacenará el JSON analizado. Si se omite, los campos analizados se agregan al nivel raíz.

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

Analiza los datos de registro de Route 53 Resolver en campos estructurados.

**Configuración**  
Configure el procesador de Route 53 con los siguientes parámetros:

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

## Procesador de clave-valor
<a name="key-value-processor"></a>

Analiza los datos con formato de pares clave-valor en campos estructurados.

**Configuración**  
Configure el procesador de clave-valor con los siguientes parámetros:

```
processor:
  - key_value:
      source: "message"
      destination: "parsed_kv"
      field_delimiter: "&"
      key_value_delimiter: "="
```Parameters

`source` (opcional)  
Campo que contiene datos con el formato clave-valor. 128 caracteres como máximo.

`destination` (opcional)  
Campo de destino para los pares clave-valor analizados. 128 caracteres como máximo.

`field_delimiter` (opcional)  
Patrón para dividir pares clave-valor. 10 caracteres como máximo.

`key_value_delimiter` (opcional)  
Patrón para separar las claves de los valores. 10 caracteres como máximo.

`overwrite_if_destination_exists` (opcional)  
Si se debe sobrescribir el campo de destino existente.

`prefix` (opcional)  
Prefijo que se agregará a las claves extraídas. 128 caracteres como máximo.

`non_match_value` (opcional)  
Valor para claves sin coincidencias. 128 caracteres como máximo.

Para utilizar el procesador sin especificar ningún parámetro adicional, utilice el siguiente comando:

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