Much like the nucleus of an atom, a database exists at the center of a system. Information flows from the database to every other component within that system. Database monitoring is the process of observing the performance of your database and recording important metrics that indicate the health and performance. 

Tracking the performance of your database will equip your application teams with the insight that is needed to improve and preserve the highest degree of performance in order to facilitate a resilient application environment. Benefits of monitoring your database include, but are not limited to:

  • Faster identification of database issues.
  • Improved user experience.
  • Key performance indicator (KPI) tracking.

How do we know if there is a problem?

Once you've become aware of the normal baseline of your database, identifying obvious problems becomes effortless. KPIs exceeding set thresholds, database alerts, unsatisfactory response times, resource consumption and an unavailable database are all telltale signs that a problem exists within a database. These issues not only affect database performance, but they also have an impact on application performance and user experience.

What can we do about it?

Finding a database monitoring solution will not only add another tool to your list, but can also require complex installations and lengthy training in order to maximize your return on investment (ROI).  Database Visibility is AppDynamics' solution for continuous multi-platform monitoring and includes benefits such as quick installation, database performance trending and database server hardware monitoring.

Database visibility dashboard
Database Visibility dashboard

View a complete list of AppDynamics Database Visibility supported environments. 

The application monitoring agents collect Business Transaction centric KPIs that assist with visually understanding how your database performance impacts the overall performance of your business applications. With the added ability to identify JDBC calls that impact overall application performance, DevOps teams can quickly locate and troubleshoot database issues.

Business Transaction view of database performance
Business Transaction view of database performance
JDBC call metrics
JDBC call metrics
Optional hardware monitoring metrics
Optional hardware monitoring metrics

Hardware monitoring, an optional feature of database visibility, adds context to database metrics by providing a visual representation on how database hardware performance may be affecting the performance of your database.

How does it work?

Database Visibility consists of a database agent and a database collector. The database agent is an independent Java program that collects the KPIs from the databases and their hosts. Database agents can be installed on any machine running Java version 1.8 or later as long as the target machine has network connectivity to the AppDynamics Controller and the database(s) for which it will monitor.  A single database agent can monitor up to 25 databases, depending on the resources available to that agent.

AppDynamics – Database Visibility
AppDynamics – Database Visibility

A Database Agent Collector is a configurable process that runs within the database agent. Each collector is specifically configured to collect metrics for only one instance of a database. Configuring collectors enable the agent to collect the KPIs regarding your database and database servers. A single database agent can run multiple collectors. The illustration above shows the relationship between Database Agents and Database Collectors within the AppDynamics environment.

Note: The database agent is not installed on the database server. Database agent can be installed on any machine within the application landscape as long as it has network connectivity to the database itself and the AppDynamics platform.

Are you staying informed?

With AppDynamics Database Visibility, health rules and alerts assist in keeping your teams informed when there are anomalies concerning your database KPIs.

AppDynamics – Alert & Respond
AppDynamics – Alert & Respond

A health rule is a feature that allows users to define specific parameters characterizing normal operations for their environment. This framework is dependent upon metric values such as average response time, CPU utilization, calls per minute and errors per minute. In AppDynamics, these configured parameters are considered conditions. Health rules can be applied to specific entities within the AppDynamics environment and are known as affected entities. When an affected entity violates a rule's condition, this is known as a health rule violation. Health rules have statuses (normal, warning, critical and unknown) that are based on the conditions that are violated at any point in time.

health rule statuses

Each time a health rule violation occurs, an evaluation event is registered in the AppDynamics Controller. This event alerts AppDynamics users that there is an issue within their application environment. Alerts can also be configured to be sent via SMS message or e-mail.

AppDynamics evaluation events
Evaluation events in AppDynamics Controller

Conclusion

Database performance is an integral part of an application environment, requiring us to maintain in-depth visibility into our database systems and their hosting servers. AppDynamics Database Visibility constantly monitors our databases and provides statistical information such as calls per minute, database availability, number of connections, time spent in execution, total database size and total lock time. These KPIs do not include the full list of database specific metrics that are available.

Database Visibility allows us to stay proactive approach helping us identify and fix performance problems before they affect user experience.

Technologies