Splunk can be configured to route data to non-Splunk systems. To do this, configure a Splunk server to send raw data over TCP to a server and port via outputs.conf. The receiving server should be expecting to receive the data stream on that port.
Additionally, enable conditional routing with props.conf and transforms.conf to be more specific about which data gets routed to third party systems.
ConfigurationOn the Splunk server, edit $SPLUNK_HOME/etc/system/local/outputs.conf:
[tcpout-server://$IP:$PORT] sendCookedData=false
Specify $IP:$PORT as the TCP port and IP address the third party system receives data on.
Set sendCookedData to false so that your Splunk server forwards raw data.
Note: You must list any single server as a part of a target group or default group to send data. Read more about configuring target groups in outputs.conf.
ExampleThis example shows sending a subset of your data from Splunk. To do this you need to specify which data to send to the non-Splunk system. This can be accomplished with props.conf and transforms.conf.
In props.conf, specify the host, source or source type of your data stream. Specify a transform to perform on the input. The transforms will specify the TCP_ROUTING to apply (you can also use transforms REGEX if you wish to be more selective on the input).
In this example, all hosts with hostname beginning with nyc will have the bigmoney transform applied.
In props.conf
[host::nyc*] TRANSFORMS-nyc = bigmoney
In transforms.conf, set the TCP routing to a group that has the default tcp group and the non-Splunk server group.
[bigmoney] DEST_KEY=_TCP_ROUTING FORMAT=bigmoneysiphon
In outputs.conf, define the target groups.
[tcpout] defaultGroup = default-clone-group-192_168_1_104_9700 [tcpout:default-clone-group-192_168_1_104_9700] disabled = false server = 192.168.1.104:9700 [tcpout:bigmoneyreader] disabled = false server=10.1.1.197:9997 sendCookedData=false [tcpout:bigmoneysiphon] defaultGroup,bigmoneyreader
Comments
No comments have been submitted.