Welcome to Knowledge Base!

KB at your finger tips

This is one stop global knowledge base where you can learn about all the products, solutions and support features.

Categories
All

Database-MongoDB

Configure the Slow Query Threshold — MongoDB Cloud Manager

Configure the Slow Query Threshold¶

The Performance Advisor recognizes a query as slow if it takes longer to execute than the value of slowOpThresholdMs. By default, this value is 100 milliseconds. You can change the threshold with either the profile command or the db.setProfilingLevel() mongosh method.

Example

The following profile command example sets the threshold at 200 milliseconds:

db.runCommand({
  profile: 0,
  slowOpThresholdMs: 200
})

If you are running MongoDB 3.6 or later, you can customize the percentage of slow queries in your logs used by the Performance Advisor by specifying the sampleRate parameter.

Example

This sets the slow query threshold to a lower value of 100 milliseconds but also sets the sample rate to 10%.

db.runCommand({
  profile: 0,
  slowOpThresholdMs: 100,
  sampleRate: 0.1
})

Note

By default, the value of profile is 0 . MongoDB recommends leaving this value unchanged since other values can negatively impact database performance. To learn more, see the profile command.

Manage the MongoDB Agent Functions — MongoDB Cloud Manager

Manage the MongoDB Agent Functions¶

On this page

  • Manage Backup Function
    • Activate Backup
    • Deactivate Backup
  • Manage Monitoring Function
    • Activate Monitoring
    • Deactivate Monitoring
  • Manage Automation Function
    • Activate Automation

Manage Backup Function¶

Activate Backup¶

  1. From your Context menu, click the project that has the hosts you want to configure.

  2. Click Deployments .

  3. Click Servers .

  4. On the host where you want to activate Backup, click ellipsis icon .

  5. Click Activate Backup .

  6. From the banner, click Review & Deploy .

  7. If you want to activate Backup, click Confirm & Deploy . Otherwise click Cancel , then Discard Changes to cancel activating Backup.

    Note

    Only one host can backup a deployment at a time. On the Server tab, the host that is backing up the deployment displays Backup - active . Any other host with Backup activated displays Backup - standby .

Deactivate Backup¶

  1. From your Context menu, click the project that has the hosts you want to configure.
  2. Click Deployments .
  3. Click Servers .
  4. On the host where you want to deactivate Backup, click ellipsis icon .
  5. Click Deactivate Backup .
  6. From the banner, click Review & Deploy .
  7. If you want to activate Backup, click Confirm & Deploy . Otherwise click Cancel , then Discard Changes to cancel deactivating Backup.

Manage Monitoring Function¶

Activate Monitoring¶

  1. From your Context menu, click the project that has the hosts you want to configure.

  2. Click Deployments .

  3. Click Servers .

  4. On the host where you want to activate Monitoring, click ellipsis icon .

  5. Click Activate Monitoring .

  6. From the banner, click Review & Deploy .

  7. If you want to activate Monitoring, click Confirm & Deploy . Otherwise click Cancel , then Discard Changes to cancel activating Monitoring.

    Note

    Only one host can monitor a deployment at a time. On the Server tab, the host that is monitoring the deployment displays Monitoring - active . Any other host with Monitoring activated displays Monitoring - standby .

Multiple Monitoring Agents

You can activate Monitoring on multiple MongoDB Agents to distribute monitoring assignments and provide failover. Cloud Manager distributes monitoring assignments among up to 100 running MongoDB Agents. Each MongoDB Agent running active Monitoring monitors a different set of MongoDB processes. One MongoDB Agent running active Monitoring per project is the primary Monitor. The primary Monitor reports the cluster’s status to Cloud Manager. As MongoDB Agents have Monitoring enabled or disabled, Cloud Manager redistributes assignments. If the primary Monitor fails, Cloud Manager assigns another MongoDB Agent running active Monitoring to be the primary Monitor.

If you run more than 100 MongoDB Agents with active Monitoring, the additional MongoDB Agents run as standby MongoDB Agents. A standby MongoDB Agent is idle, except to log its status as a standby and periodically ask Cloud Manager if it should begin monitoring.

If you install multiple Monitoring Agents, ensure that all the MongoDB Agents with active Monitoring can reach all the mongod processes in the deployment.

