5.1 Creating and Using Field Aliases
Key Takeaways
- A field alias is a search-time knowledge object that assigns an alternate, normalized name to an existing extracted or default field without modifying the original data on disk.
- Field aliasing retains the original field; both the original field name and the alias coexist simultaneously in search results and can be queried interchangeably in SPL.
- Multiple aliases can be assigned to a single original field (one-to-many), and multiple different source fields across various sourcetypes can map to the same standardized alias name (many-to-one).
- Field aliases are configured in Splunk Web under Settings > Fields > Field aliases or on the filesystem in props.conf using the FIELDALIAS-<class> directive.
- Field aliases serve as the primary foundational mechanism for Splunk Common Information Model (CIM) normalization, enabling uniform searches across heterogeneous log sources.
5.1 Creating and Using Field Aliases
In enterprise Splunk environments, machine data streams in from hundreds of heterogeneous technologies—firewalls, web proxies, operating systems, cloud providers, and custom applications. While these systems frequently record identical logical data points (such as client IP addresses, usernames, or HTTP status codes), each technology vendor labels these data points using different field names. For example, a Palo Alto Networks firewall logs client IP addresses as src, an Apache web server logs them as clientip, a Microsoft IIS server logs them as c-ip, and an AWS VPC Flow log records them as srcaddr.
Without a standardized naming mechanism, analysts would be forced to write cumbersome, error-prone searches containing extensive boolean logic (e.g., src=10.0.0.1 OR clientip=10.0.0.1 OR c-ip=10.0.0.1 OR srcaddr=10.0.0.1). Field aliases solve this operational challenge by providing an alternate, standardized name for an existing extracted or default field at search time without altering the raw, immutable event data on disk.
Mastering field alias mechanics, configuration workflows in Splunk Web, underlying props.conf syntax, and their role in the Splunk Common Information Model (CIM) is a core competency tested on the Splunk Core Certified Power User examination.
1. Architectural Definition & Fundamentals of Field Aliases
A field alias is a search-time knowledge object that establishes an alternative identifier for a field that has already been extracted or defined as a default indexed field. When Splunk processes an event containing an aliased field, it makes the field available under both its original extracted name and its newly assigned alias name.
+-----------------------------------------------------------------------------------+
| FIELD ALIAS IN-MEMORY MAPPING |
+-----------------------------------------------------------------------------------+
| Raw Log Event (Palo Alto Firewall): |
| timestamp="2026-08-24T12:00:01" src=192.168.1.100 dst=10.0.0.50 proto=TCP |
+-----------------------------------------------------------------------------------+
│
Search-Time Field Extraction (Stage 1 in Pipeline)
│
▼
| Extracted Fields: |
| src = 192.168.1.100 |
| dst = 10.0.0.50 |
| proto = TCP |
+-----------------------------------------------------------------------------------+
│
Field Alias Processing (Stage 2 in Pipeline)
`FIELDALIAS-palo_ip = src AS src_ip dst AS dest_ip`
│
▼
| Final Discovered Event Fields (Coexisting in Memory): |
| src = 192.168.1.100 AND src_ip = 192.168.1.100 <-- (Both available!) |
| dst = 10.0.0.50 AND dest_ip = 10.0.0.50 <-- (Both available!) |
| proto = TCP |
+-----------------------------------------------------------------------------------+
Core Operational Characteristics of Field Aliases:
- Dual Coexistence (Non-Destructive): Aliasing does not rename, overwrite, or delete the original field. Both the original field name (e.g.,
src) and the alias name (e.g.,src_ip) exist simultaneously in search head memory for every matching event. - Search-Time Evaluation: Field aliases are evaluated dynamically during search execution at Stage 2 of Splunk's search-time field discovery pipeline (immediately after field extractions and before calculated fields). They do not alter raw indexed data (
_raw) or TSIDX files on disk. - Bidirectional Search Interoperability: Users can filter, group, chart, or transform data using either the original field name or the alias name interchangeably in SPL searches.
- Prerequisite Dependency: A field alias cannot extract data from
_rawtext directly; it can only reference a field that has already been extracted (via index-time fields, default fields likehost/source/sourcetype, or search-time extractions defined viaEXTRACTorREPORT). - Zero Storage Overhead: Because field aliases are computed in memory at search time, creating dozens of aliases introduces zero additional disk storage consumption on indexers.
2. Step-by-Step UI Configuration Walkthrough in Splunk Web
Power Users frequently create and manage field aliases directly within Splunk Web. Understanding the exact navigation path, form fields, and permission toggles is essential for the exam.
+-----------------------------------------------------------------------------------+
| SPLUNK WEB NAVIGATION: CREATING A FIELD ALIAS |
+-----------------------------------------------------------------------------------+
| [Settings] ➔ [Fields] (under Knowledge category) ➔ [Field aliases] |
| ➔ Click [New Field Alias] Button |
+-----------------------------------------------------------------------------------+
Step-by-Step Creation Process:
- Navigate to Settings > Fields in the top navigation bar of Splunk Web.
- Click Field aliases to open the Field Aliases management table.
- Click the green New Field Alias button in the upper right corner.
- Complete the configuration form with the following required parameters:
- Destination app: Select the Splunk application context in which this alias will reside (e.g.,
search,Splunk_TA_cisco-asa, or a custom organizational app). - Name: Enter a descriptive, unique stanza name for this alias definition (e.g.,
cisco_asa_ip_normalizationorpan_traffic_field_aliases). This name acts as the identifier in configuration files. - Apply to: Select the data source category to which the alias applies by choosing one of three radio buttons: host, source, or sourcetype (most commonly
sourcetype). - named: Enter the exact name of the host, source, or sourcetype (or a wildcard expression like
cisco:asa:*oraccess_*). - Field Aliases Mappings: Define one or more field alias pairs:
- In the left text box (Existing field name), enter the original extracted field name (e.g.,
c_ip). - In the right text box (New field alias name), enter the desired target alias name (e.g.,
src_ip). - Click Add another alias to define additional field mappings within the same configuration stanza (e.g.,
s_iptodest_ip,cs_usernametouser).
- In the left text box (Existing field name), enter the original extracted field name (e.g.,
- Destination app: Select the Splunk application context in which this alias will reside (e.g.,
- Click Save.
+-----------------------------------------------------------------------------------+
| SPLUNK WEB FIELD ALIAS CONFIGURATION MODAL |
+-----------------------------------------------------------------------------------+
| Destination app: [ Search & Reporting (search) ▼ ] |
| Name: [ cisco_firewall_aliases ] |
| Apply to: ( ) host ( ) source (•) sourcetype |
| named: [ cisco:asa ] |
| |
| Field Aliases: |
| Existing field name New field alias name |
| [ src_ip_addr ] ---> [ src_ip ] [ - Delete ] |
| [ dst_ip_addr ] ---> [ dest_ip ] [ - Delete ] |
| [ dport ] ---> [ dest_port ] [ - Delete ] |
| [ + Add another alias ] |
| |
| [ Cancel ] [ Save (Green Button) ] |
+-----------------------------------------------------------------------------------+
Knowledge Object Scoping & Permissions Management
When initially created in Splunk Web, a field alias defaults to Private scope (accessible only to the user who created it). To make the alias usable by other analysts or dashboards:
- On the Field aliases management page, locate the newly created alias stanza.
- Under the Sharing column, click Permissions.
- In the Permissions dialog:
- Select This app only to share the alias with all users within the current application.
- Select All apps (Global) to make the alias available across all applications on the search head (mandatory for Common Information Model add-ons).
- Configure Read and Write role permissions (e.g., granting
Readto*[Everyone] andWritetopowerandadminroles).
- Click Save.
3. Configuration File Engineering: props.conf
On the Splunk Enterprise filesystem, field aliases are stored exclusively in props.conf. Power Users must be able to read, write, and troubleshoot props.conf alias directives.
Directory Hierarchy & Storage Paths
Depending on the permission scope assigned in Splunk Web, field aliases are persisted in the following filesystem locations:
- User-Private Scope:
$SPLUNK_HOME/etc/users/<username>/<app_name>/local/props.conf - App-Specific Scope:
$SPLUNK_HOME/etc/apps/<app_name>/local/props.conf - System Global Scope:
$SPLUNK_HOME/etc/apps/<app_name>/local/props.confaccompanied by an export entry in$SPLUNK_HOME/etc/apps/<app_name>/metadata/local.meta(export = system)
Stanza Syntax Rules for FIELDALIAS
[<spec>]
FIELDALIAS-<class_name> = <orig_field_name> AS <alias_field_name> [<orig_field_name2> AS <alias_field_name2> ...]
Syntax Breakdown:
[<spec>]: The configuration stanza defining where the alias applies. Can be a[sourcetype],[source::<source_pattern>], or[host::<host_pattern>].FIELDALIAS-: The mandatory Splunk keyword prefix identifying the attribute as a field alias definition.<class_name>: A unique descriptive identifier for the alias rule within the stanza (e.g.,FIELDALIAS-cisco_ipsorFIELDALIAS-web_fields). If multipleFIELDALIAS-directives are defined under the same stanza, each must have a unique<class_name>suffix; otherwise, subsequent entries with identical class names overwrite earlier ones.<orig_field_name>: The existing extracted or indexed field name. Field names are strictly case-sensitive.AS: The case-insensitive keyword linking the original field to the alias name.<alias_field_name>: The new target alias field name. If the alias name contains spaces or special symbols, it should be wrapped in quotes.- Multiple Alias Mappings: A single
FIELDALIAS-<class_name>line can contain multiple space-separated<orig> AS <alias>pairs.
Production props.conf Examples
# Example 1: Web Access Logs Normalization
[access_combined]
FIELDALIAS-web_cim = clientip AS src_ip status AS http_status bytes AS bytes_out uri_path AS uri
# Example 2: Cisco ASA Firewall Normalization
[cisco:asa]
FIELDALIAS-cisco_network = src_ip AS src dst_ip AS dest dport AS dest_port sport AS src_port
FIELDALIAS-cisco_auth = user AS src_user target_user AS user
# Example 3: Windows Security Event Log Normalization
[source::WinEventLog:Security]
FIELDALIAS-winevent_auth = TargetUserName AS user WorkstationName AS src_host IpAddress AS src_ip
The AS vs. ASNEW Keyword Distinction
While AS is the standard keyword used in Splunk Web and most props.conf configurations, Splunk also supports ASNEW in configuration files:
AS(Default): Unconditionally maps the original field to the alias field name. If the alias field name already existed in the event from a prior extraction,ASreplaces its value with the aliased value.ASNEW: Conditionally creates the alias field only if the alias field name does not already exist in the event or is null. If the target field already contains a value,ASNEWpreserves the pre-existing value and does not overwrite it.
[sourcetype_custom]
# Overwrites dest_ip if dest_ip was already extracted
FIELDALIAS-force_ip = destination_address AS dest_ip
# Only sets dest_ip if dest_ip is not already populated
FIELDALIAS-safe_ip = backup_dest_address ASNEW dest_ip
4. Multi-Source Normalization & The Common Information Model (CIM)
The primary enterprise use case for field aliases is achieving data normalization across disparate data sources in compliance with the Splunk Common Information Model (CIM). The CIM defines standardized, vendor-neutral field names for common operational and security domains (such as Network Traffic, Authentication, Web, and Endpoint).
The Enterprise Normalization Challenge
Consider a corporate network where three different firewall vendors protect different network segments. Each vendor emits logs with different field names for source and destination IP addresses, ports, and actions:
| Data Source / Vendor | Source IP Field | Dest IP Field | Source Port | Dest Port | Action Field | Protocol Field |
|---|---|---|---|---|---|---|
Palo Alto Networks (pan:traffic) | src | dst | sport | dport | action (allow/deny) | proto |
Cisco ASA (cisco:asa) | src_ip | dest_ip | src_port | dest_port | vendor_action (permitted/denied) | protocol |
Check Point (cp_log) | orig_src | orig_dst | s_port | d_port | act (accept/drop) | ipproto |
AWS VPC Flow (aws:cloudwatch:vpcflow) | srcaddr | dstaddr | srcport | dstport | action (ACCEPT/REJECT) | protocol |
| Standardized CIM Target | src_ip / src | dest_ip / dest | src_port | dest_port | action | transport |
Normalization via props.conf Field Aliases
By creating field alias stanzas for each sourcetype, a Splunk administrator or Power User maps each vendor's proprietary fields to the standardized CIM field names:
# Palo Alto Networks Field Aliases
[pan:traffic]
FIELDALIAS-pan_cim = src AS src_ip dst AS dest_ip sport AS src_port dport AS dest_port proto AS transport
# Check Point Field Aliases
[cp_log]
FIELDALIAS-cp_cim = orig_src AS src_ip orig_dst AS dest_ip s_port AS src_port d_port AS dest_port act AS action ipproto AS transport
# AWS VPC Flow Logs Field Aliases
[aws:cloudwatch:vpcflow]
FIELDALIAS-aws_cim = srcaddr AS src_ip dstaddr AS dest_ip srcport AS src_port dstport AS dest_port protocol AS transport
The Result: Unified, Technology-Agnostic SPL Queries
Once these aliases are configured and shared globally, a security analyst can search across all firewall technologies simultaneously using a single, elegant SPL query without knowing or caring which vendor generated which log:
index=firewall (action=deny OR action=denied OR action=drop OR action=REJECT)
| stats count by src_ip, dest_ip, dest_port, transport
| where count > 100
| sort - count
+-----------------------------------------------------------------------------------+
| NORMALIZED MULTI-VENDOR SEARCH RESULTS |
+-----------------------------------------------------------------------------------+
| src_ip dest_ip dest_port transport count |
| 192.168.1.105 10.0.0.50 443 tcp 14,230 (from Palo Alto) |
| 172.16.4.22 10.0.0.80 22 tcp 8,412 (from Cisco ASA) |
| 10.200.1.9 10.0.0.12 3389 tcp 3,105 (from Check Point)|
| 192.168.10.4 10.0.0.99 53 udp 1,840 (from AWS VPC) |
+-----------------------------------------------------------------------------------+
5. Search Behavior & Query Execution Comparison
Understanding how field aliases behave across various SPL commands is critical for building performant searches and avoiding subtle analysis errors.
1. Filtering in the Base Search Clause
When an alias is defined, searching by either the original field name or the alias name in the base search retrieves the exact same set of events:
`-- These two searches return the identical event count:`
index=web clientip=192.168.1.50
index=web src_ip=192.168.1.50
2. Transforming and Statistical Commands (stats, chart, timechart)
When grouping by an aliased field in transforming commands, Splunk aggregates results under the specified field name:
`-- Aggregating by the alias name`
index=web
| stats count, sum(bytes) as total_bytes by src_ip
In the resulting statistics table, the column header will be named src_ip. If you grouped by clientip, the column header would be named clientip. Both produce identical numerical aggregations.
3. Streaming Commands (eval, where, table, fields)
Because both original and aliased fields exist in the event record, downstream streaming commands can reference either field name freely:
index=web
| eval is_internal = if(cidrmatch("10.0.0.0/8", src_ip), "Internal", "External")
| table _time, clientip, src_ip, is_internal, http_status
In the output table, both clientip and src_ip will display identical IP address values for every row.
4. Wildcard Searches on Aliased Fields
Wildcard filtering behaves consistently across aliased fields. Searching src_ip=192.168.* matches all events where clientip begins with 192.168..
6. Advanced Mapping Patterns & Rules
Power Users must understand the nuances of complex mapping architectures:
Pattern 1: One-to-Many Aliasing (1-to-N)
A single original field can be aliased to multiple distinct target field names simultaneously. This is common when an enterprise schema requires both a generic field name and a domain-specific field name:
[cisco:asa]
# Aliasing 'c_ip' to both 'src_ip' (CIM Network Traffic) and 'client_ip' (Legacy Reports)
FIELDALIAS-multi_ip = c_ip AS src_ip c_ip AS client_ip c_ip AS ip_address
Result: An event with c_ip=10.1.1.1 will simultaneously possess c_ip, src_ip, client_ip, and ip_address in memory.
Pattern 2: Many-to-One Normalization (N-to-1)
Multiple different fields from different sourcetypes can map to the identical standardized alias name. This is the bedrock of CIM normalization demonstrated in Section 4.
Pattern 3: Case-Sensitivity Rules
In Splunk SPL and configuration files:
- Configuration Stanza Identifiers & Class Names: Case-insensitive in lookup but conventionally lowercase.
- Field Names (Original and Alias): Strictly case-sensitive. If the extracted field is
SourceIP, definingFIELDALIAS-test = sourceip AS src_ipwill fail becausesourceipdoes not matchSourceIP. - Keyword
AS/ASNEW: Case-insensitive (AS,as, andAsexecute identically inprops.conf).
7. Common Exam Traps & Best Practices
-
The Field Destruction Trap:
- Exam Trap: A question asks: "After configuring
FIELDALIAS-web = clientip AS src_ip, what happens to the fieldclientipin search results?" - Fact:
clientipis NOT deleted or renamed. Bothclientipandsrc_ipare present in search results.
- Exam Trap: A question asks: "After configuring
-
The Non-Existent Extraction Trap:
- Exam Trap: An administrator defines an alias for a field that has not been extracted from
_raw. - Fact: Field aliases cannot parse raw text. If the original field is not extracted by Stage 1, the alias evaluates to null.
- Exam Trap: An administrator defines an alias for a field that has not been extracted from
-
The Calculated Field Alias Trap:
- Exam Trap: Attempting to create a field alias for a calculated field (e.g., aliasing
total_mbproduced by anEVAL-expression). - Fact: Field aliases (Stage 2) execute before calculated fields (Stage 3). A field alias cannot alias a calculated field.
- Exam Trap: Attempting to create a field alias for a calculated field (e.g., aliasing
-
Syntax Direction Inversion Trap:
- Exam Trap: Writing
FIELDALIAS-test = src_ip AS clientipwhen intending to aliasclientiptosrc_ip. - Fact: The syntax is strictly
<existing_field> AS <new_alias_name>.
- Exam Trap: Writing
A Splunk Power User configures the following field alias in props.conf for web server logs:
[access_combined]
FIELDALIAS-ip_norm = clientip AS src_ip
When an analyst runs the search index=web sourcetype=access_combined | table _time, clientip, src_ip, what appears in the resulting table?
In Splunk Web, where does a Power User navigate to create and manage search-time field aliases?
An enterprise indexes firewall traffic from two different vendors. Vendor A logs the source IP address as src_addr, while Vendor B logs it as c_ip. An analyst wants to write a single search: index=firewall | stats count by src_ip. Which configuration correctly normalizes both sourcetypes in props.conf?