MongoDB has fundamentally changed the way developers think about developing their user facing applications. Eeking out the last bit of performance from the application is no longer a terrifying prospect -- MongoDB offers blisteringly-fast performance by allowing the developer to store the data in the shape that the application requires it. This means that if required, all the data is returned in a single query - there's no need to spend extra disk seeks to complete joins across many other tables. Given that the majority of user interaction in applications requires a database action, a speedy database can be a big stress reliever for teams responsible in ensuring users are having a first-class experience.
But of course the database is only one part of the technology stack. On top of this, you have the devices, browsers, hardware infrastructure, networks, APIs, application code, and other factors than can impact end-user experience.
What is APM?
APM (Application Performance Management) tooling allows users to monitor and visualize the performance that the end user is experiencing within the application. It can help isolate performance issues that are compromising end user experience. It allows the tracing of application requests through the application code - monitoring latency from method calls down to database transactions.
Monitoring MongoDB with Ops and Cloud Manager
MongoDB has a comprehensive platform for monitoring and managing MongoDB deployments. Available on-premise or as a cloud-hosted SaaS solution, MongoDB Ops Manager and MongoDB Cloud Manager give users all the critical metrics that they need to ensure their MongoDB deployment is functioning as expected, and can be used to help identify any potential performance bottlenecks at the database level.
It is possible to configure alerts on key metrics within the Ops Manager and Cloud Manager interfaces. Any time a metric surpasses a certain threshold, an alert is triggered. Never again will you miss a critical alert - simply receive an email or text message telling you that your disk is about to run out of free space, or your page faults are getting too high.
Beyond monitoring, Ops Manager and Cloud Manager let you manage your MongoDB deployments with automatic provisioning and zero-downtime upgrades of MongoDB servers, as well as providing a point-in-time backup solution for your critical MongoDB data. Collectively, Ops Manager and Cloud Manager can make your operations teams 10-20x more productive.
Many operations teams use Application Performance Monitoring (APM) platforms to gain global oversight of their complete IT infrastructure from a single management UI. When finer grained telemetry on MongoDB performance is needed, operations and administrators can drill down into the 100+ system metrics maintained by Ops Manager and Cloud Manager.
Bringing it all Together: MongoDB and APM solutions
We are excited to announce new, tightly-coupled integrations with leading APM vendors. The engineering work has focused on two distinct areas of enhancement: integrating Ops Manager and Cloud Manager with APM tooling, and adding better support for tracing calls through our drivers.
Ops and Cloud Manager integration with New Relic
By providing a plugin for MongoDB within New Relic, users are able to visualize all the MongoDB database metrics available in Ops Manager and Cloud Manager directly within the New Relic interface. Having all metrics within a single interface simplifies correlating performance events from the application with the underlying database, making it faster to detect and resolve any issues impacting customer experience
Once you have entered your New Relic license key into your Ops and Cloud Manager settings, metrics will automatically start appearing in pre-configured dashboards in the New Relic Plugins screen for MongoDB. These metrics will also be available via New Relic Insights.
Ops Manager and Cloud Manager are pre-integrated with New Relic Insights. By allowing Insights to collect this data, it is possible to create interesting charts and graphs - you can slice-and-dice and drill-down across metrics, or even ask questions on how metrics are varying over time. You could, for example, create a chart that shows that a MongoDB collection grew by some-percentage in the last 24 hours. The greatest part about Insights is that you can create charts to visualize any aspect of the collected data that you are interested in.
Enhancement stability of APM monitoring of MongoDB drivers
Prior to this new release of MongoDB, APM solutions would need to inject code into our drivers in order to gather execution metrics from them. This method was brittle and proved to be inconsistent across different drivers - any new changes made to the driver would often break the APM vendor code injection and cause a significantly delay in supporting new versions of MongoDB drivers.
We have subsequently provided each driver with a standardised metrics API that provides an easy hook-in for APM vendors to gather correct, consistent information that doesn't break at each future driver release.
Enhanced integration with APM allows users to debug application performance by drilling down from the application to the MongoDB-level from within the same tool. While changes to the drivers will be transparent for end-users, APM vendors can find more information about the command-event specification for each driver on Github. New Relic Plugin and Insights integration with Cloud Manager is scheduled for availability at the end of this year. Ops Manager integration is scheduled for first half of 2016.
Learn more about MongoDB Cloud Manager, the easiest way to run MongoDB in the cloud.
About the Author - Sam Weaver
Sam Weaver is the Product Manager for Developer Experience at MongoDB based in New York. Prior to MongoDB, he worked at Red Hat doing technical presales on Linux, Virtualisation and Middleware. Originally from Cheltenham, England; he received his Bachelors in Computer Science from Cardiff University. Sam has also cycled from London to Paris, competed in several extreme sports tournaments such as ToughMudder, and swam with great white sharks.