VMware ESXi and vSphere Cluster Management
Create and Configure an Index in Splunk
Learn how to create a Splunk index in Splunk Web, plan storage paths and retention, configure bucket limits and archives, and validate ingestion.
A Splunk index is a named data store and search scope for indexed events. Before data can be searched, an input or forwarding route must send it to an index that exists on the receiving Splunk tier.
This lesson explains how to create an index through Splunk Web, what its storage and lifecycle settings mean, and how to validate the result. It also introduces command-line administration and indexes.conf for managed deployments.
What a Splunk Index Does
An index is a named Splunk data store containing indexed event data. It also provides a search scope: a search such as index=app_prod limits the search to events stored in that index.
Separate indexes are useful when data has different operational requirements. For example, you might separate production and development data, isolate data belonging to different tenants, apply different retention periods to application and compliance records, or create access boundaries so that a role can search one data domain but not another.
| Term | Meaning | How It Differs from an Index |
|---|---|---|
| Index | A named data store and search scope for indexed events. | Determines where event data is stored and can be searched. |
| Source | The input origin, such as a file, network connection, or API. | Describes where data came from, not the storage destination. |
| Sourcetype | A label describing the format or kind of data. | Helps Splunk interpret events; it does not replace the index. |
| Host | The hostname or system associated with an event. | Identifies an originating system or logical host. |
| App | A package and configuration context in Splunk. | Organizes configuration, views, and ownership; it is not an event store. |
| Search result | Events or calculated values returned by a search. | Is output retrieved from indexes rather than a storage location. |
Choose a Creation Method
| Method | Best For | Advantages | Operational Considerations |
|---|---|---|---|
| Splunk Web | Administrators creating an index manually or learning the workflow. | Guided form validation and a straightforward way to review the definition. | Requires suitable administrative capability and must be performed on the correct deployment tier. |
| CLI | Scripted or operator-driven administration. | Can be incorporated into repeatable operational procedures. | Commands and permissions depend on the installed Splunk version and deployment architecture. |
indexes.conf | Managed, automated, or distributed deployments. | Supports version-controlled and repeatable configuration. | Configuration placement, precedence, rollout, and restart or reload procedures must follow the environment's management process. |
Splunk Web is the primary beginner-friendly method. In a production environment, use the method owned by your configuration-management process. In a distributed deployment, index definitions generally need to be present on the indexers that receive and store the data. Do not assume that creating an index on a search head creates it on every indexer.
Plan Before Creating the Index
- Use an account with the capability to administer indexes.
- Choose a unique, meaningful name before opening the form.
- Estimate ingestion volume, required retention, total capacity, bucket sizing, and archive needs.
- Choose approved filesystem locations for hot, warm, cold, thawed, and optional frozen data.
- Confirm that each configured location has enough capacity and is writable by the Splunk service account.
- Decide which app should own the definition according to your organization's ownership and deployment conventions.
- For distributed environments, identify whether index configuration is managed by a deployment manager, cluster manager, or another controlled process.
Index Naming Rules
Index names should contain only lowercase letters, numbers, underscores, and hyphens. The first character should be a lowercase letter or a number. Avoid spaces, uppercase characters, punctuation outside the permitted set, and names that are easily confused with existing indexes.
A practical convention is a lowercase descriptive name such as app_prod, web_access, or compliance_records. Choose carefully: inputs, forwarding rules, searches, dashboards, alerts, and role permissions may all refer to the index name. Renaming an index later can require coordinated changes across these dependencies.
Create an Index in Splunk Web
- Sign in to Splunk Web with an account that can administer indexes.
- Open the administrative settings area.
- Open the index-management page.
- Choose the option to add or create a new index.
- Enter a unique index name that follows the naming rules.
- Enter the approved storage paths and capacity settings described below.
- Optionally configure a frozen-data destination if the data must be preserved after leaving active storage.
- Select the appropriate app context.
- Save the definition.
- Return to the index list and confirm that the new index appears.
After saving, review the displayed values rather than assuming the form accepted every intended setting. Then configure an input or forwarding route to use the new index. The index may appear in destination choices only where the relevant receiving component knows about its definition.
| Field | Required or Optional | What It Controls | Planning Considerations |
|---|---|---|---|
| Index name | Required | The unique name used by data routes and searches. | Use a descriptive lowercase name and coordinate dependent configuration. |
| Home path | Required or platform-defined | Location for hot and warm buckets. | Use fast, writable storage with capacity for active data. |
| Cold path | Required or platform-defined | Location for cold buckets. | Provide capacity appropriate for older searchable data. |
| Thawed path | Required or platform-defined | Location for restored frozen buckets. | Ensure adequate space and permissions for restoration workflows. |
| Maximum total index size | Optional with a default | The total indexed storage limit, commonly represented by maxTotalDataSizeMB. | Compare the limit with ingestion rate, retention, and available storage. |
| Maximum hot, warm, and cold bucket size | Optional with a default | The size control used for bucket rollover, commonly represented by maxDataSize. | Balance bucket size against search, maintenance, recovery, and operational manageability. |
| Frozen path | Optional | An archive destination for data reaching the frozen stage, commonly represented by coldToFrozenDir. | Plan archive capacity, permissions, retention, and restoration procedures. |
| App | Optional or platform-defined | The app context that owns the index definition. | Select the app used by the integration or operational owner. |
Understand Bucket Lifecycle and Paths
A bucket is a storage unit containing indexed event data and supporting files. As data ages or storage limits are reached, buckets move through lifecycle states. The exact timing depends on configured limits, ingestion rate, retention policies, and available storage.
| Lifecycle Stage | Storage Location | Search Availability | Transition or Operational Meaning |
|---|---|---|---|
| Hot | Home path | Searchable | Actively receives new event data. |
| Warm | Home path | Searchable | Completed bucket that remains in relatively fast storage. |
| Cold | Cold path | Searchable | Older bucket moved out of hot and warm storage. |
| Frozen | Deleted or frozen path | Not immediately searchable | Data has aged out of the active lifecycle. It is removed unless an archive destination is configured. |
| Thawed | Thawed path | Available again after supported restoration | Previously frozen data restored for reuse or investigation. |
The home path stores hot and warm buckets. The cold path stores buckets moved out of hot and warm storage. The thawed path is used when previously frozen buckets are restored. A frozen path is optional and preserves data outside active searchable storage.
Set Capacity and Bucket Limits
The maximum total index size controls how much indexed data the index can retain across its active storage. In configuration, this is commonly represented by maxTotalDataSizeMB. If the limit is too small for the ingestion rate and retention objective, older data can reach the frozen stage sooner than expected.
The maximum hot, warm, and cold bucket size controls bucket rollover and storage management. It is commonly represented by maxDataSize. Larger buckets can reduce the number of bucket directories and some maintenance overhead, but they can also affect search behavior, recovery time, and operational manageability. Smaller buckets can be easier to handle but may create more bucket-management work.
Evaluate the defaults against actual storage and retention requirements. A simple planning estimate is:
required_active_storage = average_daily_ingestion * active_retention_days + operational_headroomThis estimate is only a starting point. Account for event compression, replication, parallel data streams, other indexes, filesystem limits, and the storage model used by the deployment. Set limits so that the index remains within its intended retention policy without exhausting the filesystem.
Plan Frozen Data and Archives
Frozen data is data that has aged out of the active index lifecycle. Without an archive destination, frozen data is deleted. When a frozen-data destination is configured, Splunk can move or preserve the data there according to the supported lifecycle behavior and deployment configuration.
Archived frozen data is not immediately searchable as active index data. To investigate an archived period, restore it using the environment's supported procedure and place the restored data in the configured thawed path. Confirm that the restored files have the correct ownership and permissions and that the restoration process makes them available for searching.
- Reserve enough archive capacity for the expected frozen-data volume.
- Make the archive destination writable by the required Splunk service account or supported archival process.
- Document how archived buckets are identified, retained, backed up, and restored.
- Align archive duration with legal, compliance, and operational retention requirements.
- Test restoration before relying on the archive for an incident or audit.
Assign the Index to an App
An app context determines where the index definition is organized and which operational package owns it. App ownership can affect configuration management, portability, and how administrators package or distribute related inputs, field definitions, dashboards, and permissions.
Select the app responsible for the data integration or the app convention established by your organization. Avoid placing production configuration in an ad hoc personal context if the deployment uses centrally managed apps.
Alternative Configuration with indexes.conf
indexes.conf is the Splunk configuration file used to define index storage and lifecycle settings. The following is a conceptual stanza; replace every placeholder with environment-approved values and confirm parameter support for the installed version and topology.
[example_index]
homePath = <hot_and_warm_storage_path>
coldPath = <cold_storage_path>
thawedPath = <restored_data_path>
maxTotalDataSizeMB = <total_index_limit_mb>
maxDataSize = <bucket_size_setting>
coldToFrozenDir = <optional_archive_path>Direct configuration should be part of controlled configuration management in production. Confirm where the file belongs, which tier owns it, how configuration precedence works, and how changes are distributed. Do not copy placeholder paths directly into a live system.
Post-Creation Validation
- Confirm that the index appears in the administrative index list.
- Review its name, home path, cold path, thawed path, archive destination, app, and capacity limits.
- Confirm that the configured directories exist, have adequate capacity, and are writable by Splunk.
- Configure or update a data input or forwarding route to target the new index.
- Send a small, identifiable test data set.
- Run a search scoped to the new index:
index=<new_index_name>
| head 10Verify that the returned events belong to the intended source and contain the expected host and sourcetype values. If users cannot search the index, review role-based index permissions as well as the search syntax and ingestion status.
Practical Configuration Scenarios
Application Logs in Production
Create a clearly named index such as app_prod for production application events. Use approved local storage locations for hot, warm, and cold data. Set total capacity and bucket sizing according to the service's ingestion estimate and retention objective. Assign the index to the app responsible for the integration, route a test event to it, and verify it with an index-scoped search.
Long-Term Archive Handling
Use active storage for currently searchable data and configure a frozen-data destination for records that must be preserved beyond the active lifecycle. Document archive retention and restoration steps. When an archived period is needed, restore it through the supported process and use the thawed location so the data can become available again.
High-Volume and Compliance Data
Use separate indexes when operational and compliance data have different requirements. A high-volume operational index may need constrained retention and storage limits, while a regulated-records index may need a longer lifecycle and archive handling. Apply independent total-size, bucket-size, and frozen-data strategies to each index.
Troubleshooting
The Index Does Not Appear in the Index List
- Check that the creation form was saved successfully.
- Verify the account's administrative capability.
- Validate the name and check for an existing definition or naming violation.
- In a managed deployment, confirm that the configuration was placed on the correct tier and was not overridden by configuration precedence.
Data Is Not Written to the New Index
- Inspect the destination index configured on the input or forwarding route.
- Check for a misspelled index name in data-routing configuration.
- Confirm that the receiving indexer has the index definition.
- Check filesystem capacity, path existence, and Splunk service permissions.
Users Cannot Search the Index
- Review whether the user's role includes access to the index.
- Run a direct search scoped to the intended index.
- Confirm that test data has arrived by searching with an administrator account.
Data Expires or Moves Too Soon
- Compare daily ingestion volume with the total index capacity.
- Review bucket-size and retention settings.
- Check storage utilization and whether frozen-data handling matches the intended policy.
Archived Data Cannot Be Searched
- Remember that frozen data is outside active searchable storage until restored.
- Confirm the archive destination and restoration workflow.
- Validate the thawed path, file placement, ownership, and permissions.
- Follow the supported procedure for making restored data searchable in the deployment.
Exam-Relevant Notes
- An index is both a named storage destination and a search scope.
- Hot and warm buckets use the home path; cold buckets use the cold path.
- Frozen data is not immediately searchable. Restored data uses the thawed path.
maxTotalDataSizeMBcontrols total index storage, whilemaxDataSizecontrols bucket sizing.- Index definitions must be deployed to the components that store the data, especially indexers in distributed architectures.
- Data routing, role permissions, filesystem access, and retention settings all affect whether a newly created index works as intended.
For the primary workflow, return to Create an Index and use the planning, creation, and validation sequence as a checklist.