MongoDB Metrics
Database metrics are comprehensive data collected for database workloads and resource usages. The WhaTap monitoring service continuously collects metrics to identify bottlenecks in the database and provides data to help identify the root causes of performance issues.
MongoDB collects key metrics from db.serverStatus, and the following lists the descriptions for the collected key metrics: For more information about other metrics, see the following.
agent_status_summary
This category collects metrics related to agent status every 10 seconds.
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| inActTime | - | Millisecond(ms) | Amount of time the agent remains inactive |
| isActive | Boolean | - | Whether the agent is active or not |
| isRestart | Boolean | - | Whether the agent was restarted recently (true / false) |
| lastActTime | - | Millisecond(ms) | Last time when the agent was activated (0: Disabled) |
| oid | - | - | Unique IDs for each agent in the project |
| startTime | - | Millisecond(ms) | Timestamp when the agent was started. |
db_mongodb_counter
Tags
The following lists the tags that are collected in the db_mongodb_counter category.
| Tag | Description | Remarks |
|---|---|---|
oname | Agent name | Unique value |
Field
The following lists the fields that are collected in the db_mongodb_counter category.
| Metrics | Description |
|---|---|
accepted$tcpFastOpen$network | Number of network connections accepted via TCP Fast Open. |
active$connections | Number of active clients in progress. |
available$connections | Number of available network connections. |
awaitingTopologyChanges$connections | Number of connections waiting for topology changes. |
bytesIn$compressor$snappy$compression$network | Network bytes received via Snappy compression. |
bytesIn$compressor$zlib$compression$network | Network bytes received through zlib compression. |
bytesIn$compressor$zstd$compression$network | Number of network bytes received via zstd compression. |
bytesIn$decompressor$snappy$compression$network | Number of network bytes received via Snappy decompression. |
bytesIn$decompressor$zlib$compression$network | Number of network bytes received through zlib decompression. |
bytesIn$decompressor$zstd$compression$network | Number of network bytes received via zstd decompression. |
bytesIn$network | Total network bytes received by the server via connection from a MongoDB client or other instances. |
bytesOut$compressor$snappy$compression$network | Network bytes transmitted via Snappy compression. |
bytesOut$compressor$zlib$compression$network | Network bytes transmitted via zlib compression. |
bytesOut$compressor$zstd$compression$network | Number of network bytes transmitted via zstd compression. |
bytesOut$decompressor$snappy$compression$network | Number of network bytes transmitted via Snappy decompression. |
bytesOut$decompressor$zlib$compression$network | Number of network bytes transmitted through zlib decompression. |
bytesOut$decompressor$zstd$compression$network | Number of network bytes transmitted via zstd decompression. |
bytesOut$network | Total network bytes transmitted by the server via connection from a MongoDB client or other instances. |
clientsInTotal$fixed$serviceExecutors$network | Total number of clients processed in the fixed service executors. |
clientsInTotal$passthrough$serviceExecutors$network | Total number of clients processed in the passthrough service executors. |
clientsRunning$fixed$serviceExecutors$network | Total number of clients being run in the fixed service executors. |
clientsRunning$passthrough$serviceExecutors$network | Total number of clients being run in the passthrough service executors. |
clientsWaitingForData$fixed$serviceExecutors$network | Total number of clients waiting for data in the fixed service executors. |
clientsWaitingForData$passthrough$serviceExecutors$network | Number of clients waiting for data in the passthrough service executors. |
command$opcounters | Total number of commands executed in the database. |
connect_error | Number of connection errors. |
cpu | CPU utilization calculated using the user_time_us and system_time_us values in the extra_info metric. |
cpu_cores | Number of available CPU cores |
cpu_sys | CPU time used in the system. |
cpu_user | CPU time used for user tasks. |
current$connections | Total number of clients connected to the current server. |
delete$opcounters | Number of delete commands processed. |
exhaustHello$connections | Number of connections associated with the the exhaustHello message. |
exhaustIsMaster$connections | Number of connections associated with the exhaustIsMaster message. |
fatal count | Number of fatal errors. |
getmore$opcounters | Number of getMore operations processed. |
input_blocks$extra_info | Input block value of the system. |
insert$opcounters | Number of Insert commands processed. |
involuntary_context_switches$extra_info | Additional information regarding the number of forced context switches. |
kernelSetting$tcpFastOpen$network | Kernel configuration status for TCP Fast Open. |
latency$commands$opLatencies | Latency for database commands. |
latency$reads$opLatencies | Latency for read operations. |
latency$transactions$opLatencies | Latency for processing transactions. |
latency$writes$opLatencies | Latency for write operations. |
maximum_resident_set_kb$extra_info | Additional information regarding the maximum resident set size (KB). |
msg$asserts | Number of message assertions occurred. |
node_state | Current state of the node. |
numRequests$network | Total number of network requests received by the server. |
numSlowDNSOperations$network | Number of slow DNS operations. |
numSlowSSLOperations$network | Number of slow SSL operations. |
ops$commands$opLatencies | Number of command operations processed. |
ops$reads$opLatencies | Number of read operations processed. |
ops$transactions$opLatencies | Number of transaction operations processed. |
ops$writes$opLatencies | Number of write operations processed. |
output_blocks$extra_info | Output block value of the system. |
page_faults$extra_info | Additional information regarding the page faults. |
page_reclaims$extra_info | Additional information regarding the page reclaims. |
physicalBytesIn$network | Physical bytes received. |
physicalBytesOut$network | Physical bytes transmitted. |
query$opcounters | Number of query commands processed. |
readers$activeClients$globalLock | Number of active read clients (global lock). |
readers$currentQueue$globalLock | Number of waiting read clients (global lock). |
regular$asserts | Number of general assertions occurred. |
replication_delay_max | Maximum replication delay time. |
resident$mem | Actual memory size in use. |
rollovers$asserts | Number of rollover assertions occurred. |
system_time_us$extra_info | Additional information regarding the system time (microseconds). |
threaded$connections | Number of thread-based connections. |
threadsRunning$fixed$serviceExecutors$network | Number of threads being run in the fixed service executors. |
threadsRunning$passthrough$serviceExecutors$network | Number of threads being run in the passthrough service executors. |
total$activeClients$globalLock | Number of active all clients (global lock). |
total$currentQueue$globalLock | Number of all waiting clients (global lock). |
totalCreated$connections | Total number of created connections. |
totalTime$globalLock | Total time spent on global lock. |
tripwire$asserts | Number of tripwire assertions occurred. |
update$opcounters | Number of update commands processed. |
user$asserts | Number of user assertions occurred. |
user_time_us$extra_info | Additional information regarding the user time (microseconds). |
virtual$mem | Virtual memory size in use. |
voluntary_context_switches$extra_info | Additional information regarding the number of voluntary context switches. |
warning count | Number of warnings. |
warning$asserts | Number of warning assertions occurred. |
writers$activeClients$globalLock | Number of active write clients (global lock). |
writers$currentQueue$globalLock | Number of waiting write clients (global lock). |
WhaTap basically stores the client-related information.
XOS-related metrics
The following describes the metrics collected from the XOS agent.
| Metric | Unit | Description |
|---|---|---|
cpu(xos) | pct | CPU utilizationcpu_user + cpu_sys + cpu_iowait |
cpu_idle(xos) | pct | CPU idle time |
cpu_iowait(xos) | pct | CPU's I/O waiting time |
cpu_sys(xos) | pct | CPU's kernel code execution time |
cpu_user(xos) | pct | CPU's user code execution time |
disk_read_bytes(xos) | byte | Number of data blocks read from disk |
disk_reads(xos) | block | Number of buffers read from disk |
disk_write_bytes(xos) | byte | Number of pages written to disk |
disk_writes(xos) | block | Number of buffers written to disk |
mem(xos) | pct | Memory utilization |
mem_available(xos) | MB | Shared memory size |
mem_buffcache(xos) | MB | Amount of memory used by the buff/cache |
mem_free(xos) | MB | Memory not in use |
mem_swapfree(xos) | MB | Unused swap space size Because swap uses disk space, it may cause performance degradation. |
mem_swaptotal(xos) | MB | Total swap size It is used when physical memory is insufficient. |
mem_total(xos) | MB | Total memory size |
mem_used(xos) | MB | Memory size in use |
net_recv_bytes(xos) | byte | Amount of data transmitted over the network |
net_recv_packets(xos) | count | Number of data packets transmitted over the network |
net_send_bytes(xos) | byte | Amount of data transmitted over the network |
net_send_packets(xos) | count | Number of data packets transmitted over the network |