Docs Menu
Docs Home
/
MongoDB Atlas
/ /

Integrate with Datadog

On this page

  • Required Access
  • Prerequisites
  • Procedure
  • Performance Metrics Available to Datadog
  • Tags Available to Datadog

You can configure Atlas to send metric data about your project to your Datadog dashboards.

Note

If you configure your Atlas project 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.

You can also configure Datadog to receive Atlas alerts. To learn more, see Notification Options.

To integrate Atlas with Datadog, you must have Project Owner access to the project. Users with Organization Owner access must add themselves to the project as a Project Owner.

Datadog integration is available only on M10+ clusters.

Note

Tags aren't supported for Datadog integrations. If you integrate with Datadog, continue using labels. To define labels, use the labels parameter in the Modify One Cluster API endpoint.

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.

To create or update a Datadog integration using the Atlas CLI, run the following command:

atlas integrations create DATADOG [options]

To learn more about the command syntax and parameters, see the Atlas CLI documentation for atlas integrations create DATADOG.

To configure an Atlas integration with Datadog using the Atlas UI:

1
  1. If it's not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.

  2. If it's not already displayed, select your desired project from the Projects menu in the navigation bar.

  3. Next to the Projects menu, expand the Options menu, then click Integrations.

    The Project Integrations page displays.

2
  1. Click Configure for the Datadog integration card.

  2. Enter your Datadog API key in the input box.

  3. Select your API region.

    Atlas supports the following Datadog regions in the Atlas UI:

    • US1

    • US3

    • US5

    • EU1

    • AP1

    Datadog uses US1 by default.

    To learn more about Datadog's regions, see Datadog Sites.

  4. Click Save.

Datadog tracks the following metric data for your Atlas cluster. The metric names in parentheses are the names used in the Datadog UI.

Metric Names
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)
DB_INDEX_SIZE_TOTAL
(mongodb.atlas.stats.totalindexsize)
Process
Total database storage size, data size, and index size on the cluster in bytes.
DISK_LATENCY_READS
(mongodb.atlas.system.disk.latency.reads)
DISK_LATENCY_WRITES
(mongodb.atlas.system.disk.latency.writes)
Disk
Latency gauge in milliseconds for read requests and write requests.
DISK_MAX_LATENCY_READS
(mongodb.atlas.system.disk.max.latency.reads)
DISK_MAX_LATENCY_WRITES
(mongodb.atlas.system.disk.max.latency.writes)
Disk
Maximum latency gauge in milliseconds for read requests and write requests.
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.
NETWORK_BYTES_IN
(mongodb.atlas.network.bytes.in)
Process
Average rate of physical bytes (after any wire compression) sent to the database server per second.
NETWORK_BYTES_OUT
(mongodb.atlas.network.bytes.out)
Process
Average rate of physical bytes (after any wire compression) sent from the database server per second.
NETWORK_NUM_REQUESTS
(mongodb.atlas.network.num.requests)
Process
Average rate of requests sent to the database server 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.
REPLICATION_OPLOG_WINDOW
(mongodb.atlas.replset.oplogWindow)
Process
Estimated average number, in seconds, of database operations available in the primary's replication oplog. This metric is based on oplog churn. A full resync is required if replication lag on a secondary node exceeds the replication oplog window and replication headroom reaches zero.
REPLICATION_STATUS_HEALTH
(mongodb.atlas.replstatus.health)
Process

Number that indicates a replica set member's health. A value of 1 indicates that the replica set member is up/running. A value of 0 indicates that the replica set member is down/not running.

You might see an inaccurate health status in the following scenarios:

  • If you have a network partition and the MongoDB Agent lives on an isolated node in a replica set, only pings from the isolated node reach Datadog. The isolated node and Atlas UI report the other nodes as down.

  • If you have a network partition and the MongoDB Agent lives outside the impacted nodes, pings from all the nodes reach Datadog, but report different statuses.

  • If all nodes are unresponsive or their state is hanging, no new pings come in. The Atlas UI reports these nodes as down, but Datadog reports them as healthy and the status gets older.

  • If Datadog experiences an outage or slowdown in metrics ingestion, this metric may report incorrectly and produce a false positive result.

IMPORTANT: If the health status is 1, but no other metrics appear in Datadog, the replica set might be down.

