Introduction AppDynamics for Databases Version 2.9.4 Page 1
Introduction to AppDynamics for Databases.................................... 3 Top Five Features of a Database Monitoring Tool............................. 6 AppDynamics for Databases Architecture.................................... 7 Page 2
Introduction to AppDynamics for Databases Today s applications are increasingly complex. From the web user interfaces to the backend databases and all services between, it's a big challenge for DevOps and DBAs to keep applications running efficiently. AppDynamics Pro along with AppDynamics for Databases gives you end-to-end visibility into the performance of your applications, helping you dramatically reduce the time it takes to find and fix database performance issues. Nearly all applications rely on a large database. Data volumes are constantly growing and usage patterns and user volumes can suddenly change; any loss of performance can have damaging consequences. In an Agile development environment, performance management is essential to rapidly rolling out updates. Visibility into these ever-changing environments is critical to successful operations. Copyright AppDynamics 2012-2015 Page 3
AppDynamics for Databases monitors: busy production databases; CPU consumption on the database servers; NetApp Controllers; and Linux, Windows, and Solaris servers. AppDynamics for Databases monitors 24x7 without impacting the performance of the instance. AppDynamics for Databases monitors remotely by providing user and network connectivity to the instance, nothing else. The above architectural image depicts the AppDynamics for Databases environment. The AppDynamics for Databases controller runs on a dedicated Windows or Linux server where the database or infrastructure collectors also run. The AppDynamics for Databases collector establishes a Java Database Connectivity (JDBC) connection with the monitored system at predetermined intervals to capture performance metrics. The AppDynamics for Databases collector also establishes a JDBC connection to the AppDynamics for Databases MySQL database which it updates with the captured metrics. You connect to the browser-based UI of the App4DB controller to see real-time performance data, run reports, and manage alerts. Copyright AppDynamics 2012-2015 Page 4
AppDynamics for Databases takes a time-based approach to monitoring, providing you with visibility of the database performance over time. You can see the current performance of connected sessions, drill down into SQL Explain plans, view database statistical information, and browse database objects. You can see what is happening now as well as what occurred over the last day, the last week or the last month. AppDynamics for Databases answers important questions such as What happened to the online application yesterday to make it slow down? and Why is the overnight batch job still running this morning at 8:55? AppDynamics for Databases sorts database activity by efficiency, showing you the worst performing activities. You can immediately see potential problems, such as which SQL statement or stored procedure is consuming system resources, which machine is experiencing lags, and which programs are causing the bottlenecks. For example, AppDynamics for Databases shows how much time is spent fetching, sorting or waiting on a lock. AppDynamics for Databases takes tiny sub-second snapshots and builds a complete picture of what is happening on the database instance. This information tells you exactly what is active within the instance and most importantly what SQL statements are executing. The depth of data collected from AppDynamics for Databases is comprehensive and allows detailed drill down. An expert DBA can view the resource consumption profile of an instance, drill into a performance spike, and then find the underlying root cause within seconds. When your SQL code is running well, AppDynamics for Databases shows this without requiring you to analyze configuration parameters and metrics. Copyright AppDynamics 2012-2015 Page 5
Top Five Features of a Database Monitoring Tool On this page: Top Five Features of a Database Monitoring Tool Rate this page: There are many database monitoring tools available today, so choosing the right one can be time consuming. Many traditional tools and methodologies of looking at database performance don't work and many companies waste time and money looking at the wrong statistics. This topic describes the features experts agree that an efficient and effective database monitoring tool should provide. Proudly, AppDynamics for Database provides all these features. Top Five Features of a Database Monitoring Tool Low Overhead - Production safe and does not impact database workload. Detailed Data Collection - Provides the details required to locate the root cause of performance issues. The types of performance data that are the most useful are resource consumption and wait event statistics; for example, how much CPU a program has used during a specific time period, or which wait events were most prevalent during a problematic Copyright AppDynamics 2012-2015 Page 6
period. Other important information pertains to statistics relating to the SQL statements; for example, how many buffer gets an Oracle query initiates over time or per execution. The higher the number of buffer gets, the more expensive the query is. Current and Historical Data - Provides both current performance information and detailed performance history, assisting in problem diagnosis after an event and facilitating performance over time trend analysis. Low Total Cost of Ownership - Easy to install, implement, and maintain. Common GUI for all Database Types - Monitors and facilitates performance analysis of the most prevalent enterprise databases with a common GUI. AppDynamics for Databases Architecture The AppDynamics for Databases Controller runs on Apache Tomcat. The controller can run on either a physical or virtual machine on either Windows or Linux. One controller can manage multiple collectors. Collectors are Java applications. There is a different collector for each type of system monitored: Database collectors use JDBC over TCP/IP to query IBM DB2 LUW, Microsoft SQL Server, Microsoft SQL Azure, MySQL, Oracle, MongoDB, PostgreSQL, Pivotal Greenplum and Sybase ASE/IQ databases. Server collectors use SSH to query Linux and UNIX based systems, and WMI calls to query Windows systems. Storage collectors use the NetApp ONTAP API to query NetApp FAS controllers or the SanTricity API to monitor E-Series arrays over HTTP or HTTPS. The graphical user interface (GUI) to AppDynamics for Databases is presented on a web browser using Java Server Pages. The user interface provides historical insight into the monitored systems. By default, the data displayed is refreshed once every minute.the default port number to connect to the AppDynamics for Databases GUI is 8090. Collected metrics, alerts, collector configurations, and other relevant data are stored in a MySQL 5.6 database named dbtuna. Copyright AppDynamics 2012-2015 Page 7
Copyright AppDynamics 2012-2015 Page 8