04 Jan 2023 10:58 AM - last edited on 04 Jan 2023 11:52 AM by Ana_Kuzmenchuk
Hi,
We are using Dynatrace to monitor several Java Springboot microservices. Out of the box it doesn't look like Dynatrace offers deep level analysis on our Java Springboot services (even after enabling deep monitoring). Ideally, we'd like to use Dynatrace to view the path a request takes between our services (including Database requests to our MongoDBs).
Some of our services have code-level analysis on tracing (these are being picked up as Apache Tomcat) however it seems to stop once one of our Java services are called. Any ideas on how to enable tracing between our Java services (and ideally deep monitoring as well)?
Thanks 🙂
04 Jan 2023 12:10 PM
Hi @cameronduff
Can you check if the spring capabilities in your environment are set on ?
HTH
Yos
04 Jan 2023 01:10 PM
Thanks for the reply, yes Java Spring Integration is enabled already.
04 Jan 2023 01:17 PM - edited 04 Jan 2023 01:18 PM
I would check which technology is running on the springboot side that is receiving the messages from the Tomcat and check if it supported and its capability is set on.
If that will not work open a support ticket so someone from support can help you with visibility into your environment
Yos
04 Jan 2023 01:23 PM
Thanks, yeah it's turned on, I've gone through the diagnostic files and it looks like the OneAgent is unable to find the jar path and therefore can't inject into the JVM.
08 Jan 2023 08:28 PM
If your technology stack is supported, then raise a support ticket to investigate why OneAgent is failing to inject in the JVM. Otherwise, you will only see the opaque service data as on your screenshot below (FYI - this is captured from the calling side only).
09 Jan 2023 02:25 PM
Thanks Julius, I'll raise a support ticket.
04 Jan 2023 01:38 PM
Hi,
It may be related to service detection: web service request vs web service. In my specific case, the springboot controllers were getting detected as "web services" and had to have a rule to detect as 'web service requests".
https://www.dynatrace.com/support/help/how-to-use-dynatrace/services/service-detection-and-naming
Config API : /service/detectionRules/FULL_WEB_SERVICE
Sample request body
{
"type": "FULL_WEB_SERVICE",
"name": "controllers-service-xyz-rule",
"description": "Rule for xxxxx",
"enabled": true,
"detectAsWebRequestService": true,
"managementZones": [
"MZ01"
],
"conditions": [
{
"attributeType": "WEBSERVICE_NAME",
"compareOperations": [
{
"type": "STRING_CONTAINS",
"invert": "false",
"ignoreCase": "true",
"values": [
"Controller1",
"Controller2",
"Controller3"
]
}
]
}
]
}
Thanks. Tibebe
04 Jan 2023 02:04 PM
Hi Tibebe,
Thanks for the response. Unfortunately both services (one with and one without deep monitoring) are being picked up as web request services!