Often times big enterprises have difficulty keeping pace with changes in technology. This means more often than not operations teams are responsible for legacy systems and are constrained by the monitoring tools that were built to support those legacy systems. Just because your technology hasn’t changed in decades, however, doesn’t mean you can take advantage of the latest in production monitoring tools.

Last month we introduced AppDynamics X to enable developers and third parties to build extensions for AppDynamics Pro. In this post we will highlight one of our most recent integrations for working with mainframes. Our partnership with DG Technologies enables enterprises to get deep monitoring of their legacy systems with MEAS and AppDynamics Pro.

Organizations that have any dependency on zOS applications will now have the ability to leverage the most innovative, quick to value and scalable approach to Application Performance Monitoring. AppDynamics gives companies the ability to solve very complex problems quickly instead of spending time and consulting dollars configuring and maintaining legacy APM products that have been the only option until now. The integration between AppDynamics and MEAS is game changing for the enterprise mainframe market.

The MEAS Mainframe Monitoring Extension integrates the MEAS system with AppDynamics Pro to give users visibility into key events and metrics for applications that execute on the Mainframe z/OS platform or traverse both open and mainframe platforms. The operations team can utilize a single tool and methodology to monitor both open and mainframe applications plus applying policies against all metrics. Leveraging AppDynamics and the MEAS Mainframe monitoring extensions provides:

Visibility into mainframe applications or mainframe applications called from distributed systems

z/OS Dashboard

DB2 Dashboard

Custom Event Notifications

Business Transaction drill-down to DB2 backend

“The partnership with AppDynamics is very exciting and game changing for our clients and our company! Organizations that have any dependency on the zOS platform will now have the ability to leverage the most innovative, quick to value and scalable approach to Application Performance Monitoring. AppDynamics gives these companies the ability to solve very complex problems quickly instead of spending time and consulting dollars configuring and maintaining legacy APM products that have been their only option until now.” Deb Gannaway, CEO, DG Technologies

Both MariaDB and Percona Server are forks of MySQL and strive to be drop in replacements for MySQL from a binary, api compatibility, and command line perspective.

It’s great to have an alternative to MySQL since you never know what might happen to it given that Oracle bought it for 1 billion dollars. In this blog post I set out to see if these MySQL forks would work 100% with AppDynamics for Databases. If you’re not familiar with the AppDynamics for Databases product I suggest you take a few minutes to read this other blog post.

The Setup

Getting both MariaDB and Percona Server installed onto test instances was pretty simple. I chose to use 2 Red Hat Enterprise Linux (RHEL) servers running on Amazon Web Services (AWS) for no particular reason other than they were quick and easy to get running. My first step was to make sure that MySQL was gone from my RHEL servers by running “yum remove mysql-server”.

Installing both MariaDB and Percona Server consisted of setting up yum repository files (documented here and here) and running the yum installation commands. This took care of getting the binaries installed so the rest of the process was related to starting and configuring the individual database servers.

The startup command for both MariaDB and Percona Server is “/etc/init.d/mysql start” so you can see that these products really do strive for direct drop in adherence to MySQL. As you can see in the screen grabs below I ended up running MariaDB 10.0.3 and Percona Server 5.5.31-30.3.

Connected to each of these databases were 1 instance of WordPress and 1 instance of Drupal in a nearly “out of the box” configuration besides adding a couple of new posts to each CMS to help drive a small amount of load. I didn’t want to set up a load testing tool so I induced a high disk I/O load on each server by running the UNIX command “cat /dev/zero > /tmp/zerofile”. This command pumps the number 0 into that file as fast as it can basically crushing the disk. (Use Ctrl-C to kill this command before you fill up your disk.)

The Monitoring

Getting the monitoring set up was really easy. I used a test instance of AppDynamics for Databases to remotely monitor each database instance (yep, no agent install required). To initiate monitoring I opened up my AppDynamics for Databases console, navigated to the agent manager, clicked the “add agent” button, and filled in the fields as shown below (I selected MySQL as the database type):

My remote agent didn’t connect the first time I tired this because I forgot to configure iptables to let my connection through even though I had set up my AWS firewall rules properly (facepalm). After getting iptables out of the way (I just turned it off since these were test instances) my database monitoring connections came to life and I was off and running.

The Result

Taking a look at all of the data pouring into AppDynamics for Databases I can see that it is 100% compatible with MariaDB and Percona Server. There are no errors being thrown and the data is everything that it should be.

The beauty of my induced disk I/O load was that just by clicking around the web interface of WordPress and Drupal I was getting slow response times. That always makes data more interesting to look at. So here are some screen grabs for each database type for you to check out…