In any server, it is a best practice to disable processes or services which are not expressly needed. This helps with resource management, ensures unrelated issues are avoided during upgrades and restarts, and can help reduce a system's attack surface. This article discusses in which Splunk Enterprise instances need the KV Store to remain active, and which do not.
Splunk Enterprise will run the KV Store (MongoDB database) by default unless it is specifically disabled. Because the KV Store is only used for searches, it can be disabled on every Splunk Enterprise instance that does not need it to function.
In most use cases, the KV Store can (and probably should) be disabled on the following instances:
The only Splunk Enterprise instances that expressly use the KV Store are:
If your Monitoring Console (MC) is co-located with another server role such as the License Manager or Search Head Cluster Deployer, and you want to ensure the MC's KV Store dashboards will function properly, do not disable the KV Store. (See also Splunk Doc on Which instance should host the console)
To disable the KV Store on a Splunk Enterprise instance:
[kvstore]
disabled = true
Then, restart Splunkd on the affected instance:
$SPLUNK_HOME/bin/splunk restart
OR
sudo systemctl restart Splunkd.service
$SPLUNK_HOME/bin/splunk show kvstore-status
If KV Store is disabled, result should show:Encountered some errors while trying to obtain kvstore status.
KVStore is unavailable.
server.conf's [kvstore] stanza for a specific instance:$SPLUNK_HOME/bin/splunk btool server list kvstore --debug
If KV Store is still running but this command shows disabled=true, restart Splunkd on this instance for the settings to take effect.
For clustered indexers, this setting should be added to the Cluster Manager in a custom app or the Splunk-provided _cluster app located at management_apps/_cluster/local/server.conf.
$SPLUNK_HOME/etc/system/local.For configurations deployed via a Deployment Server, place the server.conf configuration into a custom app in the Deployment Server's $SPLUNK_HOME/etc/deployment-apps directory.
$SPLUNK_HOME/etc/system/local path will take precedence over any configurations pushed by the Deployment Server. Use the btool command to validate current on-disk configurations and from where a Splunk Enterprise instance's configurations originate.On all Splunk Enterprise instances that are NOT clustered indexers, $SPLUNK_HOME/etc/system/local settings take the highest precedence. So, just like with Deployment Clients, any configuration coming from this folder will override all other settings on the server.
| Revision | Publish Date | Comments |
|---|---|---|
1.0 |
01-Oct-2026
|
Initial Release |