cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SpringBoot - Service Is Detected After Enabling Deep Monitoring But Only Outbound Calls Are Captured In Traces/Requests

victor_correa
Participant

Hi team,

I have run into an issue with a SpringBoot application in our environment that I was hoping to get some assistance with.
The hosts in which the process runs on have been configured in Full Stack Monitoring Mode and the Process/Application instances have been restarted - Dynatrace indicates that Deep Monitoring is enabled in the Process Analysis section.

There are services that were detected as "Requests Running in Background Threads" in the Services page, but the actual Service I want to monitor also appears on the list, but it stays largely inactive and only captures the inbound calls (scheduled penetration and vulnerability tests).

The service should be issuing HTTP calls to other APIs and a database, and I can't see any of those.

I had a similar issue in the past in which enabling the Reactor Netty HTTP Client OneAgent feature did the trick, so I tried doing the same, but it didn't work.

These are the Primary and Secondary Technologies detected for the Process:

victor_correa_0-1756230368022.png

I wonder if there's a different OneAgent Feature that I need to enable, or if this would be something on the application side (HTTP Client, etc).

Thank you,

7 REPLIES 7

Julius_Loman
DynaMight Legend
DynaMight Legend

I see reactor-core among the technologies. as well as tomcat 11.  Can you check if OneAgent features:

  • Java Project Reactor Core v3 tracing
  • Java Servlet 5.0
  • Java servlet

are enabled?

Is this a JIT Java or a Native image? What kind of service do you miss? Web request service, webservice, messaging?

Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

victor_correa
Participant

Hi @Julius_Loman ,

Thanks for chiming in.

The Java Project Reactor Core v3 Tracing feature is not enabled - I'll setup a process override to have it enabled only for this process and check the results. Java Servlet and Java Servlet 5.0 are enabled at the environment level.

The issue is not so much with the service missing, the service does get detected, but I can only see traces/requests for inbound calls, specifically, vulnerability tests. These are the properties for the detected Web Service:

victor_correa_1-1756299806396.png

The Web Request Services calls other APIs and a Mongo Database, but I can't see these calls at all.


Regards,
Victor Correa

 

 

 

MongoDB reactive streams is not (yet) supported, see Dynatrace technology support roadmap.
I think this is the situation you do not see the MongoDB calls. The support for reactor is required if you have an application using it. It's perfectly fine to enable it globally, as it has already been released.

 
Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

victor_correa
Participant

I have noticed one thing that may or may not be relevant, but on the Technology Support Documentation page there is a reference to Java Servlet 5.0 being a requirement for Apache Tomcat version 11.

victor_correa_1-1756308553172.png

The Process I'm having issues with is Apache Tomcat version 11.0.9.0, so you might hit the nail on the head with the Java Servlet 5.0.

I'll give that a try first.

victor_correa
Participant

Nevermind, Java Servlet 5.0 is enabled.

I'll setup the process override to enable the Java Project Reactor Core v3 Tracing feature and check if that does the trick for me.

Thanks

As I said before - you most likely won't see any mongodb calls as the reactive driver (I assume you are using it) is not yet supported with reactive tracing. Outbound HTTP calls should be detected (I think support for reactor core will help here).

Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

victor_correa
Participant

If I get the HTTP Calls, at least, that would be a good starting point. And once the Mongo Reactive Tracing becomes available I can revisit the setup with the team.

I have checked a different service that calls the same DataBase and I can see the calls to the MongoDB (including the query) in the traces:

victor_correa_0-1756324242729.png

If I can get to that level of detail with the Process I'm having issues with, it'll be great.

Anyway, I'll flag one of your responses as a solution as I just realized I can't enable the Reactor Core feature at the environment level nor can I set it up at the process level because of access restrictions. But I believe it might be what I'm missing with this.

I appreciate you taking the time to share your insights @Julius_Loman . 

 

Featured Posts