To activate Monitoring on multiple MongoDB Agents, repeat the activation process on multiple MongoDB Agents.

Deactivate Monitoring¶

  1. From your Context menu, click the project that has the hosts you want to configure.
  2. Click Deployments .
  3. Click Servers .
  4. On the host where you want to deactivate Monitoring, click ellipsis icon .
  5. Click Deactivate Monitoring .
  6. From the banner, click Review & Deploy .
  7. If you want to deactivate Monitoring, click Confirm & Deploy . Otherwise click Cancel , then Discard Changes to cancel activating Monitoring.

Manage Automation Function¶

Activate Automation¶

Automation is activated when you:

  • Deploy a standalone MongoDB instance
  • Deploy a replica set
  • Deploy a sharded cluster
  • Import an existing MongoDB deployment into Cloud Manager.
Read article

Rotate Automation Password — MongoDB Cloud Manager

Rotate Automation Password¶

On this page

  • Prerequisites
  • Procedure

We recommend that you rotate the automation user’s password periodically. Cloud Manager provides an automated procedure for password rotation with no downtime.

Prerequisites¶

To enable password rotation for the automation user, you must meet the following requirement:

  • SCRAM-SHA-1 or SCRAM-SHA-256 set up as a supported authentication mechanism for the Automation.

Procedure¶

1
2

On the line for the automation user, click Rotate Password

3

Click Review & Deploy to review your changes.¶

4

Click Confirm & Deploy to deploy your changes.¶

Otherwise, click Cancel and you can make additional changes.

Read article

Aggregation Pipeline Builder — MongoDB Cloud Manager

Aggregation Pipeline Builder¶

On this page

  • Required Roles
  • Access the Aggregation Pipeline Builder
  • Create an Aggregation Pipeline
  • Export an Aggregation Pipeline to Driver Language
  • Aggregation Pipeline Settings

The Data Explorer provides an aggregation pipeline builder to process your data. Aggregation pipelines transform your documents into aggregated results based on selected pipeline stages.

The MongoDB Atlas aggregation pipeline builder is primarily designed for building pipelines, rather than executing them. The pipeline builder provides an easy way to export your pipeline to execute in a driver.

To interact with data in the Cloud Manager UI:

  1. Click Deployment in the left navigation.
  2. Select the desired MongoDB deployment.
  3. Select the Data tab.

Required Roles¶

To create and execute aggregation pipelines in the Data Explorer , you must have been granted at least the Project Data Access Read Only role.

To utilize the $out stage in your pipeline, you must have been granted at least the Project Data Access Read/Write role.

Access the Aggregation Pipeline Builder¶

1

Select the database for the collection.¶

The main panel and Namespaces on the left side list the collections in the database.

2

Select the collection on the left-hand side or in the main panel.¶

The main panel displays the Find , Indexes , and Aggregation views.

3

Select the Aggregation view.¶

When you first open the Aggregation view, the Data Explorer displays an empty aggregation pipeline.

Create an Aggregation Pipeline¶

1

Select an aggregation stage.¶

Select an aggregation stage from the Select dropdown in the bottom-left panel.

The toggle to the right of the dropdown dictates whether the stage is enabled.

2

Fill in your aggregation stage.¶

Fill in your stage with the appropriate values. If Comment Mode is enabled, the pipeline builder provides syntactic guidelines for your selected stage.

As you modify your stage, the Data Explorer updates the preview documents on the right based on the results of the current stage.

3

Add additional stages to your pipeline as desired.¶

There are two ways to add additional stages to your pipeline:

  • Click the Add Stage button at the bottom of the pipeline to add a new stage at the end of your pipeline:
  • Click the plus icon button on a stage to add a new stage directly after the stage where the button was clicked.
Screenshot highlighting add stage button.

To delete a pipeline stage, click the trash icon icon on the desired stage.

4

Repeat steps 1 and 2 for each additional stage.¶

Collation¶

Use collation to specify language-specific rules for string comparison, such as rules for lettercase and accent marks.

To specify a collation document, click Collation at the top of the pipeline builder.

A collation document has the following fields:

