Normalize
Synopsis
Converts log field names between different normalization formats (ECS, CIM, ASIM, CEF, LEEF, CSL, OCSF, UDM).
Schema
- normalize:
source_format: <string>
target_format: <string>
field: <ident>
ignore_unmapped_fields: <boolean>
ignore_rules: <boolean>
use_json_parser: <boolean>
description: <text>
if: <script>
ignore_failure: <boolean>
on_failure: <processor[]>
on_success: <processor[]>
tag: <string>
Configuration
| Field | Required | Default | Description |
|---|---|---|---|
source_format | N | auto-detect | Source format (ecs, cim, asim, cef, leef, csl, ocsf, udm) |
target_format | Y | - | Target format to convert to |
field | N | - | Nested field containing the data to normalize |
ignore_unmapped_fields | N | false | Skip fields without mappings in the target format |
ignore_rules | N | false | Skip schema enforcement rules for the target format |
use_json_parser | N | false | Parse the source field as JSON before normalization |
description | N | - | Documentation note |
if | N | - | Conditional expression |
ignore_failure | N | false | Skip processing errors |
on_failure | N | - | Error handling processors |
on_success | N | - | Success handling processors |
tag | N | - | Identifier for logging |
Details
The processor automatically detects source formats when not specified and handles field name transformations while preserving values. Format detection is case-insensitive.
Supported Formats
| Format | Description |
|---|---|
ecs | Elastic Common Schema |
cim | Splunk Common Information Model |
asim | Microsoft Sentinel ASIM |
cef | Common Event Format |
leef | Log Event Extended Format |
csl | Common Schema Log |
ocsf | Open Cybersecurity Schema Framework |
udm | Google SecOps Unified Data Model |
Schema Enforcement
When converting to UDM or OCSF, the processor applies schema enforcement rules by default. These rules normalize timestamps to microseconds, validate event types, normalize security actions, and ensure field values conform to the target schema specification. Set ignore_rules: true to skip enforcement.
Field Mappings
The processor automatically detects the source format based on characteristic fields. Common mappings between formats:
| ECS | CIM | ASIM | UDM | |
|---|---|---|---|---|
| Network | ||||
source.ip | src | SrcIp | principal.ip | |
destination.ip | dest | DstIp | target.ip | |
network.direction | direction | NetworkDirection | network.direction | |
| Event | ||||
@timestamp | _time | TimeGenerated | metadata.event_timestamp | |
event.action | action | EventType | metadata.product_event_type | |
event.severity | severity | EventSeverity | security_result.severity | |
| User | ||||
source.user.name | user | ActorUsername | principal.user.userid | |
source.user.id | user_id | ActorUserId | principal.user.windows_sid | |
source.user.email | user_email | ActorUserEmail | principal.user.email_addresses |
See Appendix sections CIM and ECS for details.
Field mapping is non-reversible if the targeted format doesn't have equivalent fields. Test the conversions beforehand with sample data.
Examples
ECS to CIM
ECS fields... | |
are mapped to CIM fields: | |
CIM to ECS
CIM fields... | |
are mapped to ECS fields: | |
Auto-detection
Auto-detection discovers CIM... | |
and maps the fields to ASIM: | |
Error Handling
Handling conversion errors... | |
captures the error information: | |
ECS to UDM
ECS network event fields... | |
are mapped to Google SecOps UDM fields: | |