Diagnosing Splunk Forwarder Connectivity Problems: A Step‑by‑Step Checklist
When a Splunk forwarder stops sending data, pinpointing the root cause quickly saves time. This guide walks through common symptoms, diagnostic checks, fixes, and when to reach out for help.
31 May 2026, 21:17 UTC

When a Splunk forwarder silently stops sending data, dashboards go stale and alerts stop firing — often without any obvious error on the indexer side. The useful takeaway: almost every forwarder outage falls into one of five buckets (firewall, DNS, parsing, indexer storage, or load balancing), and each has a distinct log signature you can check in minutes.
This guide assumes Splunk Universal Forwarder 8.x or 9.x forwarding to Splunk Enterprise indexers over the default receiving port (9997). Commands are examples, not tested output — verify against your own environment before making changes.
Recognizing the condition
The classic symptom is a gap in data: searches return no new events from a host that previously reported, or a sourcetype stops updating while others keep flowing. Confirm the gap is real before touching anything:
index=_internal source=*metrics.log group=tcpin_connections
| stats latest(_time) as last_seen by hostnameRun this in Splunk Web on the indexer (requires search access to _internal). Hosts whose last_seen is older than a few minutes are candidates for investigation.
Cause and diagnostic quick reference
| Symptom | Likely cause | First diagnostic |
|---|---|---|
| No new events from a forwarder | Firewall blocking the receiving port | Search splunkd.log for "Connection refused"; check port state with netstat |
| Repeated "Failed to connect to indexer" | DNS resolution failure | nslookup the indexer hostname from the forwarder |
| High CPU/memory, no data forwarded | Parsing errors on large or malformed inputs | Look for "input error" or "parse error" in splunkd.log |
| "Index full" / "Disk full" messages | Indexer storage exhausted | Check indexer disk usage in Splunk Web or with df |
| "Connection reset" after initial send | Network instability or load balancer misconfiguration | TCP trace on the forwarder; load balancer logs |
Ordered checks on the forwarder
Work through these in order; each step rules out a layer. Run them on the forwarder host as the user that owns the Splunk installation (or root for network tools).
- Confirm the configured target. Run
$SPLUNK_HOME/bin/splunk list forward-server. This shows the indexer IP and port the forwarder believes it should use. If the output is empty or wrong, the problem is configuration, not networking. - Check name resolution. Run
nslookup indexer.example.com(replace with your indexer hostname). If resolution fails, fix DNS or add a correct entry to/etc/hosts— and confirm the hostname in your outputs.conf or deployment app matches. - Test the port. On Linux,
nc -zv indexer.example.com 9997; on Windows,netstat -an | find "9997"plusTest-NetConnection indexer.example.com -Port 9997in PowerShell. A refused or timed-out connection points at a firewall. Remember firewalls exist at two layers: the host firewall and the network perimeter. Check both. - Read the forwarder log. The file
$SPLUNK_HOME/var/log/splunk/splunkd.logcontains the actual error strings from the table above. Grep for recent errors:grep -iE "refused|failed to connect|reset|parse error" $SPLUNK_HOME/var/log/splunk/splunkd.log | tail -50. Note: the forwarder's OS user needs write permission to this log directory — a permission problem can leave you with stale or missing logs that mask the real issue. - If using HEC, validate the token. For HTTP Event Collector inputs, a revoked or expired token drops data without a loud error. Confirm the token still exists and is enabled in Splunk Web under Settings → Data Inputs → HTTP Event Collector.
Fixes tied to findings
- Firewall block: Open TCP 9997 (or your configured port) on the host firewall and any perimeter firewall between forwarder and indexer. Alternatively, reconfigure the forwarder to send over a port already allowed by policy.
- DNS failure: Correct the indexer hostname in the forwarding configuration, or fix the DNS record. Avoid hardcoding
/etc/hostsentries as a long-term fix — they drift. - Parsing/load problems: Split very large input files, exclude noisy or malformed sources in inputs.conf, and confirm the forwarder isn't tailing files it can't parse (binary logs are a common offender).
- Indexer disk full: Add storage, tighten the retention policy (frozenTimePeriodInSecs in indexes.conf), or delete old data. This is an indexer-side change — coordinate with whoever owns the indexer cluster.
- Connection resets behind a load balancer: Verify load balancer health checks target the receiving port, raise idle timeouts, or configure multiple indexer endpoints in outputs.conf so the forwarder can fail over natively.
Verifying the fix
After any change, confirm data is flowing before closing the ticket:
- On the forwarder:
splunk list forward-servershould show the indexer with an active state. - On the indexer: in Splunk Web, check Settings → Forwarder Management (or the Data Inputs page) and confirm the forwarder appears as an active source.
- Run a search over the last 15 minutes for the host:
index=main host=<forwarder-host>— new events should appear within a minute or two.
When to escalate
Escalate to your Splunk administrator or Splunk support when: the indexer itself is disk-full or unhealthy and you don't own it; TLS/certificate errors appear in splunkd.log (certificate changes affect the whole deployment); multiple forwarders fail simultaneously (points to indexer, network, or deployment server issues rather than a single host); or resets persist after load balancer adjustments and you need packet captures reviewed by the network team.
Limitations
Log message wording varies slightly across forwarder versions, so grep broadly. If your environment uses indexer discovery, intermediate forwarders, or TLS client certificates, add those layers to the ordered checks. Always test configuration changes on one forwarder before pushing them through a deployment server.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.