SQL Server puts both the ERRORLOG and SQLAGENT logs in the same directory. When Splunk automatically assigns a sourcetype, it can end up with some random sourcetypes over time (e.g. ERRORLOG-95).
I have been assigning aliases to these random sourcetypes, but that is not a scalable solution.
How can I either:
- assign all ERRORLOG* sourcetypes to an alias
- manually specify that all ERRORLOG files get one sourcetype and the SQLAGENT logs in the same directory get another sourcetype
Thank you
The easiest way is to just use wildcard specifications in your input files, e.g.:
[monitor://c:\logs\SQLAGENT*.LOG]
sourcetype = sqlagent
[monitor://c:\logs\ERRORLOG*.LOG]
sourcetype = sqlerror
[monitor://c:\logs\]
sourcetype = sqlother
I added an entry to catch other logs, but that is optional. Splunk will work fine and chose the most specific (longest) matching monitor, provided you're collecting using version 4.1 or higher forwarders or indexers. In older versions, you can accomplish the same things (with a slightly more complexity) using a companion props.conf with [source::]
stanzas to set the sourcetype on the forwarders. Finally, you can always use an index-time TRANSFORM, but that is the most complex and most resource-intensive method.
The easiest way is to just use wildcard specifications in your input files, e.g.:
[monitor://c:\logs\SQLAGENT*.LOG]
sourcetype = sqlagent
[monitor://c:\logs\ERRORLOG*.LOG]
sourcetype = sqlerror
[monitor://c:\logs\]
sourcetype = sqlother
I added an entry to catch other logs, but that is optional. Splunk will work fine and chose the most specific (longest) matching monitor, provided you're collecting using version 4.1 or higher forwarders or indexers. In older versions, you can accomplish the same things (with a slightly more complexity) using a companion props.conf with [source::]
stanzas to set the sourcetype on the forwarders. Finally, you can always use an index-time TRANSFORM, but that is the most complex and most resource-intensive method.
You can do a transform to change the sourcetype for ERRORLOG at index time. Instructions for this can be found at this splunk blog: