Dynatrace monitors all of your application's services, processes, and infrastructure. By evaluating all such components collectively, Dynatrace is able to pinpoint exactly how each service contributes to the performance of your application. For example, in Java monitoring, Dynatrace sees your host, JVM, and processes as a whole. That's how we can easily discover garbage collection issues that affect the services running in a JVM. Also, Dynatrace can show you which of your web services is running on your Tomcat application server, for example, and how your Tomcat server's performance is affected by its host, or even your VMware vCenter server.
Dynatrace automatically detects and names your applications' server-side services based on basic properties of your application deployment and configuration.
Dynatrace visualizes the complexities of your application stack and delivery chain with Smartscape technology. In a Smartscape visualization, you can see which individual web page calls which specific web server, the application server that receives the resulting web requests, and where the resulting web request service calls are sent.
To provide you with a continuous view of service flows, Dynatrace uses the following means to track transactions across tiers:
x-dynatraceheader for HTTP requests
dtdTraceTagInfocustom property for Java-based messaging services
- A unique key for message queues (based on message properties)
Web and mobile applications are built upon services that process requests like web requests, web service calls, and messaging. Such "server-side services" can take the form of web services, web containers, database requests, custom services, and more. Services may in turn call other services.
Processes are essentially containers that host services. When you look at processes, you're seeing topology information, whereas services give you code-level insight. For example, you might have a Tomcat process that hosts a web application in the form of a server-side service. While processes are host-centric, associated with a single machine in your environment, services are request-centric and therefore typically span multiple machines in a data center.
Monitoring begins automatically as soon as OneAgent starts operation and you restart all of your application's server processes. OneAgent captures performance and event-related information in your application environment and forwards it to Dynatrace. The information is then displayed on your home dashboard, on the Service health tile.
Database calls that are made through monitored Java processes are monitored automatically, so there's no need to perform any configuration steps (including deep monitoring setup) on dedicated database server machines in your environment. Just make sure that OneAgent is installed on the host that runs your application server and Dynatrace will take care of the rest.
Dynatrace provides you with deep visibility into the performance of all the services that comprise your web application: web services, web containers, database requests, custom services, and more. You can even track service performance over time, with both historical and up-to-the-moment data.
During initial monitoring setup, once you've restarted all server processes that are eligible for deep monitoring, you don't need to perform any extra configuration. Dynatrace automatically discovers all the services, methods, and database statements that run on the servers that you've set up for monitoring (servers that have been discovered and are fully monitored are displayed during monitoring setup with the status Monitored). OneAgent, on a transactional level, sees and reports all requests that are sent to the software component that you're monitoring. As a result, Dynatrace is able to capture accurate response times and failures rates and associate these metrics with the processes, hosts, real users, and other called services.
If any processes of supported technologies, such as Java, are started following OneAgent installation, those processes are monitored automatically.