Navigation

Get Database Measurements

Database measurements provide statistics on database performance and storage. The Monitoring Agent collects database measurements through the dbStats command.

Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

Resource

GET /groups/{GROUP-ID}/hosts/{HOST-ID}/databases/{DATABASE-NAME}/measurements

Request Path Parameters

Name Type Description
GROUP-ID string Unique identifier of the project that owns the host.
HOST-ID string Unique identifier of the host that serves the MongoDB process.
DATABASE-NAME string Unique identifier of the database on which the MongoDB process is stored.

Request Query Parameters

Unique Query Parameters

This endpoint accepts the following query parameters to filter returned measurements:

Name Type Description
granularity
Required
string

Duration in ISO 8601 notation that specifies the interval between measurement data points.

Measurement granularity can be expressed as days, hours, minutes, seconds and milliseconds using the following notation:

P (for period) followed by:

  • D for days (if desired)
  • T for time (after days)
  • H for hours
  • M for minutes
  • S for seconds

Example

Notation Duration
PT30S 30 seconds
P1T12H 1 day, 12 hours
PT0.5S 500 milliseconds
period string

Duration in ISO 8601 notation that specifies how far back in the past to retrieve measurements.

Example

To request the last 36 hours, include this query parameter: period=P1DT12H.

start string Timestamp in ISO 8601 date and time format in UTC for the beginning of the period for which to retrieve measurements. If you specify start you must also specify end.
end string Timestamp in ISO 8601 date and time format in UTC for the end of the period for which to retrieve measurements. If you specify end you must also specify start.
m string

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

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

Example

../measurements?m=CONNECTIONS&m=OPCOUNTER_CMD&m=OPCOUNTER_QUERY

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

Note

Each measurement request must include either the period query parameter or both the start and end query parameters.

Common Query Parameters

This endpoint also accepts the query parameters common to all endpoints that return a single response:

Name Type Description Default
pageNum integer Page number (1-based). 1
itemsPerPage integer Maximum number of items to return, up to a maximum of 100. 100
pretty boolean Indicates whether the response body should be in a prettyprint format. false
envelope boolean

Indicates whether or not to wrap the response in an envelope.

Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query.

For endpoints that return one result, response body includes:

status HTTP response code
envelope The expected response body

For endpoints that return a list of results, the results object is an envelope. Ops Manager adds the status field to the response body.

 

Request Body Parameters

This endpoint does not use HTTP request body parameters.

Response

Name Type Description
databaseName string

Database to which the measurement applies.

Populated for Get Database Measurements only.

end string Timestamp in ISO 8601 date and time format in UTC for the end of the period the returned measurements cover.
granularity string

Duration in ISO 8601 notation that specifies the size of the interval that each data point covers.

Example

PT5M specifies a 5-minute granularity.

groupId string Unique identifier of the project that owns the host.
hostId string Unique identifier of the host to which the measurements pertain.
measurements object array Each object in this array represents a measurement and the data points for that measurement.
measurements.dataPoints object array Each object represents a single data point. If there is no data point available for a particular moment in time, this value is set to null.
measurements.dataPoints.timestamp string Timestamp in ISO 8601 date and time format in UTC for the beginning of the time interval this data point represents.
measurements.dataPoints.value float Value of this data point.
measurements.name string Name of the measurement. Accepted values are given in the Measurement Types page.
measurements.units string

How this measurement is quantified. Accepted units are:

  • PERCENT
  • MILLISECONDS
  • BYTES
  • GIGABYTES
  • BYTES_PER_SECOND
  • MEGABYTES_PER_SECOND
  • GIGABYTES_PER_HOUR
  • SCALAR_PER_SECOND
  • SCALAR
partitionName string

Name of the disk partition that stores the MongoDB process database.

Populated for Get Disk Partition Measurements only.

processId string FQDN and port of the MongoDB process.
start string Timestamp in ISO 8601 date and time format in UTC for the beginning of the period the returned measurements cover.

Example Request

curl --user "{username}:{apiKey}" --digest \
 --header "Accept: application/json" \
 --include \
 --request GET "https://<ops-manager-host>/api/public/v1.0/groups/{GROUP-ID}/hosts/fd5b59188dc13ad142493/databases/markets/measurements?granularity={TIME-INCREMENT}&period={PERIOD}"

Example Response

Response Header

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}

Response Body

{
  "databaseName": "markets",
  "end": "2016-08-11T21:08:40Z",
  "granularity": "{TIME-INCREMENT}",
  "groupId": "{GROUP-ID}",
  "hostId": "fd5b59188dc13ad142493",
  "links": [],
  "measurements": [{
      "dataPoints": [],
      "name": "DATABASE_WRITE_LOCK_PERCENTAGE",
      "units": "PERCENT"
    },
    {
      "dataPoints": [{
        "timestamp": "2016-08-11T21:08:40Z",
        "value": 51.780589415213704
      }],
      "name": "DATABASE_AVERAGE_OBJECT_SIZE",
      "units": "BYTES"
    },
    {
      "dataPoints": [{
        "timestamp": "2016-08-11T21:08:40Z",
        "value": 32405.0
      }],
      "name": "DATABASE_OBJECT_COUNT",
      "units": "SCALAR"
    }
  ],
  "processId": "{MONGODB-PROCESS-FQDN}:{PORT}",
  "start": "2016-08-11T21:08:40Z"
}