MongoDB is a cross-platform NoSQL database that uses JSON-like documents with optional schema to store data. It was designed for high availability, high performance for high-data persistence use cases, and automatic scaling. Of course, all with the right infrastructure in mind. It is usually a good choice for document-oriented use cases when you need quick prototyping or massive scale.
With the massive scale comes massive traffic, though. The larger the data size the more challenges with the infrastructure and running application. MongoDB is not different. You need a complete view of potential issues and be notified before they reach your users. This is why you need a good monitoring solution.
In this article, we will look at some of the best monitoring MongoDB tools and services that will help you run your database instances and clusters without surprises.
Top Solutions for MongoDB Performance Monitoring
There are two types of tools to pick from when it comes to MongoDB monitoring: built-in commands and fully-fledged observability solutions. Below I’ll compare both of them with their pros and cons to help you make the best choice for your use case.
1. Built-in MongoDB Monitoring Commands
MongoDB provides two very useful commands to check its health and status:
You can use mongostat to get a quick overview of the MongoDB instance with information about the number of operations, usage, size, and network utilization. A quick and easy way to get the information about the instance itself, for example,
The mongotop command gives you information on MongoDB’s read and write operations, exposed in read time and printed by default, every second:
There are also commands that you can run from within the MongoDB instance itself including
- serverStatus – returns the general status of the database,
- dbStats – returns the storage statistics for a selected database,
- collStats – returns the statistics on the collection level,
- replSetGetStatus – returns the status of the replica set from the perspective of local MongoDB server on which you will run the command.
- Available out of the box with MongoDB.
- All these commands give you ad-hoc information. To get full and insightful visibility into your MongoDB instances and clusters, you need a proper monitoring solution like the ones below.
2. Sematext Monitoring
Sematext Monitoring is a full-stack observability platform with advanced capabilities for MongoDB monitoring. Easy to set up and intuitive, it provides pre-build dashboards mapping out all the necessary MongoDB metrics and the infrastructure elements supporting it, such as the CPU, memory, and network. Sematext features a powerful alerting system that allows you to create alerts for crucial MongoDB resources. As soon as an issue happens, it will notify you via your chosen notification channel from the many available, including e-mail, Slack, and custom webhooks.
- Alerting with anomaly detection and alert importance make it easy to stay informed when important MongoDB metrics change, such as query time or errors.
- Support for logging and real user monitoring, useful when you need to correlate the spikes in metrics such as average query time or the high number of inflight queries with the increase in traffic.
- Out-of-the-box key MongoDB metrics and performance monitoring.
- Auto-discovery capabilties and pre-built dashboards allow you to start monitoring MongoDB in seconds without the need to preconfigure the whole monitoring solution and without in-depth knowledge about MongoDB.
- Lack of full-featured profilers.
- Limited support for transaction tracing makes it impossible to view the transaction starting in the frontend and ending in the data store.
Sematext’s pricing is simple yet very flexible. Plans depend on your needs and requirements. MongoDB performance monitoring is metered by the hour, making it suitable for both static and dynamic environments. It starts with $3.6 per host per month for the standard plan and 7 days of monitoring data retention.
Check out the video below to learn more about what Sematext Monitoring can do for you:
3. MongoDB Cloud Manager
MongoDB Cloud Manager is a cloud-based MongoDB management solution that allows you to not only monitor your MongoDB instances and clusters but also deploy, backup and scale it – all in the cloud. You can monitor metric trends, observe live workload characteristics and get performance improvement suggestions. It also enables you to configure conditional or threshold-based alerts to avoid bottlenecks and don’t miss anything about your MongoDB metrics, including real-time performance, load spikes, hot collections, and slow queries.
- Management and monitoring tool in a single pane of glass.
- Performance advisory functionality allows you to identify slow running queries and get schema recommendations.
- Monitor load spikes and slow queries for quick and easy performance problem resolution.
- Built-in administrative tools enable you to automate backups, deployment, and scaling.
- Limited visibility into the MongoDB instance metrics.
The MongoDB Cloud Manager starts at $39/per server per month with a limited free tier available.
4. Prometheus & Grafana
The Prometheus + Grafana combo is an open-source MongoDB monitoring solution – it can easily be a single go-to place for all your monitoring needs. The setup is very easy and straightforward: install the Prometheus exporter, point your Grafana to it, and you are done. A plethora of plugins available makes it a good option if you need to monitor your MongoDB instances and clusters as well as the common infrastructure elements.
- Very powerful visualization and dashboarding capabilities for getting critical information about your MongoDB instances and clusters.
- Supports creating and managing alerts based on your MongoDB metrics so that you don’t miss anything important.
- Enables connection of various data sources for broader visibility giving you a single tool for observability of the whole environment.
- Well-known and mature inside the open-source community.
- Support for logs and traces makes it suitable as a full-stack observability tool.
- Self-maintained version requires housekeeping, but the cloud version is also available.
There is no pricing associated with Prometheus and Grafana. It is an open-source solution, and the only cost is the one paid for maintaining it in your environment.
Datadog is a comprehensive software as a service monitoring solution with MongoDB monitoring capabilities. It provides all the key MongoDB metrics needed for in-depth insight into what is happening with your database. The tool features anomaly detection and alerting backed up by machine learning algorithms helping you avoid alert fatigue and focus on the vital information regarding your MongoDB instances and clusters. In addition, you get code-level insights with easy root cause analysis for improved troubleshooting.
- Out-of-the-box MongoDB performance monitoring with the default agent package.
- Support for various deployment types such as bare metal, virtual machines, Docker, Kubernetes, and ECS.
- Service auto-discovery helps keep up with expanding MongoDB environments automatically.
- Network and host monitoring provide an in-depth view of the environment that your MongoDB instances are running in.
- Support for logs and metrics ensures full visibility of your MongoDB instances and requests, including their data source.
- Depending on your needs, the pre-built, out-of-the-box dashboard may not give you full visibility – i.e. you may miss hardware related metrics. That means you may have to spend time adjusting it to have the full visibility into your MongoDB instances and clusters.
Datadog’s pricing varies depending on what part of the solution you use. For basic MongoDB monitoring, you can go for application performance monitoring. This plan starts at $31/host per month when billed annually or $36/host per month when billed monthly.
6. New Relic
New Relic is a software-as-a-service platform that allows you to easily monitor effectively monitor the performance, usage stats and availability of your MongoDB database. While it features pre-build MongoDB monitoring dashboards, it also has the option of customizing them via its their New Relic Query Language functionality. Combining that with robust alerting and root cause analysis, the solution provides everything needed for an efficient MongoDB monitoring strategy.
- Integrated alerting with anomaly detection notifies you when metrics don’t behave as expected.
- Supports various deployment types such as bare metal, virtual machines, Docker, Kubernetes, and ECS, and integrates with well-known cloud providers including AWS, Azure, and Google Cloud Platform.
- Rich and powerful query language – NRQL for custom visualizations that are not part of the preconfigured dashboards.
- Log centralization and analysis functionality allow you to keep an eye on both metrics and logs, giving you a broader view over your MongoDB database.
- The initial setup for the monitoring agent requires more manual input compared to the competing solutions, especially if you’re not running your MongoDB on Kubernetes or ECS.
User and data-based pricing are available depending on the needs. The user type determines the available features and the amount of data you can send without an additional fee. For example, the Standard plan comes with 100GB of data/month for free. Anything beyond this limit will be charged with $0.3/GB. This plan includes up to 5 users with full access to the monitoring solution and an unlimited number of basic users without access to features such as APM, infrastructure monitoring, synthetics, serverless monitoring, and more.
Zabbix is a mature, well-known, open-source monitoring tool that gives you full MongoDB visibility in a single pane of glass. It gained popularity due to the large number of supported technologies running in different environments, which made it a good tool choice for more complex technology stacks. With its multi-system agents, you can monitor MongoDB regardless of the environment it runs on. You can set up alerts to be triggered whenever metrics breach their tresholds so that you don’t miss any event related to your database.
- Support for all relevant infrastructure components giving you complete visibility into all key elements that affect MongoDB performance.
- Out-of-the-box support for email, SMS, Slack, Hipchat, and XMPP-based notification enables the delivery of MongoDB-related notifications to appropriate stakeholders, no matter their communication channel.
- Template-based host management and auto-discovery for monitoring large and dynamic environments hosting MongoDB instances and clusters.
- Open-source with a strong community as well as commercial support.
- Initial setup and configuration may be troublesome and requires manual work.
- The UI feels outdated compared to some of the commercial solutions reviewed.
Zabbix is open-source and comes with no license fee.
Nagios is one of the oldest, most popular, and established monitoring tools available on the market, with a large and dedicated community backing it up. It’s a common go-to choice due to its extensible architecture that supports integration with a wide variety of technologies. It is a monitoring solution for not only your MongoDB instances and clusters but also your whole infrastructure and the applications running it. Nagios offers open-source and commercial enterprise solutions, namely, Nagios Core and Nagios XI, with the former having fewer capabilities.
- Alerts with escalation capabilities ensure that performance-related notifications are delivered instantly to the appropriate team members.
- Full monitoring solution for all infrastructure elements, which makes it a single place to go for troubleshooting applications and infrastructure-related issues, including those related to MongoDB.
- Mature solution with a user-friendly GNU GPL license.
- Powerful scripting API helps you monitor virtually anything and adjust monitoring to your needs.
- Rich reporting capabilities include SLAs reports and performance-related insights into the status of the whole environment, including your MongoDB database.
- To get full visibility into your MongoDB clusters, you need multiple plugins and a lot of manual work with no one-click installers available.
You have free and unlimited access to Nagios Core. Nagios XI comes with more features and two different pricing tiers – Standard, which starts at $1995 per 100 nodes, and Enterprise, which starts at $3495.
Site24×7 is a cloud monitoring tool that provides the basic metrics needed to monitor the health and status of your MongoDB instances and clusters. Besides MongoDB, Site24x7 offers performance monitoring for over 50 different technologies running inside your infrastructure, including commonly used ones such as MySQL, Elasticsearch, Redis and more. The alerting engine features an advanced rules system or better and more narrowed alerts. This helps you limit alert fatigue and get instant insights into the performance issue affecting your MongoDB database.
- Out-of-the-box support for basic MongoDB metrics, such as available and current connections, heap usage, and total open cursors.
- Support for MongoDB health monitoring regardless of the platform it runs on – Windows, Linux, containers, or any of the common cloud providers.
- Easy-to-build dashboards enable custom views into each component of your infrastructure, including MongoDB metrics such as memory utilization and CPU usage.
- Quick and easy agent installation.
- The APM plan is not enough to get full visibility into your MongoDB database and the infrastructure that supports it.
- Server monitoring support for a limited number of technologies.
Site24x7’s pricing varies depending on what parts of the product you plan on using. When billed annually, the APM pricing plan starts at 35 euro per month for up to 3 applications, 40 servers, and up to 500MB of logs. If you want visibility into the metrics of the servers MongoDB is running on, you need infrastructure monitoring, whose annual plan starts at 9 euros per month for up to 10 servers, 500MB of logs, and 100K page views for a single site.
10. ManageEngine Applications Manager
ManageEngine Applications Manager is a unified application performance monitoring service that offers MongoDB monitoring regardless of the environment you’ve chosen for your operations. It supports all common infrastructure architectures, including bare metal, virtual machines, and containers. With a flexible alerting engine and notification support, the tool lets you easily keep track with what is happening with your MongoDB database, as well as analyze and detect performance trends.
- Customizable dashboarding capabilities enable better visibility, allowing you to focus on crucial MongoDB metrics depending on your monitoring requirements.
- Support for MongoDB metrics no matter the runtime environment – Amazon Web Services, Microsoft Azure, Google Cloud Platform, OpenStack, or bare metal.
- Hotspot detection for quick insights into potential problems with MongoDB and the applications using it.
- Lack of support for metrics and logs correlation.
- Interface feels heavy compared to some of the mentioned competitors providing MongoDB health and performance monitoring.
ManageEngine Applications Manager provides a free tier of up to 5 monitors. If you need more, you can choose from one of its two pricing tiers – Professional and Enterprise. The pricing depends on your monitoring needs, the number of monitors, and the number of users using the platform.
Dynatrace is a full-stack monitoring tool that gives you a comprehensive and user-friendly way to monitor the health and performance of your MongoDB instances and clusters. Dynatrace works with any kind of runtime, including Docker, Kubernetes, and OpenShift, as well as well-known cloud providers like Amazon Web Services, Google Cloud Platform, or Microsoft Azure. The solution combines preconfigured MongoDB monitoring dashboards, robust alerting, and auto-detection of MongoDB databases for easy monitoring, no matter if you have a single instance of multiple clusters. While it exposes metrics in real-time, Dynatrace also stores those metrics for historial analysis.
- MongoDB queries and metrics correlation makes it easy to identify the outliers that hurt the service experience for your users.
- Monitoring MongoDB metrics from your application perspective reduces the time it takes to solve performance issues.
- AI-powered anomaly detection with root cause analysis speeds up the troubleshooting of your MongoDB instances, clusters, and the execution environment, and avoid downtime.
- The number of features may be initially overwhelming.
- Can quickly become expensive.
Dynatrace’s pricing depends on the features that you choose to use. For MongoDB monitoring, you need application performance monitoring, whose pricing is based on the number of hosts and the amount of memory available on a host. Each 16GB is a host unit, and the price is calculated using the number of host units in an hour. It can become quite expensive for large MongoDB clusters, so keep that in mind if Dynatrace is your go-to solution.
12. SolarWinds Database Performance Monitor
SolarWinds Database Performance Monitor is a monitoring tool designed to help cross-functional teams monitor and optimize many types of databases, including MongoDB. It provides observability into key real-time and historical metrics coming from MongoDB and its environment. It gives visibility into the current state of the database and helps indentify potential performance bottlenecks. Besides monitoring, SolarWinds also helps with setting it up according to best practices and continuously scans database configuration to detect optimization opportunities.
- Support for all the necessary MongoDB metrics along with memory, performance, requests, and more.
- Automated profiling analysis provides a centralized view of throughput, latency and errors related to your MongoDB instances.
- Monitors MongoDB in any runtime environment – on-premises, in the cloud, or hybrid.
- Includes security checks to identify vulnerabilities, security issues, or compliance violations, making sure that your MongoDB configuration follows security best practices.
- Alerting engine could be more flexible and allow alerts on metrics over time.
No clear pricing available at the time of writing. You can get a quote from a sales representative or use the interactive form available on their solutions online quote page.
OpsView is an all-in-one monitoring system providing monitoring coverage for your cloud platform, on-premises infrastructure, containerized and virtualized environment, and applications, including MongoDB. This tool is designed to automatically grow with your infrastructure, so you don’t have to worry about your current and future architecture – OpsView has you covered only when it comes to not only key MongoDB metrics but more than 200 infrastructure elements.
- Alerts with notification with support for mobile, e-mail, Slack, and Twilio.
- Customizable dashboarding, including performance graphs and network maps for full visibility into your MongoDB instances, the runtime environment they run on, including network metrics.
- Rich set of integrations and monitoring coverage include metrics for many infrastructure elements besides MongoDB itself, making it a single place for all your monitoring needs.
- Clear and easy-to-navigate UI.
- Compatible with a rich set of Nagios plugins.
- Pricing available on demand.
OpsVewi’s pricing is available on request, but the official pricing page mentions a starting price of 9 euros per host per month in the cloud version.
Whether you are using a single MongoDB instance, a few independent ones, or you have multiple clusters that have you working with a complicated and scalable distributed system, you need to keep an eye on their health and performance. Choosing the right solution to help with this is not simple. Such a tool should provide all the necessary MongoDB metrics, help with root cause analysis, and allow metrics, logs, and traces correlation. It should be user-friendly, fast, and easy to use. It should shield you from alerts fatigue but notify you when things are about to go wrong. Hopefully, this MongoDB monitoring tools comparison will help you make the best choice for your use case.