How does Dynatrace achieve automatic database detection?

Databases are an integral part of many applications. If, for example, your Java application server relies on a database, we will automatically detect this service and set up monitoring for it.

Discovery of databases in your environment varies depending on how your application calls them. If a server for which you've enabled deep visibility monitoring calls a database, that database will be added immediately to your home dashboard (counted on the Databases tile) and related dashboards.

For details on supported databases and versions, see supported databases.

With Dynatrace database monitoring you can:

  • Find expensive statements, for example those that read a lot of data.
  • Find out which services talk to each database most frequently.
  • See how much load is placed on your database by individual services.
  • See which users execute SQL statements.
  • Understand why some statements are slow.
  • Be notified of increased SQL statement costs and execution.

No installation required

Database calls that are made through monitored Java, .NET, or Node.js processes are monitored automatically. We support every database interaction through a JDBC compliant driver. Just ensure that Dynatrace OneAgent is installed on the host that runs your application server and we'll take care of the rest.

Dynatrace treats databases as external services. Dynatrace monitors database calls rather than the database server processes themselves. However, even though databases are monitored differently that other services, you can still see your databases load, response times, and failure rates.

How database activity is monitored

In the case of databases, we don't consider methods, but rather commits, queries, and modifications. By monitoring such calls, Dynatrace is able to deliver automatic performance-issue detection for databases. For example, if your database queries or commits slow down, we'll notify you immediately. We'll even show you which services are impacted by the problem.

When monitoring database activity, Dynatrace shows you which database statements are executed most often and which statements take up the most time. You can also see which services execute the database statements. For example, Dynatrace knows automatically when a service begins sending too many database statements and pushes a database server beyond its capacity.

Database problem alerts

When a database-related problem is raised, for example due to a drop in response time, Dynatrace tells you if there is a correlation between the problem and any load increase on a related service, which may be the root cause of the problem.