MongoDB Monitoring Technical Reference
Overview
MongoDB monitoring is a Gateway configuration file that enables monitoring of MongoDB through the Toolkit plug-in.
MongoDB can monitor the database environment in a measurable way to spot any potential discrepancies and issues.
Some key areas to track when using MongoDB monitoring:
Key Area | Description |
---|---|
Metrics | Determine the crucial alerts to be set in the metrics to avoid any performance issues or errors. |
Database performance | Monitor the database's current state. |
Resource utilisation | Monitor the number of client connections to avoid abnormal traffic loads that can lead to performance issues. |
Asserts | Show errors raised during the selected time period. |
Intended audience
This technical reference is intended for users who will be using Active Console to monitor data from MongoDB. If you are setting up the integration for the first time, see MongoDB Monitoring User Guide.
Metrics and dataviews
MongoDB asserts
This view reports the number of asserts on the database:
Column Name | Description |
---|---|
msg | Number of message assertions raised since the server process started. |
regular | Number of regular assertions raised since the server process started. |
user | Number of user-asserts that have occurred since the last time the server process started. |
warning | Number of warnings raised since the server process started. |
MongoDB background flushing
The information on this view appears only for instances that use the MMAPv1 storage engine. Mongod periodically flushes and writes to disk.
In the default configuration, this happens every 60 seconds. This view contains data regarding these operations.
These metrics are important for write performance and journaling.
MongoDB concurrent transactions
The information on this view appears only for instances that use the wiredTiger storage engine.
This contains ticket details that the wiredTiger uses for its thread management.
MongoDB cursors
This view contains data regarding cursor state and use:
Column Name | Description |
---|---|
openNoTimeout | Number of open cursors with timeout disabled. |
openTotal | Number of cursors that MongoDB is maintaining for clients. Since MongoDB exhausts unused cursors, this value is usually small or zero. |
timedOut | Provides a counter of the total number of cursors that have timed out since the server process started. If this number is larger or growing at a regular rate, this may indicate an application error. |
MongoDB dbStats
This view contains storage statistics for a given database. You can pass their database to the provided script:
Column Name | Description |
---|---|
dataSize | Total size in bytes of the data held in this database including the padding factor. |
indexSize | Total size in bytes of all indexes created on this database. |
objects | Contains a count of the number of objects like documents in the database across all collections. |
storageSize | Total amount of space in bytes allocated to the collections in this database for document storage. |
MongoDB instance
This view contains a build summary for the MongoDB server instance:
Column Name | Description |
---|---|
host | Configured host in the system. |
localTime | Current time based on the server. |
ok | Status of the server instance. |
pid | Process ID number. |
process | Current MongoDB process: mongod or mongos. |
storageEngine | Type of storage engine. |
uptime | Number of seconds that the MongoDB process has been active. |
uptimeEstimate | Number in seconds based from MongoDB’s internal time keeping system. |
uptimeMs | Number of milliseconds that the MongoDB process has been active. |
version | Version of the current MongoDB process. |
MongoDB locks
This view provides a granular report on MongoDB database-level lock use:
Column Name | Description |
---|---|
acquireCount |
Number of times the lock has been acquired. Possible lock modes:
|
acquireWaitCount |
Number of times when lock acquisitions waits because locks have encountered conflicts. Possible lock modes:
|
timeAcquiringMicros |
Cumulative waiting time in microseconds for the lock acquisition. Possible lock modes:
|
MongoDB memory
This view contains the MongoDB memory metrics:
Column Name | Description |
---|---|
mapped | Provides the amount of mapped memory (in MB) by the database. Because MongoDB uses memory-mapped files, this value is likely to be roughly equivalent to the total size of your database(s). |
nonMapped | Virtual memory collected by connections. |
page_faults | Number of times MongoDB has requested to connect from disk per second. |
resident | Equivalent to the amount of RAM (in MB) currently used by the database process. In normal use this value tends to grow, approaching total amount of system memory in dedicated servers. |
virtual | Displays the quantity (in MB) of virtual memory used by the mongod process. If virtual value is significantly larger than mapped (e.g. 3 or more times), this may indicate a memory leak. |
MongoDB opcounters
This view provides an overview of database operations by type. These numbers will grow over time and in response to database use:
Column Name | Description |
---|---|
getmore | Provides a counter of the total number of "getmore" operations since the mongod instance last started. This counter can be high even if the query count is low. |
insert | Total number of "insert" operations since the mongod instance last started. |
query | Total number of queries since the mongod instance last started. |
readers | Number of clients with read operations. |
update | Total number of "update" operations since the mongod instance last started. |
writers | Number of clients with write operations. |
MongoDB replication
This information appears only if the replica set is used and it contains metrics related to replication:
Column Name | Description |
---|---|
id | Unique identifier for each replication. |
state | Value of state between 0 and 10 that represents the replica state. |
stateStr | Describes the state string. |
replicationLag | Shows the delay between a write operation on the primary and to its secondary. If the replication lag is set to zero, that means that there is no load issues yet. |