---
title: "Configure MongoDB exporter to generate Prometheus metrics | Grafana Cloud documentation"
description: "Explains the steps to configure MongoDB for sending metrics, and provides an overview of these metrics and alerts"
---

# Configure a MongoDB exporter to generate Prometheus metrics

Use the recommended [Percona MongoDB Exporter](https://github.com/percona/mongodb_exporter) to export MongoDB metrics in Prometheus format.

To configure a MongoDB exporter, complete the following steps:

1. Run the following command to start the Docker version of the exporter:
   
   ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```none
   docker run -d -p 9216:9216 -p 17001:17001 percona/mongodb_exporter:0.39 --mongodb.uri=mongodb://mongodb:17001
   ```
2. Use `MONGODB_USER` and `MONGODB_PASSWORD` to pass credentials.
   
   Alternatively, you can use the [MongoDB exporter Prometheus community helm chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-mongodb-exporter).

## Request and error metrics

Expand table

| Metric                                                                                 | Key Performance Indicator                                                                                                                                    |
|----------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ```<br />mongodb_op_counters_total<br />```                                            | Request Rate<br /><br /><br /><br />`rate(mongodb_op_counters_total[5m])`                                                                                    |
| ```<br />mongodb_op_counters_repl_total mongodb_mongod_op_counters_repl_total<br />``` | Request Rate<br /><br /><br /><br />`rate(…[5m])`                                                                                                            |
| ```<br />mongodb_mongod_op_latencies_ops/latencies_total <br />```                     | Latency Average<br /><br /><br /><br />```<br />rate(mongodb_mongod_op_latencies_latency_total[5m])/rate(mongodb_mongod_op_latencies_ops_total[5m])<br />``` |

## Resource metrics

Expand table

| Metric                                     | Key Performance Indicator                                                                                                                                                                                                                   |
|--------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Connection Counts `mongodb_ss_connections` | Connection Usage<br /><br /><br /><br />```<br />mongodb_ss_connections{conn_type=“current”}/ ignoring(conn_type)(mongodb_ss_connections{conn_type=“current”} + ignoring(conn_type) mongodb_ss_connections{conn_type=“available”})<br />``` |

## Alerts

Expand table

| KPI              | Alert                                                                             |
|------------------|-----------------------------------------------------------------------------------|
| Request Rate     | **RequestRateAnomaly**                                                            |
| Latency Average  | **LatencyAverageAnomaly, LatencyAverageBreach**                                   |
| Connection Usage | **Saturation** with a severity level of **critical** when utilization exceeds 90% |

### Failure alerts

Expand table

| Alert                             | Description                                                                                                                                                              |
|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **MongodbDown**                   | Fires when Mongo DB is down                                                                                                                                              |
| **MongodbReplicaMemberUnhealthy** | Fires when a replica in a replication set is unhealthy                                                                                                                   |
| **MongodbReplicationLag**         | Fires when the replication lag of a secondary is more than a configured time duration. Severity is set to `warning` when lag &gt; 60s and `critical` when lag &gt; 240s. |
| **MongodbReplicationHeadroom**    | Fires when the replication lag of a secondary is more than a configured time duration. Severity is set to `warning` when lag &gt; 60s and `critical` when lag &gt; 240s. |
| **MongodbTooManyCursorsOpen**     | Fires when the number of open cursors is above a given threshold. By default, the threshold is set to `10000`. Severity is set to `warning`.                             |
| **MongodbTooManyCursorTimeouts**  | Fires if the rate of cursor timeout is above a certain threshold. By default, the threshold is set to `100`. Severity is set to `warning`.                               |
| **MongodbInternalErrors**         | Fires when the count of internal errors keeps growing for `5m`. Severity is set to `warning`.                                                                            |
| **MongodbUserErrors**             | Fires when the count of user errors keeps growing for `5m`. Severity is set to `warning.`                                                                                |
| **ReadRequestsQueueingUp**        | If the read queue keeps growing for `5m`. Severity is set to `warning`.                                                                                                  |
| **WriteRequestsQueueingUp**       | If the write queue keeps growing for `5m`. Severity is set to `warning.`                                                                                                 |

## Dashboard

The following image shows an example of the MongoDB Instance Summary Dashboard.
