Navigation
This version of the documentation is archived and no longer supported. To learn how to upgrade your version of MongoDB Ops Manager, refer to the upgrade documentation.
You were redirected from a different version of the documentation. Click here to go back.

Profile Databases

Overview

Ops Manager can collect and display data from the MongoDB database profilers running on your mongod instances. An instance must have its profiler enabled for Ops Manager to collect data. The profiler provides statistics about database performance and operations. Ops Manager displays collected data in the Profiler section of an instance’s metrics page.

To collect profiling data for a given mongod instance, you must enable profiling on the instance and enable Ops Manager to collect the profiling data from it. To enable both at the same time, see the procedure on this page to Enable Profiling and the Collection of Profiling Data.

To enable Ops Manager collection of profiling data when the profiler is already enabled on a process, see the procedure on this page to Enable Collection of Profiling Data. To enable or disable Ops Manager collection of profiling data for all processes in the group, see Group Settings.

Please read the considerations below before enabling profiling.

Considerations

Before enabling profiling, be aware of the following.

Security

Profile data can include sensitive information, including the content of database queries. Ensure that exposing this data to Ops Manager is consistent with your information security practices.

Resources

The profiler can consume resources which may adversely affect MongoDB performance. Consider the implications before enabling profiling.

Ops Manager samples up to 20 entries or 4MB of data, whichever comes first. The 4MB limit is reached only if you have increased the default size the system.profile collection (which by default is 1MB) and if you have large profiler documents.

The agent sends only the most recent 20 entries from the last minute.

If you use a Monitoring Agent version earlier than version 3.8.0.230, and if the agent authenticates as a user containing the clusterAdmin role, the agent might leak cursors if you enable profiling. A leaked cursor will automatically time-out on the server after 10 minutes.

The Monitoring Agent attempts to minimize its effect on the monitored systems. If resource intensive operations, like polling profile data, begins to impact the performance of the database, Ops Manager will throttle the frequency that it collects data.

Time to Propagate

With profiling enabled, configuration changes made in Ops Manager can take up to 2 minutes to propagate to the agent and another minute before profiling data appears in the Ops Manager interface.

Profiled Operations

The MongoDB profiler stores data in the <database>.system.profile collections. When collecting data from the profiler, Ops Manager ignores data about operations on the <database>.system.profile collections themselves, such as Monitoring Agent queries of the <database>.system.profile collections.

Enable Profiling and the Collection of Profiling Data

1

Click Deployment, then the Processes tab, then the Topology view.

2

On the line listing the process, click Metrics.

Alternatively, you can click the process.

3

Click the Profiler tab above the charts.

4

Toggle the Profiling button to On.

5

Define slow operations.

By default, profiling collects data for operations that take longer than 100 milliseconds. The threshold for slow operations applies to all databases on the process. To change this threshhold, click the number of milliseconds and enter a new number.

6

Click Review & Deploy to review your changes.

7

Review and approve your changes.

Ops Manager displays your proposed changes.

  1. If you are satisfied, click Confirm & Deploy.
  2. Otherwise, click Cancel and you can make additional changes.

Enable Collection of Profiling Data

This procedure enables Ops Manager to collect profiling data from a mongod instance. You must separately enable the instance’s profiler, either upon deployment or through the setProfilingLevel command. If using Automation, you can enable profiling upon deployment by setting the profile option under Advanced Options.

To enabled collection of profiling data from an instance’s active profiler:

1

Click Deployment, then the Processes tab, then the Topology view.

2

Click the ellipses icon for the process and select Monitoring Settings.

3

Click the Profiling tab.

4

Turn on profiling.

Click the button to toggle between Off and On. When the button is On, Ops Manager receives database profile statistics.