Normalize
Synopsis
Converts log field names between different normalization formats (ECS, CIM, ASIM, CEF, LEEF, CSL, OCSF, UDM, GELF).
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, gelf) |
target_format | Y | - | Target format (ecs, cim, asim, cef, leef, csl, ocsf, udm, gelf) |
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 | Microsoft Sentinel CommonSecurityLog |
ocsf | Open Cybersecurity Schema Framework |
udm | Google SecOps Unified Data Model |
gelf | Graylog Extended Log Format |
Schema Enforcement
When converting to UDM, OCSF or GELF, 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 the Appendix sections ECS, CIM, ASIM, CEF, LEEF, CSL, OCSF, UDM and GELF for the full field mappings.
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: | |