{
   locale: <string>,
   caseLevel: <boolean>,
   caseFirst: <string>,
   strength: <int>,
   numericOrdering: <boolean>,
   alternate: <string>,
   maxVariable: <string>,
   backwards: <boolean>
}

The locale field is mandatory; all other collation fields are optional. For descriptions of the fields, see Collation Document.

Import an Aggregation Pipeline from Text¶

You can import aggregation pipelines from plain text into the pipeline builder to easily modify and verify your pipelines.

To import a pipeline from plain text:

1

Open the New Pipeline from Text dialog.¶

  1. Click the arrow next to the plus icon at the top of the pipeline builder.

  2. Click New Pipeline from Text .

2

Type or paste your pipeline in the dialog.¶

Your pipeline must match the syntax of the pipeline parameter of the db.collection.aggregate() method.

3

Click Create New

4

Click Confirm in the ensuing dialog.¶

Reset Your Pipeline¶

To return your pipeline to the initial blank state, click the plus icon at the top of the pipeline builder.

Export an Aggregation Pipeline to Driver Language¶

You can use the aggregation pipeline builder to export your finished pipeline to one of the supported driver languages; Java, Node, C#, and Python 3. Use this feature to format and export pipelines for use in your applications.

To export your aggregation pipeline:

1

Construct an aggregation pipeline.¶

For instructions on creating an aggregation pipeline, see Create an Aggregation Pipeline .

2

Click Export to Language at the top of the pipeline builder.¶

3

Select your desired export language.¶

In the Export Pipeline To dropdown, select your desired language.

The My Pipeline pane on the left displays your pipeline in mongosh syntax.

The pane on the right displays your pipeline in the selected language.

4

Include import statements, if desired.¶

(Optional) : Check the Include Import Statements option to include the required import statements for the language selected.

5

Click the Copy button.¶

Click the Copy button at the top-right of the pipeline to copy the pipeline for the selected language to your clipboard. You can now integrate your pipeline into your application.

6

Click Close to return to the aggregation pipeline builder.¶

Aggregation Pipeline Settings¶

To modify the aggregation pipeline builder settings:

1

Click the settings icon icon at the top-right of the pipeline builder.¶

Screenshot highlighting pipeline settings button.
2

Modify pipeline settings as desired.¶

You can modify the following settings:

Setting Description Default
Comment Mode

When enabled, the Data Explorer adds helper comments to each stage.

Note

Changing this setting only affects new stages and does not modify stages which have already been added to your pipeline.

On
Number of Preview Documents Number of documents to show in the preview for each stage. 20
3

Click Apply to save your changes.¶

Read article

MongoDB Agent — MongoDB Cloud Manager

MongoDB Agent¶

Before the introduction of the MongoDB Agent, each function – Automation, Backup, and Monitoring – ran as a separate agent binary in your project.

The MongoDB Agent runs as a single binary that can perform any – or all – of the three functions depending upon what you need.

  • Activate the monitoring and/or backup functions using Cloud Manager UI.
  • Activate automation when you create a new cluster or import an existing one.
MongoDB Agent Prerequisites
Configure MongoDB Agent prerequisites.
Install MongoDB Agent
Install the MongoDB Agent.
Update to the MongoDB Agent
Update the MongoDB Agent.
Restart the MongoDB Agent
Restart the MongoDB Agent.
Manage the MongoDB Agent Functions
Activate or deactivate all functions of the MongoDB Agent.
MongoDB Agent Settings
Find all possible settings available in the MongoDB Agent configuration file.
Required Access for MongoDB Agent
Details the permissions required for MongoDB Agent to use with MongoDB instances that enforce access control.
Configure the MongoDB Agent for Access Control
If MongoDB uses Access Control, create a MongoDB user for the MongoDB Agent to use to authenticate and to determine the Agent’s access.
Configure MongoDB Agent to Use TLS
Configure the MongoDB Agent for TLS.
Configure How the MongoDB Agent Manages Config Files and Passwords
Configure how the MongoDB Agent stores its configuration and manages its passwords.
Remove Legacy Agents
Remove the legacy Backup and Monitoring Agents.
View Agent Status
View the status of a project’s agents.
Manage Agent API Keys
Manage project’s agent API keys.
Read article

