Is there any way to distinguish the various priorities/levels of syslogged messages when viewed from Splunk? I don't see a field that will distinguish the following messages: logger -t MYTAG -p local1.emerg Testing facility and priority/level. logger -t MYTAG -p local1.alert Testing facility and priority/level. logger -t MYTAG -p local1.crit Testing facility and priority/level. logger -t MYTAG -p local1.err Testing facility and priority/level. logger -t MYTAG -p local1.warning Testing facility and priority/level. logger -t MYTAG -p local1.notice Testing facility and priority/level. logger -t MYTAG -p local1.info Testing facility and priority/level. logger -t MYTAG -p local1.debug Testing facility and priority/level.
The information is in the event, so you just need to "teach" Splunk how to see it.
The easiest way is to use the interactive field extractor (search for "extract fields" in the User Manual). If that isn't successful then find the extractions in props.conf (probably under $SPLUNK_HOME/etc/users/MyUserName/AppName/Local) and tweak them. They might look something like this (after tweaking):
[sourcetype_name]
EXTRACT-SyslogFacility = (?i)^.*-p\s(?P<Facility>[^\.]*)
EXTRACT-SyslogSeverity = (?i)^.*-p\s\W*\.(?P<Severity>[^\s]*)
There are umpteen different ways to extract the same data with regexes and I'm no guru so hopefully someone else can provide some tips on optimising this. For a start you could merge them into one extraction:
EXTRACT-SyslogFacSev = (?i)^.*-p\s(?P<Facility>[^\.]*)\.(?P<Severity>[^\s]*)
This regex says:
(?i)
= ignore caseYou could also use "alternatives," where you list all of the possible options that could be the facility or priority, but I'm not sure if that would be any more efficient.
I find Expresso really handy for learning about and testing regexes. Just remember to add the "P" in to the capture group when you paste it into props.conf
The information is in the event, so you just need to "teach" Splunk how to see it.
The easiest way is to use the interactive field extractor (search for "extract fields" in the User Manual). If that isn't successful then find the extractions in props.conf (probably under $SPLUNK_HOME/etc/users/MyUserName/AppName/Local) and tweak them. They might look something like this (after tweaking):
[sourcetype_name]
EXTRACT-SyslogFacility = (?i)^.*-p\s(?P<Facility>[^\.]*)
EXTRACT-SyslogSeverity = (?i)^.*-p\s\W*\.(?P<Severity>[^\s]*)
There are umpteen different ways to extract the same data with regexes and I'm no guru so hopefully someone else can provide some tips on optimising this. For a start you could merge them into one extraction:
EXTRACT-SyslogFacSev = (?i)^.*-p\s(?P<Facility>[^\.]*)\.(?P<Severity>[^\s]*)
This regex says:
(?i)
= ignore caseYou could also use "alternatives," where you list all of the possible options that could be the facility or priority, but I'm not sure if that would be any more efficient.
I find Expresso really handy for learning about and testing regexes. Just remember to add the "P" in to the capture group when you paste it into props.conf
This question and answer might prove useful: http://splunk-base.splunk.com/answers/31036/syslog-facility-and-severity-loglevel
Yes. That answer tells you about no_priority_stripping, which you will need to set in your inputs.conf for that udp input, in order to get the priority field.