I am using AppMon 6.5 to monitor an Application running in Oracle Weblogic with an Apache server as web server.
The clients perform a lot of HTTP POST requests with json payload and I would like to capture the sent data.
I have configured Web Server sensor (Apache agent) to capture all request headers and request parameters and the Servlet sensor (Weblogic agent) to capture all request headers, request parameters, session attributes...
But I am able to capture only the POST parameters when the clients send the parameters as form-data (e.g. login request consists in two post parameters sent as form-data)
The documentation of Web server sensor states this
Request Parameter Capturing
Capturing the request parameter has some limitations on the web server:
Is it not possible to capture the POST data sent as body (e.g json content)??
Thanks in advance
Solved! Go to Solution.
In that video I can see hoy to capture post parameters sent as form data which is what I am doing right now.
My problem is the post data sent as application/json for example. That body string is not shown in node details though the Web sensor (or Servlet sensor) is configured to capture all the data.
I also read on another post that "Dynatrace can only capture HTTP Parameters - for both GET and POST Requests. But if your POST body is e.g: XML or something other protocol then Dynatrace doesnt capture the full body. If you want to extract certain data out of the body you should try to capture it on the server-side code execution by defining sensors for methods that are processing the individual data parts of the POST BODY"
Dynatrace DOESNT allow you to capture more complex HTTP POST parameters such as JSON or any other non HTTP Parameter-based parameters. Its an outstanding enhancement request.
But - if you have data that come in as JSON I assume it is later processed by your "business logic" - which means - some of these parameters are ending up being passed to methods are method arguments. I typically suggest to create sensors for these methods and capture these arguments.
it actually makes sense to be able to capture body contents in the situation where you can't deploy agents on the subsequent tiers. Take for example applications such as Siebel. We can't instrument the application layer. But the web server is IIS.
Thanks a lot,
I know it makes sense - I understand the use cases. however - dynatrace doesnt do it right now. It could potentially be A LOT of data we had to capture. Or - if you just want to do partial capturing then we would need to run string operations on the content and then just capture the information which is interesting for you. both options mean that it would impact the performance on your agent.
There are several RFEs out there that talk about the same capability though. I will pass this discussion on to the dev team