Parser processors - Amazon CloudWatch

Parser processors

Parser processors convert raw or semi-structured log data into structured formats. Each pipeline can have at most one parser processor, which must be the first processor in the pipeline.

OCSF processor

Parses and transforms log data according to Open Cybersecurity Schema Framework (OCSF) standards.

Configuration

Configure the OCSF processor with the following parameters:

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

The OCSF schema version to use for transformation. Must be 1.5

mapping_version (required)

The OCSF mapping version for transformation. Must be 1.5.0.

schema (required)

Schema object specifying the data source type. The supported schemas depend on the pipeline source type - each source type has its own set of compatible OCSF schemas. You must use a schema that matches your pipeline's source type.

This table lists the supported schema combinations.

Pipeline Source Type Supported Schemas Version Mapping Version
cloudwatch_logs cloud_trail: 1.5 Not required
cloudwatch_logs route53_resolver: 1.5 Not required
cloudwatch_logs vpc_flow: 1.5 Not required
cloudwatch_logs eks_audit: 1.5 Not required
cloudwatch_logs aws_waf: 1.5 Not required
s3 Any OCSF schema Any Any
microsoft_office365 microsoft_office365_management_activity: 1.5 1.5.0
microsoft_entra_id microsoft_entra_id: 1.5 1.5.0
microsoft_windows_event microsoft_windows_event: 1.5 1.5.0
palo_alto_ngfw palo_alto_ngfw: 1.5 1.5.0

CSV processor

Parses CSV formatted data into structured fields.

Configuration

Configure the CSV processor with the following parameters:

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

Array of column names for parsed fields. Maximum 100 columns, each name up to 128 characters.

delimiter (optional)

Character used to separate CSV fields. Must be a single character. Defaults to comma (,).

quote_character (optional)

Character used to quote CSV fields containing delimiters. Must be a single character. Defaults to double quote (").

Grok processor

Parses unstructured data using Grok patterns. At most 1 Grok is supported per pipeline. For details on the Grok transformer in CloudWatch Logs see Processors that you can use in the CloudWatch Logs User Guide.

Configuration

Configure the Grok processor with the following parameters:

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

Field mapping with Grok patterns. Only one field mapping allowed.

match.<field> (required)

Array with single Grok pattern. Maximum 512 characters per pattern.

VPC processor

Parses VPC Flow Log data into structured fields.

Configuration

Configure the VPC processor with the following parameters:

processor: - parse_vpc: {}

JSON processor

Parses JSON data into structured fields.

Configuration

Configure the JSON processor with the following parameters:

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

The field containing the JSON data to parse. If omitted, the entire log message is processed

destination (optional)

The field where the parsed JSON will be stored. If omitted, parsed fields are added to the root level

Route 53 processor

Parses Route 53 resolver log data into structured fields.

Configuration

Configure the Route 53 processor with the following parameters:

processor: - parse_route53: {}

Key-value processor

Parses key-value pair formatted data into structured fields.

Configuration

Configure the key-value processor with the following parameters:

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

Field containing key-value data. Maximum 128 characters.

destination (optional)

Target field for parsed key-value pairs. Maximum 128 characters.

field_delimiter (optional)

Pattern to split key-value pairs. Maximum 10 characters.

key_value_delimiter (optional)

Pattern to split keys from values. Maximum 10 characters.

overwrite_if_destination_exists (optional)

Whether to overwrite existing destination field.

prefix (optional)

Prefix to add to extracted keys. Maximum 128 characters.

non_match_value (optional)

Value for keys without matches. Maximum 128 characters.