REPLICATION_STATUS_STATE
(mongodb.atlas.replstatus.state)
Process
Integer between 0 and 10 that represents a replica set member's replica state.
SYSTEM_MEMORY_USED
(mongodb.atlas.system.memory.used)
SYSTEM_MEMORY_AVAILABLE
(mongodb.atlas.system.memory.available)
System
Gauge that indicates physical memory used, in bytes.
MAX_SYSTEM_MEMORY_USED
(mongodb.atlas.system.memory.max.used)
MAX_SYSTEM_MEMORY_AVAILABLE
(mongodb.atlas.system.memory.max.available)
System
Gauge that indicates the maximum physical memory used, in bytes.
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.norm.user)
PROCESS_NORMALIZED_CPU_KERNEL
(mongodb.atlas.system.cpu.mongoprocess.norm.kernel)
PROCESS_NORMALIZED_CPU_CHILDREN_USER
(mongodb.atlas.system.cpu.mongoprocess.norm.childrenuser)
PROCESS_NORMALIZED_CPU_CHILDREN_KERNEL
(mongodb.atlas.system.cpu.mongoprocess.norm.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 serverStatus command's opcountersRepl document.

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.
TOTAL_NUMBER_OF_GETMORE_COMMANDS
(mongodb.atlas.search.index.stats.commands.getmore)

Atlas Search

Total number of getmore commands run on all Atlas Search queries.
TOTAL_NUMBER_OF_DELETES
(mongodb.atlas.search.index.stats.deletes)

Atlas Search

Total number of documents or fields (specified in the index definition) removed.
TOTAL_NUMBER_OF_INDEX_FIELD
(mongodb.atlas.search.index.stats.index.fields)

Atlas Search

Total number of unique fields present in the Atlas Search index.
TOTAL_INDEX_SIZE_ON_DISK
(mongodb.atlas.search.index.stats.index.size)

Atlas Search

Total size of all indexes on disk.
TOTAL_NUMBER_OF_INSERTS_SERIES
(mongodb.atlas.search.index.stats.inserts)

Atlas Search

Total number of documents or fields (specified in the index definition) that Atlas Search indexed.
MAX_REPLICATION_LAG
(mongodb.atlas.search.index.stats.max.replication.lag)

Atlas Search

Approximate number of milliseconds that Atlas Search is behind in replicating changes from the oplog of mongod.
TOTAL_NUMBER_OF_UPDATES
(mongodb.atlas.search.index.stats.updates)

Atlas Search

Total number of documents or fields (specified in the index definition) that Atlas Search updated.
TOTAL_NUMBER_OF_ERROR_QUERIES
(mongodb.atlas.search.index.stats.queries.error)

Atlas Search

Total number of queries for which Atlas Search is unable to return a response.
TOTAL_NUMBER_OF_SUCCESS_QUERIES
(mongodb.atlas.search.index.stats.queries.success)

Atlas Search

Total number of queries for which Atlas Search successfully returned a response.
TOTAL_NUMBER_OF_TOTAL_QUERIES
(mongodb.atlas.search.index.stats.queries.total)

Atlas Search

Total number of queries submitted to Atlas Search.
JVM_CURRENT_MEMORY
(mongodb.atlas.search.jvm.current.memory)

Atlas Search

Amount of memory that the JVM heap is currently using.
JVM_MAX_MEMORY
(mongodb.atlas.search.jvm.max.memory)

Atlas Search

Total available memory in the JVM heap.
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.
SYSTEM_NETWORK_BYTES_IN
(mongodb.atlas.system.network.bytes.in)
System
Average rate of physical bytes received per second.
SYSTEM_NETWORK_BYTES_OUT
(mongodb.atlas.system.network.bytes.out)
System
Average rate of physical bytes transmitted per second.
MAX_SYSTEM_NETWORK_IN
(mongodb.atlas.system.network.max.bytes.in)
System
Maximum values over the time period specified by the metric granularity for the average rate of physical bytes received per second.
MAX_SYSTEM_NETWORK_OUT
(mongodb.atlas.system.network.max.bytes.out)
System
Maximum values over the time period specified by the metric granularity for the average rate of physical bytes transmitted per second.
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.
GLOBAL_LOCK_CURRENT_QUEUE_READERS
(mongodb.atlas.global.lock.current.queue.readers)
GLOBAL_LOCK_CURRENT_QUEUE_WRITERS
(mongodb.atlas.global.lock.current.queue.writers)
GLOBAL_LOCK_CURRENT_QUEUE_TOTAL
(mongodb.atlas.global.lock.current.queue.total)
Global
Gauge that indicates the number of operations currently queued due to locks that Atlas holds on reads, writes, or combined reads and writes.
AVG_OBJECT_SIZE
(dbstats.avg.object.size)
Gauge
Average size of each document in bytes. This is the dataSize divided by the number of documents. The scale argument does not affect the avgObjSize value.
COLLECTIONS
(mongodb.atlas.dbstats.collections)
Gauge
Number of collections in the database.
DATA_SIZE
(mongodb.atlas.dbstats.data.size)
Gauge
Total size of the uncompressed data held in the database.
FILE_SIZE
(mongodb.atlas.dbstats.file.size)
Gauge
Total size of all disk space in use on the filesystem where MongoDB stores data.
INDEX_SIZE
(mongodb.atlas.dbstats.index.size)
Gauge
Sum of the disk space allocated to all indexes in the database, including free index space.
INDEXES
(mongodb.atlas.dbstats.indexes)
Gauge
Total number of indexes across all collections in the database.
NUM_EXTENTS
(mongodb.atlas.dbstats.num.extents)
Gauge
Contains a count of the number of extents in the database across all collections.
OBJECTS
(mongodb.atlas.dbstats.objects)
Gauge
Number of objects (specifically, documents) in the database across all collections.
STORAGE_SIZE
(mongodb.atlas.dbstats.storage.size)
Gauge
Sum of the disk space allocated to all collections in the database for document storage, including free space.
VIEWS
(mongodb.atlas.dbstats.views)
Gauge
Number of views in the database.
COLLECTION_READ_LATENCY
(mongodb.atlas.latencyStats.read.sum)
COLLECTION_WRITE_LATENCY
(mongodb.atlas.latencyStats.write.sum)
COLLECTION_COMMANDS_LATENCY
(mongodb.atlas.latencyStats.write.sum)
COLLECTION_TOTAL_LATENCY
(mongodb.atlas.latencyStats.total.sum)
Counter
A 64-bit integer giving the latency in microseconds for read, write, command, and total requests.
COLLECTION_READ_OPS
(mongodb.atlas.latencyStats.read.count)
COLLECTION_WRITE_OPS
(mongodb.atlas.latencyStats.write.count)
COLLECTION_COMMANDS_OPS
(mongodb.atlas.latencyStats.write.count)
COLLECTION_TOTAL_OPS
(mongodb.atlas.latencyStats.total.count)
Counter
A 64-bit integer giving the number of operations performed on the collection since startup for read, write, command, and total requests.
READ_HISTOGRAM_P50
(mongodb.atlas.latencyStats.read.p50)
WRITE_HISTOGRAM_P50
(mongodb.atlas.latencyStats.write.p50)
COMMANDS_HISTOGRAM_P50
(mongodb.atlas.latencyStats.commands.p50)
TOTAL_HISTOGRAM_P50
(mongodb.atlas.latencyStats.total.p50)
Counter
Number of operations on the 50th percentile in the latency histogram for read, write, command, and total requests.
READ_HISTOGRAM_P95
(mongodb.atlas.latencyStats.read.p95)
WRITE_HISTOGRAM_P95
(mongodb.atlas.latencyStats.write.p95)
COMMANDS_HISTOGRAM_P95
(mongodb.atlas.latencyStats.commands.p95)
TOTAL_HISTOGRAM_P95
(mongodb.atlas.latencyStats.total.p95)
Counter
Number of operations on the 95th percentile in the latency histogram for read, write, command, and total requests.
READ_HISTOGRAM_P99
(mongodb.atlas.latencyStats.read.p99)
WRITE_HISTOGRAM_P99
(mongodb.atlas.latencyStats.write.p99)
COMMANDS_HISTOGRAM_P99
(mongodb.atlas.latencyStats.commands.p99)
TOTAL_HISTOGRAM_P99
(mongodb.atlas.latencyStats.total.p99)
Counter
Number of operations on the 99th percentile in the latency histogram for read, write, command, and total requests.

In addition to any cluster tags, Datadog sends the following tags as labels on certain metrics:

Datadog Tags
Description
organizationname
The Atlas organization associated with the metric.
projectname
The Atlas project associated with the metric.
clustername
The Atlas cluster associated with the metric.
replicasetname
The replica set associated with the metric.
shardedclustername
The sharded cluster associated with the metric.
databasename
The database associated with the metric.
collectionname
The collection associated with the metric.
hostnameport
The port number associated with your Atlas hostname.
hostnamestate
The state of your Atlas hostname (primary, secondary, or individual process). You can use this tag to filter collection-level latency metrics when querying your sharded cluster or replica set.

Back

Third-Party Services