When to use this
You need data that has aged out of Splunk. Either an index reached its retention window, or a volume cap evicted the oldest buckets to make room. This is not a search. Archived data is offline, and bringing it back is a deliberate operation measured in minutes.The default that makes this necessary
Splunk deletes a bucket when it ages out, unless a freeze mechanism catches it first. ConfigurecoldToFrozenDir or coldToFrozenScript on the
index before a retention window or volume cap can actually bind — once one
does, the delete path is live immediately. The archive exists so that ageing
out means archiving, not losing the data.
What the archive is, and is not
Why not just search it where it sits
Federated Search for Amazon S3 doesn’t apply to a typical self-managed deployment, on three independent grounds:- it’s a Splunk Cloud feature, unavailable for Splunk Enterprise
- it’s unsupported on single-instance deployments
- it requires an AWS Glue Data Catalog, which has no equivalent outside AWS
Restoring a bucket
1
Find what is archived
List everything archived for the index. Bucket directory names encode
their time range, so restore tooling that lists archived buckets should
let you identify the right one by date without downloading anything.
2
Fetch the bucket
Download every file that belongs to it. Have the fetch retry transient
throttling and server errors from the object-storage backend — a restore
that gives up partway leaves a half-written bucket that looks present but
won’t rebuild.
3
Move it under the index's thawedPath
The thawed location is a literal path, never a volume reference — Splunk
rejects a
volume: reference for thawedPath. It’s always
$SPLUNK_DB/<index>/thaweddb.Bucket IDs must not collide with anything already in thaweddb. If one
does, rename the incoming directory rather than overwrite it.4
Rebuild the index metadata
5
Restart splunkd, then confirm the data is actually searchable
Search the restored time range explicitly. Don’t infer success from the
files being on disk.
After restoring
Remove the thawed bucket once the work that needed it is finished.If a freeze fails
A failed archive leaves the bucket on disk. That’s intentional: a stuck bucket costs space, but a false success costs the data. Point your freeze/archive tooling’s logging somewhere splunkd’s own logging captures —splunkd.log is the standard place to look. Distinguish two kinds
of failure: refusals to freeze (the safe outcome — the bucket stays put and
is retried) and retryable upload errors (also safe — the bucket is attempted
again).
The failure mode worth watching for is silence: buckets ageing out with no
archive activity at all. A common cause is configuring both
coldToFrozenDir and coldToFrozenScript on the same index — Splunk treats
them as mutually exclusive and silently prefers the directory, disabling
script-based uploads with no error anywhere. Configure exactly one of the two
per index, and check for this first if archiving appears to have stopped.
See also
Observability overview
Where Splunk sits in the ingest pipeline.
Splunk install
The role that configures indexes, storage tiering, and retention.