Navigation

Get Measurements for a MongoDB Process

Note

Groups and projects are synonymous terms. Your {GROUP-ID} is the same as your project ID. For existing groups, your group/project ID remains the same. The resource and corresponding endpoints use the term groups.

Get measurements for a specific Atlas MongoDB process. A Atlas MongoDB process can be either a mongod or mongos.

The Atlas API authenticates using HTTP Digest Authentication. Provide a programmatic API public key and corresponding private key as the username and password when constructing the HTTP request.

To learn how to configure API access for an Atlas project, see Configure Atlas API Access.

Base URL: https://cloud.mongodb.com/api/atlas/v1.0

Resource

GET /groups/{GROUP-ID}/processes/{HOST}:{PORT}/measurements

Request Path Parameters

Parameter Required/Optional Description
GROUP-ID Required ID of the project that owns this Atlas MongoDB process.
HOST Required The hostname of the machine running the Atlas MongoDB process.
PORT Required The port to which the Atlas MongoDB process listens.

Request Query Parameters

Field Required/Optional Description
granularity Required

An ISO-8601-formatted time period that specifies the interval between measurement data points. For example, PT1M specifies 1-minute granularity.

The following subset of ISO-8601-formatted time periods are supported:

  • PT1M
  • PT5M
  • PT1H
  • P1D

When you specify granularity, you must specify either period or start and end.

period Required An ISO-8601-formatted time period that specifies the length of time in the past to query. For example, to request the last 36 hours, specify: period=P1DT12H. Mutually exclusive with start and end.
start Required The time at which to start retrieving measurements, as specified by an ISO-8601 timestamp string. If you specify start you must also specify end. Mutually exclusive with period.
end Required The time at which to stop retrieving measurements, as specified by an ISO-8601 timestamp string. If you specify end you must also specify start. Mutually exclusive with period.
m Optional

Specifies which measurements to return. If m is not specified, all measurements are returned.

To specify multiple values for m, you must repeat the m parameter. For example:

../measurements?m=<measurement>&m=<measurement>&m=...

You must specify measurements that are valid for the host. Atlas returns an error if any specified measurements are invalid For available measurements, see Measurement Values.

pageNum Optional.

The page to return.

Defaults to 1.

itemsPerPage Optional.

Number of items to return per page, up to a maximum of 500.

Defaults to 100.

includeCount Optional.

Specifies whether the response returns the totalCount field.

Defaults to true.

envelope Optional.

A boolean that specifies whether or not to wrap the response in an envelope.

Defaults to false.

pretty Optional

A boolean that specifies whether or not to return a “pretty-printed” JSON document.

Defaults to false.

Request Body Parameters

This endpoint does not use HTTP request body parameters.

Response Elements

Free Tier

M0 Free Tier clusters return a subset of the metrics documented here.

If you set the query element envelope to true, the response is wrapped by the content object.

The HTTP response returns a JSON document that includes the following objects:

Name Type Description
end string Timestamp in ISO 8601 date and time format in UTC when the period for which to retrieve measurements ends.
granularity string

Duration in ISO 8601 notation that specifies the size of each data point’s covered interval.

Example

PT5M specifies a 5-minute granularity.

groupId string Unique identifier of the project that owns the Atlas MongoDB process.
hostId string Hostname of the machine running the Atlas MongoDB process.
links array of objects An array of documents, representing a link to one or more sub-resources and/or related resources such as list pagination. See Linking for more information.
measurements array of objects An array of measurements and their data points.
measurements
.dataPoints
array of objects Each object represents a single data point. If there is no data point available for a particular moment in time (i.e., a timestamp), the value field is set to null.
measurements
.dataPoints
.timestamp
string Timestamp of the beginning of the time interval represented by this data point.
measurements
.dataPoints
.value
float Value of the data point.
measurements
.name
string Name of the measurement. For possible values, see Host Metrics.
measurements
.units
string

Quanitifier of this measurement. You may use:

  • PERCENT
  • MILLISECONDS
  • BYTES
  • GIGABYTES
  • BYTES_PER_SECOND
  • MEGABYTES_PER_SECOND
  • GIGABYTES_PER_HOUR
  • SCALAR_PER_SECOND
  • SCALAR
processId string Hostname and port of the machine running the Atlas MongoDB process.
start string Timestamp in ISO 8601 date and time format in UTC when the period for which to retrieve measurements starts.

Example Request

The following example request sets a granularity and period of one minute. Replace the information in brackets {} with your own Atlas information to execute this example request:

curl -u "<ATLAS-USERNAME>:<API-KEY>" --digest -i "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/processes/{HOST}:{PORT}}/measurements?granularity=PT1M&period=PT1M&pretty=true"

Example Response

HTTP/1.1 200 OK
Vary: Accept-Encoding
Cache-Control: no-cache, no-transform, must-revalidate, proxy-revalidate, max-age=0
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: Tue, 22 Aug 2017 20:31:22 GMT
Connection: keep-alive
Content-Length: 16848

{
  "end" : "2017-08-22T20:31:14Z",
  "granularity" : "PT1M",
  "groupId" : "12345678",
  "hostId" : "shard-00-00.mongodb.net:27017",
  "links" : [ {
    "href" : "https://cloud.mongodb.com/api/atlas/v1.0/groups/12345678/processes/shard-00-00.mongodb.net:27017/measurements?granularity=PT1M&period=PT1M&pretty=true",
    "rel" : "self"
  }, {
    "href" : "https://cloud.mongodb.com/api/atlas/v1.0/groups/12345678/processes/shard-00-00.mongodb.net:27017",
    "rel" : "http://mms.mongodb.com/host"
  } ],
  "measurements" : [ {
    "dataPoints" : [ {
      "timestamp" : "2017-08-22T20:31:12Z",
      "value" : null
    }, {
      "timestamp" : "2017-08-22T20:31:14Z",
      "value" : null
    } ],
    "name" : "ASSERT_REGULAR",
    "units" : "SCALAR_PER_SECOND"
  }, {
    ...
  }],
  "processId" : "shard-00-00.mongodb.net:27017",
  "start" : "2017-08-22T20:30:45Z"
}