MongoDB
Plugin: go.d.plugin Module: mongodb
Overview
This collector monitors MongoDB servers.
Executed queries:
This collector is supported on all platforms.
This collector supports collecting metrics from multiple instances of this integration, including remote instances.
Default Behavior
Auto-Detection
This integration doesn't support auto-detection.
Limits
The default configuration for this integration does not impose any limits on data collection.
Performance Impact
The default configuration for this integration is not expected to impose a significant performance impact on the system.
Metrics
Metrics grouped by scope.
The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
- WireTiger metrics are available only if WiredTiger is used as the storage engine.
- Sharding metrics are available on shards only for mongos.
Per MongoDB instance
These metrics refer to the entire monitored application.
This scope has no labels.
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| mongodb.operations_rate | reads, writes, commands | operations/s |
| mongodb.operations_latency_time | reads, writes, commands | milliseconds |
| mongodb.operations_by_type_rate | insert, query, update, delete, getmore, command | operations/s |
| mongodb.document_operations_rate | inserted, deleted, returned, updated | operations/s |
| mongodb.scanned_indexes_rate | scanned | indexes/s |
| mongodb.scanned_documents_rate | scanned | documents/s |
| mongodb.active_clients_count | readers, writers | clients |
| mongodb.queued_operations_count | reads, writes | operations |
| mongodb.cursors_open_count | open | cursors |
| mongodb.cursors_open_no_timeout_count | open_no_timeout | cursors |
| mongodb.cursors_opened_rate | opened | cursors/s |
| mongodb.cursors_timed_out_rate | timed_out | cursors/s |
| mongodb.cursors_by_lifespan_count | le_1s, 1s_5s, 5s_15s, 15s_30s, 30s_1m, 1m_10m, ge_10m | cursors |
| mongodb.transactions_count | active, inactive, open, prepared | transactions |
| mongodb.transactions_rate | started, aborted, committed, prepared | transactions/s |
| mongodb.connections_usage | available, used | connections |
| mongodb.connections_by_state_count | active, threaded, exhaust_is_master, exhaust_hello, awaiting_topology_changes | connections |
| mongodb.connections_rate | created | connections/s |
| mongodb.asserts_rate | regular, warning, msg, user, tripwire, rollovers | asserts/s |
| mongodb.network_traffic_rate | in, out | bytes/s |
| mongodb.network_requests_rate | requests | requests/s |
| mongodb.network_slow_dns_resolutions_rate | slow_dns | resolutions/s |
| mongodb.network_slow_ssl_handshakes_rate | slow_ssl | handshakes/s |
| mongodb.memory_resident_size | used | bytes |
| mongodb.memory_virtual_size | used | bytes |
| mongodb.memory_page_faults_rate | pgfaults | pgfaults/s |
| mongodb.memory_tcmalloc_stats | allocated, central_cache_freelist, transfer_cache_freelist, thread_cache_freelists, pageheap_freelist, pageheap_unmapped | bytes |
| mongodb.wiredtiger_concurrent_read_transactions_usage | available, used | transactions |
| mongodb.wiredtiger_concurrent_write_transactions_usage | available, used | transactions |
| mongodb.wiredtiger_cache_usage | used | bytes |
| mongodb.wiredtiger_cache_dirty_space_size | dirty | bytes |
| mongodb.wiredtiger_cache_io_rate | read, written | pages/s |
| mongodb.wiredtiger_cache_evictions_rate | unmodified, modified | pages/s |
| mongodb.sharding_nodes_count | shard_aware, shard_unaware | nodes |
| mongodb.sharding_sharded_databases_count | partitioned, unpartitioned | databases |
| mongodb.sharding_sharded_collections_count | partitioned, unpartitioned | collections |
Per lock type
These metrics refer to the lock type.
Labels:
| Label | Description |
|---|---|
| lock_type | lock type (e.g. global, database, collection, mutex) |
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| mongodb.lock_acquisitions_rate | shared, exclusive, intent_shared, intent_exclusive | acquisitions/s |
Per commit type
These metrics refer to the commit type.
Labels:
| Label | Description |
|---|---|
| commit_type | commit type (e.g. noShards, singleShard, singleWriteShard) |
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| mongodb.transactions_commits_rate | success, fail | commits/s |
| mongodb.transactions_commits_duration_time | commits | milliseconds |
Per database
These metrics refer to the database.
Labels:
| Label | Description |
|---|---|
| database | database name |
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| mongodb.database_collection_count | collections | collections |
| mongodb.database_indexes_count | indexes | indexes |
| mongodb.database_views_count | views | views |
| mongodb.database_documents_count | documents | documents |
| mongodb.database_data_size | data_size | bytes |
| mongodb.database_storage_size | storage_size | bytes |
| mongodb.database_index_size | index_size | bytes |
Per replica set member
These metrics refer to the replica set member.
Labels:
| Label | Description |
|---|---|
| repl_set_member | replica set member name |
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| mongodb.repl_set_member_state | primary, startup, secondary, recovering, startup2, unknown, arbiter, down, rollback, removed | state |
| mongodb.repl_set_member_health_status | up, down | status |
| mongodb.repl_set_member_replication_lag_time | replication_lag | milliseconds |
| mongodb.repl_set_member_heartbeat_latency_time | heartbeat_latency | milliseconds |
| mongodb.repl_set_member_ping_rtt_time | ping_rtt | milliseconds |
| mongodb.repl_set_member_uptime | uptime | seconds |
Per shard
These metrics refer to the shard.
Labels:
| Label | Description |
|---|---|
| shard_id | shard id |
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| mongodb.sharding_shard_chunks_count | chunks | chunks |
Functions
This collector exposes real-time functions for interactive troubleshooting in the Top tab.
Top Queries
Retrieves profiled query statistics from MongoDB system.profile collection.
This function queries the system.profile collection across all user databases (excluding admin, local, config) to retrieve slow or sampled queries captured by the MongoDB profiler. It provides detailed execution metrics including timing, document counts, and execution plan information.
Use cases:
- Identify slow queries that exceed the profiling threshold
- Analyze query patterns by examining docs examined vs docs returned ratios
- Detect collection scans (COLLSCAN) that may need index optimization
Query text is truncated at 4096 characters for display purposes.
| Aspect | Description |
|---|---|
| Name | Mongodb:top-queries |
| Require Cloud | yes |
| Performance | Reads from system.profile collection across all user databases:• Profiling itself adds overhead to MongoDB operations (typically 1-5%) |