Splunk (TCP)
The Splunk (TCP) source runs a TCP listener that receives logs from Splunk universal or heavy forwarders. Incoming records are accepted on a configurable address and port, optionally parsed as JSON or with a regex pattern, and tagged with a log_type attribute for downstream filtering.
Supported Telemetry Types
Linux
✓
Windows
✓
macOS
✓
Kubernetes Gateway
✓
OpenShift Gateway
✓
Prerequisites
A Splunk forwarder (universal or heavy) configured to send data to a third-party TCP destination. See Forward data to third-party systems.
The collector reachable from the forwarder on the configured listen port (default
9997).For Kubernetes Gateway and OpenShift Gateway deployments, a Service that exposes the listen port to the forwarders (see Configuration Tips).
If TLS is enabled, a TLS certificate and private key reachable on the collector host.
Configuration

General
Listen Address
String
0.0.0.0
IP address to listen on.
Listen Port
Integer
9997
Port to listen on. Required.
Log Type
String
splunk_tcp
Value for the log_type attribute. Useful for filtering between many log sources.
Parsing
Parse Format
Enum
none
Method to use when parsing. One of none, json, regex.
Regex Pattern
String
The regex pattern used when parsing log entries. Required when parse_format is regex.
Parse Severity
Boolean
false
Whether to parse severity from the log entry. Available when parse_format is not none.
Severity Field
String
severity
The field containing the severity in the log entry. Required when parse_severity is enabled.
Timestamp
Parse Timestamp
Boolean
false
Whether to parse the timestamp from the log entry. Available when parse_format is not none.
Timestamp Field
String
timestamp
The field containing the timestamp in the log entry. Required when parse_timestamp is enabled.
Timestamp Format
Enum
RFC3339
The format of the timestamp. One of RFC3339, ISO8601, Epoch, Manual. Available when parse_timestamp is enabled.
Epoch Layout
Enum
s
The layout of the epoch-based timestamp. One of s, ms, us, ns, s.ms, s.us, s.ns. Required when parse_timestamp_format is Epoch.
Timestamp Layout
String
%Y-%m-%dT%H:%M:%S.%f%z
The strptime layout of the timestamp. Required when parse_timestamp_format is Manual.
Timezone
Timezone
UTC
The timezone to use if the timestamp format doesn't include one. Available when parse_timestamp is enabled and the format is not RFC3339 or Epoch.
Advanced
Parse To
Enum
body
The field the log will be parsed to. One of body, attributes. Available when parse_format is not none.
Enable TLS
Boolean
false
Whether or not to use TLS.
TLS Certificate File
String
Path to the TLS certificate to use for TLS-required connections. Available when TLS is enabled.
TLS Private Key File
String
Path to the TLS private key to use for TLS-required connections. Available when TLS is enabled.
Minimum TLS Version
Enum
1.2
The minimum TLS version to support. One of 1.3, 1.2, 1.1, 1.0. 1.0 and 1.1 should not be considered secure. Available when TLS is enabled.
Example Configuration
Standalone Source
Configuration Tips
Parsing incoming records
Leave
parse_formatset tononeto forward raw log bodies. Choosejsonfor structured forwarder output, orregexwhen you need to extract fields from a fixed line format. When you selectregex,regex_patternis required.Timestamp and severity parsing only apply once
parse_formatis set to something other thannone. Enableparse_timestampand pointtimestamp_fieldat the field carrying event time so records aren't stamped with ingestion time.
Kubernetes and OpenShift
The source supports Kubernetes Gateway and OpenShift Gateway collectors. Set Listen Address to
0.0.0.0and Listen Port to9997.Point forwarders at the gateway Service, for example
bindplane-gateway-collector.bindplane-collector.svc.cluster.local:9997. If the forwarders live outside the cluster, expose thebindplane-gateway-collectorService in thebindplane-collectornamespace through TCP ingress or a custom Service. See Custom Service.
A matching Splunk forwarder outputs.conf looks like:
Troubleshooting
Symptom: No logs arrive from the forwarder. Solution: Confirm the forwarder's outputs.conf targets the collector host and the configured listen port, and that the collector is reachable on that port. The default port is 9997.
Symptom: Records arrive but parse to a single unstructured body. Solution: Set parse_format to json or regex to match the forwarder output. For regex, make sure regex_pattern matches the incoming line format.
Symptom: Log timestamps reflect ingestion time instead of event time. Solution: Set parse_format to a value other than none, enable parse_timestamp, and set timestamp_field to the field containing the event time. Match parse_timestamp_format to the format of that field.
Related Resources
Last updated
Was this helpful?