Deployment Architecture

KVStore does not start when running Splunk 9.4 ( WITH A SOLUTION )

triptraptresko
Path Finder

After completing the upgrade from Splunk Enterprise version 9.3.3 to v9.4 the KVstore will no longer start. Splunk has yet to do the KVstore upgrade to v7 as the KVstore cannot start. We were already on 4.2 wiredtiger.

The problem we had, was our custom certificates did not have the proper extendedUsages set.
When we signed the certificates with extendedKeyUsage = serverAuth, clientAuth and restarted Splunk, the kvstore started, upgraded automatically and is running. It even works on search head clusters.

Note, the splunk documentation says that custom certificates are not working. But we've made it work
Here is the particular doc: https://docs.splunk.com/Documentation/Splunk/9.4.1/Admin/MigrateKVstore#Check_your_deployment

I am in the process of creating a supportcase with them. 

triptraptresko_2-1744117799334.png

 




Yay!

Here is how I figured out the issue:
Let's start the troubleshooting.

index=_internal log_level IN (warn, error) | chart count by component useother=false

Saw a lot of errors in components 'mongoclient' and 'KVstorageProvider'

triptraptresko_0-1744116986288.png

 



Searching these components

index=_internal log_level IN (warn, error) component IN (KVStorageProvider, MongoClient)

04-08-2025 14:55:03.784 +0200 ERROR KVStorageProvider [37886 KVStoreUpgradeStartupThread] - An error occurred during the last operation ('replSetGetStatus', domain: '15', code: '13053'): No suitable servers found (`serverSelectionTryOnce` set): [connection closed calling hello on '127.0.0.1:8191']

04-08-2025 14:55:04.370 +0200 WARN  MongoClient [54380 KVStoreUpgradeStartupThread] - Disabling TLS hostname validation for localhost


Not very useful log messages. However, we can search the mongod.log as well

index=_internal  source="/opt/splunk/var/log/splunk/mongod.log"


On my search head cluster peers, they had a very specific error in the field attr.error.errmsg:
(THIS will not show up on other splunk servers, but AS YOU WILL SEE, THIS IS THE ISSUE)

SSL peer certificate validation failed: unsupported certificate purpose

triptraptresko_1-1744117362897.png

 

In this particular environment, we use custom certificates.
And to check what usages was allowed with my certificates, i ran the following command:

openssl x509 -in <path of my certificate> -noout -purpose

triptraptresko_3-1744118039482.png

Notice that SSL server is Yes, whereas SSL client is No. Meaning this certificate is not able to be used for client authentication. GOTCHA!!!

So you need to create a new signing request, with an extendedKeyUsage

extendedKeyUsage = serverAuth, clientAuth

However, it is up to the signer to actually respect this request. So I would double check after the CSR has been signed, that it has the correct extended purpose.

After pushing the new certificate to the server, and restarting Splunk, the kvstore automatically upgraded, and started after ~5 minutes.

I verified using this command:

/opt/splunk/bin/splunk show kvstore-status --verbose

triptraptresko_4-1744118289306.png

Notice the serverVersion and uptime.

Good luck with the goddamn certificates. That was the solution for us

1 Solution

triptraptresko
Path Finder

My kvstores were empty, but ideally one would try to search the kvstore in order to verify that it works.
Another way to verify is to check the monitoring console > Search > KV Store: Instance.
If you can see panels, the kvstore is working!
However, if the page is just white, it is not working 😞

triptraptresko_1-1744118977727.png

 

triptraptresko_0-1744118934930.png

 

View solution in original post

Lemine
Engager

I have the same issue, even though my certificate includes both:

 

openssl crl2pkcs7 -nocrl -certfile cert_combined.pem | \ openssl pkcs7 -print_certs -text -noout | grep -A1 "Extended Key Usage"

 

X509v3 Extended Key Usage: TLS Web Client Authentication, TLS Web Server Authentication

--

X509v3 Extended Key Usage: TLS Web Server Authentication

 

However, the intermediate certificate (leaf CA) only has TLS Web Server Authentication, and as a result, the KV Store fails to start.

0 Karma

triptraptresko
Path Finder

My kvstores were empty, but ideally one would try to search the kvstore in order to verify that it works.
Another way to verify is to check the monitoring console > Search > KV Store: Instance.
If you can see panels, the kvstore is working!
However, if the page is just white, it is not working 😞

triptraptresko_1-1744118977727.png

 

triptraptresko_0-1744118934930.png

 

Get Updates on the Splunk Community!

Strengthen Your Future: A Look Back at Splunk 10 Innovations and .conf25 Highlights!

The Big One: Splunk 10 is Here!  The moment many of you have been waiting for has arrived! We are thrilled to ...

Now Offering the AI Assistant Usage Dashboard in Cloud Monitoring Console

Today, we’re excited to announce the release of a brand new AI assistant usage dashboard in Cloud Monitoring ...

Stay Connected: Your Guide to October Tech Talks, Office Hours, and Webinars!

What are Community Office Hours? Community Office Hours is an interactive 60-minute Zoom series where ...