Since it appears there is no good way to do that, I've taken the following tact:
Outside of Splunk, I have a script that parses the log files, and outputs only new or changed entries to the end of a logfile that Splunk monitors. My data then looks like:
Timestamp,Datacenter,Hits,Misses
"2011-01-01 01:10:00","Singapore",3553,245
"2011-01-01 01:20:00","Singapore",5253,386
"2011-01-01 01:30:00","Singapore",1253,124
"2011-01-01 01:20:00","Singapore",1449,154
I have it go to a separate index. This log source happens to be very small, and putting it in a different index allows one bucket to contain a lot of data. My (unverified) theory is that if it went to main, it would mess with the date range timestamps on the very busy buckets, and create inefficiencies. That may not be true, but creating a separate index works for both performance and erring on the side of caution.
All of my searches first execute a | bucket _time span=10m | stats first(Hits) as Hits, first(Misses) as Misses by datacenter, _time . That way I can use my normal searches, without dealing with old or duplicate data.
I have a nightly crontab that will delete my summary indexes for the last few days ( earliest=-3d@d | delete ) and then re-index them. That will also produce some bucket-time issues, but it hasn't been a big problem so far.
... View more