Splunk® Enterprise

Search Reference

Download manual as PDF

Download topic as PDF

sistats

Description

The sistats command is one of several commands that you can use to create summary indexes. Summary indexing is one of the methods that you can use to speed up searches that take a long time to run.

The sistats command is the summary indexing version of the stats command, which calculates aggregate statistics over the dataset.

The sistats command populates a summary index. You must then create a report to generate the summary statistics. See the Usage section.

Syntax

sistats [allnum=<bool>] [delim=<string>] ( <stats-agg-term> | <sparkline-agg-term> ) [<by clause>]

  • For descriptions of each of the arguments in this syntax, refer to the stats command.
  • For information about functions that you can use with the sistats command, see Statistical and charting functions.

Usage

The summary indexes exist separately from your main indexes.

After you create the summary index, create a report by running a search against the summary index. You use the exact same search string that you used to populate the summary index, substituting the stats command for the sistats command, to create your reports.

For more information, see About report acceleration and summary indexing and Use summary indexing for increased reporting efficiency in the Knowledge Manager Manual.

Statistical functions that are not applied to specific fields

With the exception of the count function, when you pair the sistats command with functions that are not applied to specific fields or eval expressions that resolve into fields, the search head processes it as if it were applied to a wildcard for all fields. In other words, when you have | sistats avg in a search, it returns results for | sistats avg(*).

This "implicit wildcard" syntax is officially deprecated, however. Make the wildcard explicit. Write | sistats <function>(*) when you want a function to apply to all possible fields.

Memory and maximum results

A pair of limits.conf settings strike a balance between the performance of sistats searches and the amount of memory they use during the search process, in RAM and on disk. If your sistats searches are consistently slow to complete you can adjust these settings to improve their performance, but at the cost of increased search-time memory usage, which can lead to search failures.

When you run a sistats search, the search head returns batches of results until the search result set is complete. The maxresultrows setting in the [searchresults] stanza sets a limit for the number of results that the search head can gather in a single batch, with the default being 50,000 rows at a time. Do not increase maxresultrows in the interest of gaining better search performance, as doing so could cause your system to run out of memory. You might lower maxresultrows if you are encountering stability issues with your sistats searches.

The max_mem_usage_mb setting in the [default] stanza of limits.conf limits the amount of memory (RAM) that a batch of search results can take up during the sistats search process. Its default setting is 200 MB. Lower limits to max_mem_usage_mb can cause a search to be slower to complete, but there should be no loss of results.

The sistats command processor spills data from RAM to disk when the amount of results exceeds maxresultrows and the amount of RAM that the results are estimated to use exceeds max_mem_usage_mb. When max_mem_usage_mb=0 there are no bounds to the amount of memory the results can use. If you set max_mem_usage_mb=0, the sistats command processor spills search results to disk when the number of results in a batch exceeds the limit set by maxresultrows.

Prerequisites

Never change or copy the configuration files in the default directory. The files in the default directory must remain intact and in their original location. Make changes to the files in the local directory.

If you are using Splunk Cloud and want to change either of these limits, file a Support ticket.

Examples

Example 1:

Create a summary index with the statistics about the average, for each hour, of any unique field that ends with the string "lay". For example, delay, xdelay, relay, etc.

... | sistats avg(*lay) BY date_hour

To create a report, run a search against the summary index using this search

index=summary | stats avg(*lay) BY date_hour

See also

collect, overlap, sichart, sirare, sitop, sitimechart

For a detailed explanation and examples of summary indexing, see Use summary indexing for increased reporting efficiency in the Knowledge Manager Manual.

Last modified on 15 September, 2020
PREVIOUS
sirare
  NEXT
sitimechart

This documentation applies to the following versions of Splunk® Enterprise: 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6


Was this documentation topic helpful?

Enter your email address, and someone from the documentation team will respond to you:

Please provide your comments here. Ask a question or make a suggestion.

You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters