Splunk Search
Highlighted

Group Java Exceptions, even though there is no KV pair

Path Finder

I have all types of Java Exceptions within my logs, that have no real form to them, except that they all start with "com." or "java." and end with exactly ".Exception".

For example:

java.lang.IllegalStateException
java.lang.NullPointerException
javax.servlet.ServletException
com.ibm.blah.SomeException
etc.

How can I extract this in-line?

Thanks, Sean

Tags (1)
Highlighted

Re: Group Java Exceptions, even though there is no KV pair

Motivator

If you want it purely inline, try:

| rex field=_raw "\b(?<exception_type>(com|java|javax)\.[\w\.]+Exception)"

(Match on either "com" or "java" or javax, followed by a dot, and then as many word characters or dots as you need until you finish with "Exception")

If you'd rather not have to use it in the search string, then:

In transforms.conf:

[exception-type]
REGEX  = \b((com|java|javax)\.[\w\.]+Exception)\b
FORMAT = exception_type::$1

In props.conf:

[yoursourcetype]
REPORT-exceptions = exception-type

Or, you can configure an eventtype for each exception type or group of exception types.

Highlighted

Re: Group Java Exceptions, even though there is no KV pair

Path Finder

How do I then reference these fields? I tried the following, but it did not work.

eventtype="allweb" *Exception | rex field=raw ".(?(com|java).[\w.]+Exception)" | stats count(exception_type) by host

Thanks for the help!

0 Karma
Highlighted

Re: Group Java Exceptions, even though there is no KV pair

Communicator

I think you have a simple typo. Taking part of your query:
".(?(com|java).[\w.]+Exception)"
try this:
".(<?exception_type>(com|java).[\w.]+Exception)"

0 Karma
Highlighted

Re: Group Java Exceptions, even though there is no KV pair

Motivator

You're right that it was a typo, but the question mark was in the right place. The leading dot should have been a word breaker ('.' vs '\b'). Edited above to correct.

0 Karma