Get All Projects in an Organization — MongoDB Cloud Manager

Get All Projects in an Organization¶

On this page

  • Resource
  • Request Parameters
    • Request Path Parameters
    • Request Query Parameters
    • Request Body Parameters
  • Response
    • Response Document
    • results Embedded Document
  • Example Request
  • Example Response
    • Response Header
    • Response Body

Base URL: https://cloud.mongodb.com/api/public/v1.0

Resource¶

GET /orgs/{ORG-ID}/groups

Request Parameters¶

Request Path Parameters¶

Path Element Type Description
ORG-ID Required. The unique identifier for the organization whose information you want to retrieve.

Request Query Parameters¶

The following query parameters are optional:

Name Type Description Default
pageNum integer Page number (1-based). 1
itemsPerPage integer Number of items to return per page, up to a maximum of 500. 100
pretty boolean Displays response in a prettyprint format. false
envelope boolean Specifies whether or not to wrap the response in an envelope . false
name string

Human-readable label of the project to use to filter the returned list. Performs a case-insensitive search for a project, which is prefixed by the specified name , within the organization.

Example

If you specify a name query parameter of project1 , Cloud Manager returns the project named project1 , but would not return a project named project123 .

None

Request Body Parameters¶

This endpoint doesn’t use HTTP request body parameters.

Response¶

Response Document¶

The response JSON document includes an array of result objects, an array of link objects and a count of the total number of result objects retrieved.

Name Type Description
results array Array includes one object for each item detailed in the results Embedded Document section.
links array Array includes one or more links to sub-resources and/or related resources. The relations between URL s are explained in the Web Linking Specification .
totalCount number Integer count of the total number of items in the result set. It may be greater than the number of objects in the results array if the entire result set is paginated.

results Embedded Document¶

Each result is one project.

Name Type Description
activeAgentCount integer The number of active monitoring, automation, and Backups in the project.
hostCounts Document Describes the host types and number of each host type for the cluster.
hostCounts.arbiter integer The number of arbiter hosts in the cluster.
hostCounts.config integer The number of sharded cluster configuration server hosts in the cluster.
hostCounts.master integer The number of master hosts in the cluster.
hostCounts.mongos integer The number of mongos hosts in the cluster.
hostCounts.primary integer The number of primary hosts in the cluster.
hostCounts.secondary integer The number of secondary hosts in the cluster.
hostCounts.slave integer The number of slave hosts in the cluster.
id string The unique identifier for the project.
links object array One or more links to sub-resources and/or related resources. All links arrays in responses include at least one link called self . The relationships between URL s are explained in the Web Linking Specification .
name string The name of the cluster.
orgId string The unique identifier for the parent organization of the project.
publicApiEnabled boolean The status of API access to the cluster.
replicaSetCount integer The number of replica sets in the cluster.
shardCount integer The number of shards in the cluster.

Example Request¶

curl --user "{username:apiKey}" \
  --include \
  --header "Content-Type: application/json" \
  --digest GET "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/groups"

Example Response¶

Response Header¶

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}

Response Body¶

{
  "links": [{

  }],
  "results": [{
      "activeAgentCount": 0,
      "hostCounts": {
        "arbiter": 0,
        "config": 0,
        "master": 0,
        "mongos": 0,
        "primary": 1,
        "secondary": 2,
        "slave": 0
      },
      "id": "{PROJECT-ID}",
      "links": [{

      }],
      "name": "Production Cluster",
      "orgId": "{ORG-ID}",
      "publicApiEnabled": true,
      "replicaSetCount": 1,
      "shardCount": 0
    },
    {
      "activeAgentCount": 0,
      "hostCounts": {
        "arbiter": 0,
        "config": 0,
        "master": 0,
        "mongos": 0,
        "primary": 1,
        "secondary": 2,
        "slave": 0
      },
      "id": "{PROJECT-ID}",
      "lastActiveAgent": "2017-10-26T02:39:59Z",
      "links": [{

      }],
      "name": "Staging Cluster",
      "orgId": "{ORG-ID}",
      "publicApiEnabled": true,
      "replicaSetCount": 1,
      "shardCount": 0
    }
  ],
  "totalCount": 2
}
Read article