Hi,
How can I extract hostname from path?
/dir/server1/*.log
/dir/server2/*.log
/dir/server3/*.log
I want server1, server2 and server3 to be hostname. My current config --
[ INPUTS.CONF ]
[monitor:///dir/*/messages]
host_regex = /dir/([\w\.\-_a-zA-Z0-9]+)/
source = /var/log/messages
disabled = 0
followTail = 1
I am pre-processing logs ( i.e. transforming before sending them to indexer ) and this config is applied to pre-processing instance. This either doesn't extract the information or extracts wrong information.
Since the hostname is always the second element in your path, it would be easier to use the segment number (2 in your case).
Replace the host_regex line with:
host_segment = 2
See the documentation for more details.
I would also suggest that you not use the source= parameter; source is supposed to be the name of the file being monitored. Splunk can determine this accurately and automatically.
Since the hostname is always the second element in your path, it would be easier to use the segment number (2 in your case).
Replace the host_regex line with:
host_segment = 2
See the documentation for more details.
@joelshprentz - Thanks! But, same problem! Splunk think's host name field should be the splunk forwarder's name and not folder name! 😞