Integrate with a Monitoring Service¶
On this page
You can use a third-party application to view and analyze performance metrics that Atlas collects about your cluster.
At this time, you can either build a monitoring integration using the Atlas Administration API or integrate Atlas with Datadog.
Currently, serverless instance metrics don't support any third-party monitoring services (for example, Datadog).
Build Monitoring Integrations with the Atlas Administration API¶
You can build a monitoring integration using the Atlas API monitoring and logs endpoints.
Integrate Atlas with Datadog¶
You can configure Atlas to send metric data about your project to your Datadog dashboards.
If your Atlas project is configured to send alerts and events to Datadog, you do not need to follow this procedure. Atlas sends project metrics to Datadog through the same integration used to send alerts and events.
Prerequisites¶
Datadog integration is only available on M10+
clusters.
To integrate Atlas with Datadog, you must have a Datadog account and a Datadog API key. Datadog grants you an API key when you first create a Datadog account.
If you do not have an existing Datadog account, you can sign up at https://app.datadoghq.com/signup.
Procedure¶
To configure Atlas integration with Datadog:
Navigate to your Project Integrations.¶
- If it is not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.
- If it is not already displayed, select your desired project from the Projects menu in the navigation bar.
- Next to the Projects menu, expand the Options menu, then click Integrations.
Link Datadog to your project using your Datadog API key.¶
- Click Configure for the Datadog integration card.
- Enter your Datadog API key in the input box.
- Select your API Region (United States or Europe)
- Click Save.
Performance Metrics Available to Datadog¶
Datadog tracks the following metric data for your Atlas cluster. The metric names in parentheses are the names used in the Datadog UI. Each metric is measured once per minute.
The clustername
tag identifies the Atlas cluster associated
with the metric.
Metric Name(s) | Metric Type | Description |
---|---|---|
CONNECTIONS (mongodb.atlas.connections.current) | Process | Number of open connections currently open on the cluster. |
DB_STORAGE_TOTAL (mongodb.atlas.stats.totalstoragesize) DB_DATA_SIZE_TOTAL (mongodb.atlas.stats.totaldatasize) | Process | Total database storage size and data size on the cluster in
bytes. |
DISK_PARTITION_UTILIZATION (mongodb.atlas.system.disk.iops.percentutilization) | Disk | Percentage of time during which requests are being issued
to and serviced by the disk partition. Includes requests from all
processes, not just MongoDB processes. |
DISK_QUEUE_DEPTH (mongodb.atlas.system.disk.queuedepth) | Disk | Average length of the queue of requests issued
to the disk partition that MongoDB uses over the time
period specified by the metric granularity. |
MAX_DISK_QUEUE_DEPTH (mongodb.atlas.system.disk.max.queuedepth) | Disk | Maximum values over the time period specified by the metric
granularity for the average length of the queue of requests
issued to the disk partition that MongoDB uses. |
DOCUMENT_METRICS_RETURNED (mongodb.atlas.metrics.document.returned) DOCUMENT_METRICS_INSERTED (mongodb.atlas.metrics.document.inserted) DOCUMENT_METRICS_UPDATED (mongodb.atlas.metrics.document.updated) DOCUMENT_METRICS_DELETED (mongodb.atlas.metrics.document.deleted) | Process | Number of documents read or written per second. |
OPCOUNTER_CMD (mongodb.atlas.opcounters.command) OPCOUNTER_QUERY (mongodb.atlas.opcounters.query) OPCOUNTER_UPDATE (mongodb.atlas.opcounters.update) OPCOUNTER_DELETE (mongodb.atlas.opcounters.delete) OPCOUNTER_GETMORE (mongodb.atlas.opcounters.getmore) OPCOUNTER_INSERT (mongodb.atlas.opcounters.insert) | Process | Number of operations per second, separated by operation type. |
OP_EXECUTION_TIME_READS (mongodb.atlas.oplatencies.reads.avg) OP_EXECUTION_TIME_WRITES (mongodb.atlas.oplatencies.writes.avg) OP_EXECUTION_TIME_COMMANDS (mongodb.atlas.oplatencies.commands.avg) | Process | Average operation time in milliseconds, separated by operation
type. |
QUERY_TARGETING_SCANNED_OBJECTS_PER_RETURNED (mongodb.atlas.metrics.queryexecutor.scannedobjectsperreturned) | Process | Ratio measuring number of objects scanned over objects
returned. Lower values indicate more efficient queries. |
REPLICATION_LAG (mongodb.atlas.replset.replicationlag) | Process | Amount of time in seconds that updates to the secondary delay
behind updates to the primary. |
SYSTEM_NORMALIZED_CPU_USER (mongodb.atlas.system.cpu.norm.user) SYSTEM_NORMALIZED_CPU_KERNEL (mongodb.atlas.system.cpu.norm.kernel) SYSTEM_NORMALIZED_CPU_NICE (mongodb.atlas.system.cpu.norm.nice) SYSTEM_NORMALIZED_CPU_IOWAIT (mongodb.atlas.system.cpu.norm.iowait) SYSTEM_NORMALIZED_CPU_IRQ (mongodb.atlas.system.cpu.norm.irq) SYSTEM_NORMALIZED_CPU_SOFTIRQ (mongodb.atlas.system.cpu.norm.softirq) SYSTEM_NORMALIZED_CPU_GUEST (mongodb.atlas.system.cpu.norm.guest) SYSTEM_NORMALIZED_CPU_STEAL (mongodb.atlas.system.cpu.norm.steal) | System | Percent of time utilized by logical CPUs across various
processes for the server. These values are normalized with
respect to the number of logical CPU cores. |
MAX_SYSTEM_NORMALIZED_CPU_USER (mongodb.atlas.system.cpu.max.norm.user) MAX_SYSTEM_NORMALIZED_CPU_KERNEL (mongodb.atlas.system.cpu.max.norm.kernel) MAX_SYSTEM_NORMALIZED_CPU_NICE (mongodb.atlas.system.cpu.max.norm.nice) MAX_SYSTEM_NORMALIZED_CPU_IOWAIT (mongodb.atlas.system.cpu.max.norm.iowait) MAX_SYSTEM_NORMALIZED_CPU_IRQ (mongodb.atlas.system.cpu.max.norm.irq) MAX_SYSTEM_NORMALIZED_CPU_SOFTIRQ (mongodb.atlas.system.cpu.max.norm.softirq) MAX_SYSTEM_NORMALIZED_CPU_GUEST (mongodb.atlas.system.cpu.max.norm.guest) MAX_SYSTEM_NORMALIZED_CPU_STEAL (mongodb.atlas.system.cpu.max.norm.steal) | System | Maximum values over the time period specified by the metric
granularity for the percent of time utilized by logical CPUs
across various processes for the server. These values are
normalized with respect to the number of logical CPU cores. |
PROCESS_NORMALIZED_CPU_USER (mongodb.atlas.system.cpu.mongoprocess.user) PROCESS_NORMALIZED_CPU_KERNEL (mongodb.atlas.system.cpu.mongoprocess.kernel) PROCESS_NORMALIZED_CPU_CHILDREN_USER (mongodb.atlas.system.cpu.mongoprocess.childrenuser) PROCESS_NORMALIZED_CPU_CHILDREN_KERNEL (mongodb.atlas.system.cpu.mongoprocess.childrenkernel) | Process | Percent of time utilized by logical CPUs across various
processes specific to the MongoDB process in the server. These
values are normalized with respect to the number of logical CPU
cores. |
MAX_PROCESS_NORMALIZED_CPU_USER (mongodb.atlas.system.cpu.mongoprocess.max.norm.user) MAX_PROCESS_NORMALIZED_CPU_KERNEL (mongodb.atlas.system.cpu.mongoprocess.max.norm.kernel) MAX_PROCESS_NORMALIZED_CPU_CHILDREN_USER (mongodb.atlas.system.cpu.mongoprocess.max.norm.childrenuser) MAX_PROCESS_NORMALIZED_CPU_CHILDREN_KERNEL (mongodb.atlas.system.cpu.mongoprocess.max.norm.childrenkernel) | Process | Maximum values over the time period specified by the metric
granularity for the percent of time utilized by logical CPUs
across various processes specific to the MongoDB process in the
server. These values are normalized with respect to the number
of logical CPU cores. |
MEMORY_RESIDENT (mongodb.atlas.mem.resident) MEMORY_VIRTUAL (mongodb.atlas.mem.virtual) | Process | Memory (in MB ) consumed by the MongoDB process on
the server, separated by memory type. |
OPCOUNTER_REPL_CMD (mongodb.atlas.opcountersrepl.command) OPCOUNTER_REPL_UPDATE (mongodb.atlas.opcountersrepl.update) OPCOUNTER_REPL_DELETE (mongodb.atlas.opcountersrepl.delete) OPCOUNTER_REPL_INSERT (mongodb.atlas.opcountersrepl.insert) | Process | Measure rate of database operations on MongoDB
secondaries, as
collected from the MongoDB You can view these metrics on the Opcounters - Repl chart, accessed via Cluster Metrics. |
OPLOG_RATE_GB_PER_HOUR (mongodb.atlas.replset.oplograte) | Process | The average rate of oplog
the primary generates in gigabytes per hour. |
DISK_PARTITION_SPACE_FREE (mongodb.atlas.system.disk.space.free) DISK_PARTITION_SPACE_USED (mongodb.atlas.system.disk.space.used) DISK_PARTITION_SPACE_PERCENT_FREE (mongodb.atlas.system.disk.space.percentfree) DISK_PARTITION_SPACE_PERCENT_USED (mongodb.atlas.system.disk.space.percentused) | Disk | Measure free disk space and used disk space (in bytes) on the
disk partition used by MongoDB. |
MAX_DISK_PARTITION_SPACE_FREE (mongodb.atlas.system.disk.max.space.free) MAX_DISK_PARTITION_SPACE_USED (mongodb.atlas.system.disk.max.space.used) MAX_DISK_PARTITION_SPACE_PERCENT_FREE (mongodb.atlas.system.disk.max.space.percentfree) MAX_DISK_PARTITION_SPACE_PERCENT_USED (mongodb.atlas.system.disk.max.space.percentused) | Disk | Maximum values over the time period specified by the metric
granularity for free disk space and used disk
space (in bytes) on the disk partition used by MongoDB. |
DISK_PARTITION_IOPS_READ (mongodb.atlas.system.disk.iops.reads) DISK_PARTITION_IOPS_WRITE (mongodb.atlas.system.disk.iops.writes) DISK_PARTITION_IOPS_TOTAL (mongodb.atlas.system.disk.iops.total) | Disk | Measure throughput of IOPS for the disk partition used by
MongoDB. |
MAX_DISK_PARTITION_IOPS_READ (mongodb.atlas.system.disk.max.iops.reads) MAX_DISK_PARTITION_IOPS_WRITE (mongodb.atlas.system.disk.max.iops.writes) MAX_DISK_PARTITION_IOPS_TOTAL (mongodb.atlas.system.disk.max.iops.total) | Disk | Maximum values over the time period specified by the metric
granularity for the throughput of IOPS for the
disk partition used by MongoDB. |
CACHE_BYTES_READ_INTO (mongodb.atlas.wiredtiger.cache.bytes_read_into_cache) CACHE_BYTES_WRITTEN_FROM (mongodb.atlas.wiredtiger.cache.bytes_written_from_cache) | Process | Measure average rate of bytes read into and written from
WiredTiger's cache. |
CACHE_USED_BYTES (mongodb.atlas.wiredtiger.cache.bytes_currently_in_cache) CACHE_DIRTY_BYTES (mongodb.atlas.wiredtiger.cache.tracked_dirty_bytes_in_cache) | Process | Measure number of bytes of data and number of bytes of dirty
data in WiredTiger's cache. |
TICKETS_AVAILABLE_READS (mongodb.atlas.wiredtiger.concurrenttransactions.read.available) TICKETS_AVAILABLE_WRITES (mongodb.atlas.wiredtiger.concurrenttransactions.write.available) | Process | Measure number of read and write operations in the
storage engine. |