Splunk documentation states that the Search Heads and Cluster Manager must be on the same or higher version of Splunk in relation to the indexers. Normally, having disparity in versions will produce messages in the Splunk UI or in Splunkd.log for the affected search head indicating the version issue. However, if differences between versions is disparate enough, the Search Heads may fail to communicate with the indexers entirely, depending upon what has changed between Splunk versions.
The simple solution is to upgrade the Search Heads. However, that requires validating all apps on that Search Head will support the newer version of Splunk (which may support varying versions of python). This article offers additional validation steps in the event upgrading search heads is a significant change which requires further investigation.
Search head splunkd.log messages below show they are failing to authenticate with the indexers:
02-20-2025 17:47:21.080 +0000 ERROR DistributedPeerManagerHeartbeat [8948 DistributedPeerMonitorThread] - Status 502 while sending public key to cluster search peer https://XXX.XXX.XXX.XXX:8089:
02-20-2025 17:47:21.080 +0000 ERROR DistributedPeerManagerHeartbeat [8948 DistributedPeerMonitorThread] - Send failure while pushing public key to search peer = https://XXX.XXX.XXX.XXX:8089 , Connect Timeout
The following event may be present on search heads:
WARN SearchMessages - orig_component="DistributedSearchResultCollectionManager" app="system" sid="SummaryDirector_<epoch.time>" message_key="DISTRIBUTED:SEARCH_UNSUPPORTED_PEERS" message=Search Head '<hostName>' running Splunk version 'N.N.N' does not support distributing searches to the following peers: {peer:<host.fqdn> version:N.N.N} {peer:<host.fqdn> version:N.N.N} {peer:<host.fqdn> version:N.N.N} {peer:hksplunk version:N.N.N}.
If this message is seen, the search head is most-likely on an older version of Splunk than the indexers or cluster manager it is reaching out to. Please skip to the resolution section for further instruction. If the above message is not seen and Splunk versioning is the same on search heads, indexers, and cluster managers, use the following instructions to enable debug logging and collect a diag. Be sure the indexers are capable of receiving internal logs from the host in question without an issue:
02-20-2025 17:47:30.397 +0000 INFO AutoLoadBalancedConnectionStrategy [15231 TcpOutEloop] - Connected to idx=XXX.XXX.XXX.XXX:9997:0, pset=0, reuse=0. autoBatch=1
The demonstrates that the issue is affecting the management port (8089) but not the indexers' data receiving port (9997).
The indexers show no references to the search heads at all in their logs (not by IP, hostname or GUID), and the Cluster Manager (CM) only shows the record where each search head was added to the cluster.
Debug logging can verify whether the discrepancy in Splunk versions is causing this issue. Debug logging settings cannot be pushed from the deployer, and the debug logging will affect only the one search head where it is set. Splunk Documentation offers WebUI, CLI and REST API options for enabling debug logging:
From the Web UI (for clustered search heads, this will require a restart of splunkd for the affected member)
DistributedPeerManagerHeartbeat
DistributedPeer
DistributedPeerManager
Or, set these via the CLI, as shown below. Once the needed data is captured change these elements back to INFO in the same manner. This is great for a clustered search head as it does not require a restart of Splunkd to revert the changes:
./splunk set log-level DistributedPeer -level DEBUG
./splunk set log-level DistributedPeerManager -level DEBUG
./splunk set log-level DistributedPeerManagerHeartbeat -level DEBUG
index=_internal host=<search_head_whose_log_levels_were_updated> log_level=DEBUG component=DistributedPeer*
./splunk set log-level DistributedPeer -level WARN
./splunk set log-level DistributedPeerManager -level WARN
./splunk set log-level DistributedPeerManagerHeartbeat -level WARN
The steps above should capture DEBUG messages which state why it is failing to push the public key to the indexers. The debug logs are saved in the diag for support and can also be seen by searching for them in the _internal index.
Per Splunk documentation, the Search Heads (SH's) must be on the same or higher level of Splunk than the search peers.
If the indexers are clustered:
| Revision | Publish Date | Comments |
|---|---|---|
1.0 |
29-Sep-2026
|
Initial Release |