@placement search-head, indexer # Version 20170103 # # This file contains all possible options for an indexes.conf file. Use # this file to configure Splunk's indexes and their properties. # # There is an indexes.conf in $SPLUNK_HOME/etc/system/default/. To set # custom configurations, place an indexes.conf in # $SPLUNK_HOME/etc/system/local/. For examples, see indexes.conf.example. # You must restart Splunk to enable configurations. # # To learn more about configuration files (including precedence) please see # the documentation located at # http://docs.splunk.com/Documentation/Splunk/latest/Admin/Aboutconfigurationfiles # # CAUTION: You can drastically affect your Splunk installation by changing # these settings. Consult technical support # (http://www.splunk.com/page/submit_issue) if you are not sure how to # configure this file. # # GLOBAL SETTINGS # Use the [default] stanza to define any global settings. # * You can also define global settings outside of any stanza, at the top # of the file. # * Each conf file should have at most one default stanza. If there are # multiple default stanzas, attributes are combined. In the case of # multiple definitions of the same attribute, the last definition in the # file wins. # * If an attribute is defined at both the global level and in a specific # stanza, the value in the specific stanza takes precedence. sync = * The index processor syncs events every number of events. * Set to 0 to disable. * Highest legal value is 32767 * Defaults to 0. defaultDatabase = * If no index is specified during search, Splunk searches the default index. * The specified index displays as the default in Splunk Manager settings. * Defaults to "main". queryLanguageDefinition = * DO NOT EDIT THIS SETTING. SERIOUSLY. * The path to the search language definition file. * Defaults to $SPLUNK_HOME/etc/searchLanguage.xml. lastChanceIndex = * Gives ability to define a last chance index for events destined for non-existent indexes. * If an event arrives whose index destination key points to an index that is not configured (such as when using index= in the input stanza or by a setting in a transform), it will route that event to the index specified by this setting. The index destination key of that event will be overwritten with the specified index name before routing. * must name an existing enabled index. Splunk will not start if this is not the case. * If this setting is not defined or is empty, it will drop such events. * If set to "default", then the default index specified by the "defaultDatabase" will be used as a last chance index. * Defaults to empty. memPoolMB = |auto * Determines how much memory is given to the indexer memory pool. This restricts the number of outstanding events in the indexer at any given time. * Must be greater than 0; maximum value is 1048576 (which corresponds to 1 TB) * Setting this too high can lead to splunkd memory usage going up substantially. * Setting this too low can degrade splunkd indexing performance. * Setting this to "auto" or an invalid value will cause Splunk to autotune this parameter. * Defaults to "auto". * The values derived when "auto" is seen are as follows: * System Memory Available less than ... | memPoolMB 1 GB | 64 MB 2 GB | 128 MB 8 GB | 128 MB 8 GB or higher | 512 MB * Only set this value if you are an expert user or have been advised to by Splunk Support. * CARELESSNESS IN SETTING THIS MAY LEAD TO PERMANENT BRAIN DAMAGE OR LOSS OF JOB. indexThreads = |auto * Determines the number of threads to use for indexing. * Must be at least 1 and no more than 16. * This value should not be set higher than the number of processor cores in the box. * If splunkd is also doing parsing and aggregation, the number should be set lower than the total number of processors minus two. * Setting this to "auto" or an invalid value will cause Splunk to autotune this parameter. * Only set this value if you are an expert user or have been advised to by Splunk Support. * CARELESSNESS IN SETTING THIS MAY LEAD TO PERMANENT BRAIN DAMAGE OR LOSS OF JOB. * Defaults to "auto". rtRouterThreads = 0|1 * Set this to 1 if you expect to use non-indexed real time searches regularly. Index throughput drops rapidly if there are a handful of these running concurrently on the system. * If you are not sure what "indexed vs non-indexed" real time searches are, see README of indexed_realtime* settings in limits.conf * NOTE: This is not a boolean value, only 0 or 1 is accepted. In the future, we may allow more than a single thread, but current implementation only allows one to create a single thread per pipeline set rtRouterQueueSize = * Defaults to 10000 * This setting is only relevant if rtRouterThreads != 0 * This queue sits between the indexer pipeline set thread (producer) and the rtRouterThread * Changing the size of this queue may impact real time search performance assureUTF8 = true|false * Verifies that all data retrieved from the index is proper by validating all the byte strings. * This does not ensure all data will be emitted, but can be a workaround if an index is corrupted in such a way that the text inside it is no longer valid utf8. * Will degrade indexing performance when enabled (set to true). * Can only be set globally, by specifying in the [default] stanza. * Defaults to false. enableRealtimeSearch = true|false * Enables real-time searches. * Defaults to true. suppressBannerList = * suppresses index missing warning banner messages for specified indexes * Defaults to empty maxRunningProcessGroups = * splunkd fires off helper child processes like splunk-optimize, recover-metadata, etc. This param limits how many child processes can be running at any given time. * This maximum applies to entire splunkd, not per index. If you have N indexes, there will be at most maxRunningProcessGroups child processes, not N*maxRunningProcessGroups * Must maintain maxRunningProcessGroupsLowPriority < maxRunningProcessGroups * This is an advanced parameter; do NOT set unless instructed by Splunk Support * Highest legal value is 4294967295 * Defaults to 8 (note: up until 5.0 it defaulted to 20) maxRunningProcessGroupsLowPriority = * Of the maxRunningProcessGroups (q.v.) helper child processes, at most maxRunningProcessGroupsLowPriority may be low-priority (e.g. fsck) ones. * This maximum applies to entire splunkd, not per index. If you have N indexes, there will be at most maxRunningProcessGroupsLowPriority low-priority child processes, not N*maxRunningProcessGroupsLowPriority * Must maintain maxRunningProcessGroupsLowPriority < maxRunningProcessGroups * This is an advanced parameter; do NOT set unless instructed by Splunk Support * Highest legal value is 4294967295 * Defaults to 1 bucketRebuildMemoryHint = [KB|MB|GB]|auto * Suggestion for the bucket rebuild process for the size (bytes) of tsidx file it will try to build. * Larger files use more memory in rebuild, but rebuild will fail if there is not enough. * Smaller files make the rebuild take longer during the final optimize step. * Note: this value is not a hard limit on either rebuild memory usage or tsidx size. * This is an advanced parameter, do NOT set this unless instructed by Splunk Support. * Defaults to "auto", which varies by the amount of physical RAM on the host * less than 2GB RAM = 67108864 (64MB) tsidx * 2GB to 8GB RAM = 134217728 (128MB) tsidx * more than 8GB RAM = 268435456 (256MB) tsidx * If not "auto", then must be 16MB-1GB. * Value may be specified using a size suffix: "16777216" or "16MB" are equivalent. * Inappropriate use of this parameter will cause splunkd to not start if rebuild is required. * Highest legal value (in bytes) is 4294967295 inPlaceUpdates = true|false * If true, metadata updates are written to the .data files directly * If false, metadata updates are written to a temporary file and then moved into place * Intended for advanced debugging of metadata issues * Setting this parameter to false (to use a temporary file) will impact indexing performance, particularly with large numbers of hosts, sources, or sourcetypes (~1 million, across all indexes.) * This is an advanced parameter; do NOT set unless instructed by Splunk Support * Defaults to true serviceOnlyAsNeeded = true|false * Causes index service (housekeeping tasks) overhead to be incurred only after index activity. * Indexer module problems may be easier to diagnose when this optimization is disabled (set to false). * Defaults to true. serviceSubtaskTimingPeriod = * Subtasks of indexer service task will be timed on every Nth execution, where N = value of this parameter, in seconds. * Smaller values will give greater accuracy; larger values will lessen timer overhead. * Timer measurements will be found in metrics.log, marked "group=subtask_seconds, task=indexer_service" * Highest legal value is 4294967295 * We strongly suggest value of this parameter divide evenly into value of 'rotatePeriodInSecs' parameter. * Defaults to 30 processTrackerServiceInterval = * Controls how often, in seconds, indexer checks status of the child OS processes it had launched to see if it can launch new processes for queued requests. * If set to 0, indexer will check child process status every second. * Highest legal value is 4294967295 * Defaults to 15 maxBucketSizeCacheEntries = * This value is not longer needed and its value is ignored. tsidxStatsHomePath = * An absolute path that specifies where Splunk creates namespace data with 'tscollect' command * If the directory does not exist, we attempt to create it. * Optional. If this is unspecified, we default to the 'tsidxstats' directory under $SPLUNK_DB * CAUTION: Path "$SPLUNK_DB" must be writable. hotBucketTimeRefreshInterval = * Controls how often each index refreshes the available hot bucket times used by the indexes REST endpoint. * Refresh will occur every N times service is performed for each index. * For busy indexes, this is a multiple of seconds. * For idle indexes, this is a multiple of the second-long-periods in which data is received. * This tunable is only intended to relax the frequency of these refreshes in * the unexpected case that it adversely affects performance in unusual production scenarios. * This time is tracked on a per-index basis, and thus can be adjusted on a per-index basis if needed. * If, for some reason, you want have the index information refreshed with every service (and accept minor performance overhead), you can use the value 1. * Defaults to 10 (services). #************************************************************************** # PER INDEX OPTIONS # These options may be set under an [] entry. # # Index names must consist of only numbers, letters, periods, underscores, # and hyphens. #************************************************************************** disabled = true|false * Toggles your index entry off and on. * Set to true to disable an index. * Defaults to false. deleted = true * If present, means that this index has been marked for deletion: if splunkd is running, deletion is in progress; if splunkd is stopped, deletion will re-commence on startup. * Normally absent, hence no default. * Do NOT manually set, clear, or modify value of this parameter. * Seriously: LEAVE THIS PARAMETER ALONE. homePath = * An absolute path that contains the hotdb and warmdb for the index. * It is recommended that you specify the path with the following syntax: homePath = $SPLUNK_DB/$_index_name/db At runtime, Splunk expands "$_index_name" to the name of the index. For example, if the index name is "newindex", homePath becomes "$SPLUNK_DB/newindex/db". * Splunkd keeps a file handle open for warmdbs at all times. * May contain a volume reference (see volume section below) in place of $SPLUNK_DB. * CAUTION: The parent path "$SPLUNK_DB/$_index_name/" must be writable. * Required. Splunk will not start if an index lacks a valid homePath. * Must restart splunkd after changing this parameter; index reload will not suffice. * We strongly recommend that you avoid the use of other environment variables in index paths, aside from the possible exception of SPLUNK_DB. * As an exception, SPLUNK_DB is explicitly managed by the provided software, so most possible downsides here do not exist. * Environment variables could be different from launch to launch of the software, causing severe problems with management of indexed data, including: * Data in the prior location will not be searchable. * The indexer may not be able to write to the new location, causing outages and/or data loss. * Writing to a new, unexpected location could lead to disk exhaustion causing additional operational problems. * Recovery from such a scenario will require manual intevention and bucket renaming, especially difficult in an index clustered environment. * In all circumstances, Splunk Diag, the diagnostic tool we use to support you, will have no way to determine the correct values for the environment variables, so cannot reliably operate. You may need to manually acquire information about your index buckets in troubleshooting scenarios. * Generally speaking, volumes provide a more appropriate way to control the storage location for indexes in a general way. coldPath = * An absolute path that contains the colddbs for the index. * It is recommended that you specify the path with the following syntax: coldPath = $SPLUNK_DB/$_index_name/colddb At runtime, Splunk expands "$_index_name" to the name of the index. For example, if the index name is "newindex", coldPath becomes "$SPLUNK_DB/newindex/colddb". * Cold databases are opened as needed when searching. * May contain a volume reference (see volume section below) in place of $SPLUNK_DB. * CAUTION: Path must be writable. * Required. Splunk will not start if an index lacks a valid coldPath. * Must restart splunkd after changing this parameter; index reload will not suffice. * We strongly recommend that you avoid the use of environment variables in index paths, aside from the possible exception of SPLUNK_DB. See homePath for the complete rationale. thawedPath = * An absolute path that contains the thawed (resurrected) databases for the index. * May NOT contain a volume reference. * CAUTION: Path must be writable. * Required. Splunk will not start if an index lacks a valid thawedPath. * Must restart splunkd after changing this parameter; index reload will not suffice. * We strongly recommend that you avoid the use of environment variables in index paths, aside from the possible exception of SPLUNK_DB. See homePath for the complete rationale. bloomHomePath = * Location where the bloomfilter files for the index are stored. * If specified, bloomHomePath must be defined in terms of a volume definition (see volume section below). * If bloomHomePath is not specified, bloomfilter files for index will be stored inline, inside bucket directories. * CAUTION: Path must be writable. * Must restart splunkd after changing this parameter; index reload will not suffice. * We strongly recommend that you avoid the use of environment variables in index paths, aside from the possible exception of SPLUNK_DB. See homePath for the complete rationale. createBloomfilter = true|false * Controls whether to create bloomfilter files for the index. * TRUE: bloomfilter files will be created. FALSE: not created. * Defaults to true. summaryHomePath = * An absolute path where transparent summarization results for data in this index should be stored. Must be different for each index and may be on any disk drive. * It is recommended that you specify the path with the following syntax: summaryHomePath = $SPLUNK_DB/$_index_name/summary At runtime, Splunk expands "$_index_name" to the name of the index. For example, if the index name is "newindex", summaryHomePath becomes "$SPLUNK_DB/newindex/summary". * May contain a volume reference (see volume section below) in place of $SPLUNK_DB. * Volume reference must be used if data retention based on data size is desired. * CAUTION: Path must be writable. * If not specified, Splunk creates a directory 'summary' in the same location as homePath * For example, if homePath is "/opt/splunk/var/lib/splunk/index1/db", then summaryHomePath would be "/opt/splunk/var/lib/splunk/index1/summary". * CAUTION: The parent path "/opt/splunk/var/lib/splunk/index1" must be writable. * Must restart splunkd after changing this parameter; index reload will not suffice. * We strongly recommend that you avoid the use of environment variables in index paths, aside from the possible exception of SPLUNK_DB. See homePath for the complete rationale. * Defaults to unset. tstatsHomePath = * Required. * Location where datamodel acceleration TSIDX data for this index should be stored * MUST be defined in terms of a volume definition (see volume section below) * Must restart splunkd after changing this parameter; index reload will not suffice. * CAUTION: Path must be writable. * Defaults to volume:_splunk_summaries/$_index_name/datamodel_summary, where $_index_name is runtime-expanded to the name of the index remotePath = * Optional. * Presence of this parameter means that this index uses remote storage, instead of the local file system, as the main repository for bucket storage. The index processor works with a cache manager to fetch buckets locally, as necessary, for searching and to evict them from local storage as space fills up and they are no longer needed for searching. * This setting must be defined in terms of a storageType=remote volume definition. See the volume section below. * The path portion that follows the volume reference is relative to the path specified for the volume. For example, if the path for a volume "v1" is "s3://bucket/path" and "remotePath" is "volume:v1/idx1", then the fully qualified path will be "s3://bucket/path/idx1". The rules for resolving the relative path with the absolute path specified in the volume can vary depending on the underlying storage type. * If "remotePath" is specified, the "coldPath" and "thawedPath" attributes are ignored. However, they still must be specified. maxBloomBackfillBucketAge = [smhd]|infinite * If a (warm or cold) bloomfilter-less bucket is older than this, Splunk will not create a bloomfilter for that bucket. * When set to 0, bloomfilters are never backfilled * When set to "infinite", bloomfilters are always backfilled * NB that if createBloomfilter=false, bloomfilters are never backfilled regardless of the value of this parameter * Highest legal value in computed seconds is 2 billion, or 2000000000, which is approximately 68 years. * Defaults to 30d. enableOnlineBucketRepair = true|false * Controls asynchronous "online fsck" bucket repair, which runs concurrently with Splunk * When enabled, you do not have to wait until buckets are repaired, to start Splunk * When enabled, you might observe a slight performance degradation * Defaults to true. enableDataIntegrityControl = true|false * If set to true, hashes are computed on the rawdata slices and stored for future data integrity checks * If set to false, no hashes are computed on the rawdata slices * It has a global default value of false # The following options can be set either per index or globally (as defaults # for all indexes). Defaults set globally are overridden if set on a # per-index basis. maxWarmDBCount = * The maximum number of warm buckets. * Warm buckets are located in the for the index. * If set to zero, Splunk will not retain any warm buckets (will roll them to cold as soon as it can) * Highest legal value is 4294967295 * Defaults to 300. maxTotalDataSizeMB = * The maximum size of an index (in MB). * If an index grows larger than the maximum size, the oldest data is frozen. * This parameter only applies to hot, warm, and cold buckets. It does not apply to thawed buckets. * Highest legal value is 4294967295 * Defaults to 500000. maxGlobalDataSizeMB = * The maximum amount of local disk space (in MB) that a remote storage enabled index can occupy, shared across all peers in the cluster. * This attribute controls the disk space that the index occupies on the peers only. It does not control the space that the index occupies on remote storage. * If the size that an index occupies across all peers exceeds the maximum size, the oldest data is frozen. * For example, assume that the attribute is set to 500 for a four-peer cluster, and each peer holds a 100 MB bucket for the index. If a new bucket of size 200 MB is then added to one of the peers, the cluster freezes the oldest bucket in the cluster, no matter which peer the bucket resides on. * This value applies only to hot and warm buckets. It does not apply to cold or thawed buckets. * The maximum allowable value is 4294967295 * Defaults to 0, which means that it does not limit the space that the index can occupy on the peers. rotatePeriodInSecs = * Controls the service period (in seconds): how often splunkd performs certain housekeeping tasks. Among these tasks are: * Check if a new hotdb needs to be created. * Check if there are any cold DBs that should be frozen. * Check whether buckets need to be moved out of hot and cold DBs, due to respective size constraints (i.e., homePath.maxDataSizeMB and coldPath.maxDataSizeMB) * This value becomes the default value of the rotatePeriodInSecs attribute for all volumes (see rotatePeriodInSecs in the Volumes section) * Highest legal value is 4294967295 * Defaults to 60. frozenTimePeriodInSecs = * Number of seconds after which indexed data rolls to frozen. * If you do not specify a coldToFrozenScript, data is deleted when rolled to frozen. * IMPORTANT: Every event in the DB must be older than frozenTimePeriodInSecs before it will roll. Then, the DB will be frozen the next time splunkd checks (based on rotatePeriodInSecs attribute). * Highest legal value is 4294967295 * Defaults to 188697600 (6 years). warmToColdScript =