04 May 2020 04:01 PM - last edited on 16 Mar 2023 02:22 PM by Ana_Kuzmenchuk
I have an exception that I am trying to tell Dynatrace to ignore that is turning out to be tricky.
A couple of question that I am hoping I can find answers too.
Question 1:
This looks like 2 exceptions looking at the purepath. You have the top which is...
Exception:
com.sun.jersey.api.container.MappableContainerException
But then you also have the exception at the start of the message which is...
Message:
com.atlassian.bitbucket.content.NoSuchPathException:
I am 99% sure the exception to be placed in the "exception class" rule below should be whats called out as the exception and not the exception listed at the start of the message, correct?
Question #2
We do not want to ignore all exception messages that can come from that exception class. We only want a specific type which is shown below. Does the message value to filter on start at the "com.altassian.bitbucket.content.NoSuchPathExcetion:" or does it begin at "The path....."?
Message:
com.atlassian.bitbucket.content.NoSuchPathException: The path "Jenkinsfile" does not exist at revision "ecfb6ba40XXXXXXXXXXXXXX847cb3b"
Question #3
Question 2 then takes me into question 3 🙂 This specific exception message has a different revision value each and every time. I have tried setting the "type a string that, if found..." by just adding part of the message, but that does not appear to work. For example if I use the value "The path "Jenkinsfile" does not exist at revision" in that field below. It's a bit confusing because its stated in a way that makes it sound like you can just put part of the message to act as a type of wildcard. Which is also another question... Can I wildcard the revision value part of the message?
Thank you!
Solved! Go to Solution.
04 May 2020 06:04 PM
Hi ..
Yes - you can do so. Go to Settings/Server Side Monitoring/Deep Monitoring and add a rule in the Section "Exclude noisy and unnecessary exceptions".
br
Hans-Peter
04 May 2020 10:36 PM
I did not even think about there. I would think I would want to set this here:
The problem is, I don't think I can wildcard the message in here, can I?
Thanks!
05 May 2020 01:42 PM - last edited on 16 Oct 2023 03:28 PM by random_user
Looks like there is an RFE on this.
05 May 2020 06:44 PM
Hi.
There is not a dedicated wildcard for the Message and/or class. You could just specify a part of the string and use the "contains" - matching.
According to your Idea of being able to specify this in the Error-Detection Settings: Think this is a good idea to make this feature easier to find.
br
Hans-Peter
30 Aug 2021 11:44 AM - edited 30 Aug 2021 02:04 PM
Thanks to posting this, I search the same configuration.
Did you get any way to do it?
I have also a question:
If the exception appear under multiple services, we must to do the configuration everywhere or there is a way to make globally?
I found this menu
Is it what we need?
Good Day.
30 Aug 2021 11:12 PM
You're welcome!
To date, I do not think it is possible to wildcard unfortunately. However, yes you can set to ignore exceptions on a global level from one spot. See below...
Enjoy!
31 Aug 2021 07:56 AM
Thanks a lot @larry_roberts
with this way
the exception will completely ignored, or counted as successful in the statistics?
I mean in the request count ... the request of this exception will be taken under consideration or definitly ignred from any statistic.
31 Aug 2021 08:10 AM
Hi @Malaik and @larry_roberts ,
if you ignore the exceptions in the deep monitoring settings then they are not captured and you won't see them. This setting is global.
If you change the configuration on the service settings screen, this affects the failure detection - that means exceptions will be captured (you will see them), but they won't be used as failure reasons. Or you can also setup different rules such as mark request as successful when an exception is found..
Luckily, you don't have iterate over a list of your services and you can setup rules using API to define those. This is achieved through Failure detection configuration API.
It's available from Dynatrace version 1.216. This approach is very flexible and allows you to configure rules on subsets of your services.
To summarize:
From my experience, the failure detection mechanism is often overlooked by customers and then they are struggling with alerting noise since Dynatrace considers unknown exceptions to be failures by default. (Exceptions messages such as "Bad password" are good examples).
31 Aug 2021 08:38 AM
Thanks @Julius_Loman
My need is to put that rules to ignore more than 500 exceptions (business exceptions: the team gived me a list of message--> dimension Message) mainly to not generate alerts.
So do you have an explicite example to show how can I create a list of parameter based on exception and dimension message, after that create a rule to put.
Also, after creating the rule, it will appear in the global setting under this menu ?
31 Aug 2021 09:51 AM - edited 31 Aug 2021 09:54 AM
@Malaik No, those rules are not visible in the UI at the moment. Unfortunately.
Your screenshot shows exceptions that will be excluded from capturing. This is different from the exceptions ignored for failure detection described below.
You need a parameterSet - those parameters are applied
{
"id": "My_Business_Exceptions",
"name": "My Business exceptions handling",
"description": "Rules for ignoring exceptions in my awesome business application",
"successForcingExceptionPatterns": [
],
"ignoredExceptionPatterns": [
{
"classPattern": "org.springframework.security.access.AccessDeniedException",
"messagePattern": ""
}
]
}
Then you need detection rule describing where to apply the ruleset (fdpId must be equal to the parameter set id created above):
{
"id": "MyApp",
"name": "MyApp exceptions",
"description": "Scope for ignoring exceptions in my awesome app",
"enabled": true,
"fdpId": "My_Business_Exceptions",
"conditions": [
{
"attribute": "SERVICE_TAG",
"predicate": {
"type": "TAG_EQUALS",
"keys": [
"MyApplication"
],
"values": [
"AWESOME"
]
}
}
]
}
31 Aug 2021 03:19 PM
Yeah we have had to do a few this way and it is a pain. This really needs to get added to the GUI.
31 Aug 2021 04:15 PM - edited 01 Sep 2021 08:39 AM
Agreed. At least the rules should be visible when they are effective on a service. Just as it is with the global naming rules (also editable using API only).