Refine your search:

Say that you have a huge volume of events, and they come in big batches. Each batch is a discrete unit, and mixing information from the most recent batch with the previous batch is unacceptable.

more givens:

  1. the events within a particular batch are spread out over a few minutes.
  2. we do have control over the data so we could write a particular event at the start and at the end of the batch if necessary. We could even create a start/end event that had a different source or sourcetype.

Given all this, Is there a good clean way to construct a custom search or a custom view that will be sure to operate only on the events of the most recent batch?

asked 13 Jul '11, 21:32

nick's gravatar image

nick ♦
14.2k1318
accept rate: 47%

edited 13 Jul '11, 21:33


One Answer:

Your best bet is to use the "head" command which can take a predicate instead of an absolute count.

For example, the following search only takes (all of) the events from the most recent second from index=_internal:

index=_internal | streamstats dc(_time) as dc_time | head dc_time==1
link

answered 14 Jul '11, 05:50

Stephen%20Sorkin's gravatar image

Stephen Sorkin ♦
8.1k47
accept rate: 52%

The events here are not in a single second, but this offers a tool that seems to open up a number of other ideas. Is that ability of the head command new in 4.2? It seems like I could use eval and streamstats to keep track of when I see the 'start' event and 'end' event, and then use head to terminate once I get back to the correct head event. Is that what you would do?

(14 Jul '11, 10:19) nick ♦

Wouldn't this be a good use of a transaction command? especially if you've got a well defined start and stop?

(14 Jul '11, 10:27) Brian Osburn

transaction wont work here because the set of events needs to be sliced and diced up a number of ways by a lot of different 'stats foo(bar) by baz, bat' searches, and transaction is going to put me in multivalue hell.

(14 Jul '11, 12:15) nick ♦

This ability of head has been around since 4.1, I believe.

(15 Jul '11, 18:45) Stephen Sorkin ♦
Post your answer
toggle preview

Follow this question

Log In to enable email subscriptions

RSS:

Answers

Answers + Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×334

Asked: 13 Jul '11, 21:32

Seen: 462 times

Last updated: 15 Jul '11, 18:45

Copyright © 2005-2012 Splunk, Inc. All rights reserved.