Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/ / / /

获取数据库测量值

在此页面上

  • Resource
  • 请求路径参数
  • 请求查询参数
  • 请求正文参数
  • 响应
  • 请求示例
  • 响应示例
  • 响应标头
  • 响应体

数据库测量提供有关数据库性能和存储的统计数据。 监控通过 dbStats命令收集数据库测量值。

注意

为了计算某些指标系列,Ops Manager 会获取每两个相邻点之间的速率。 对于这些指标系列,第一个数据点具有 null 值,因为 Ops Manager 无法计算给定查询时间范围的第一个数据点的速率。

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

GET /groups/{PROJECT-ID}/hosts/{HOST-ID}/databases/{DATABASE-NAME}/measurements
名称
类型
说明
PROJECT-ID
字符串
拥有主机的项目的唯一标识符。
HOST-ID
字符串
为 MongoDB 进程提供服务的主机的唯一标识符。
DATABASE-NAME
字符串
存储 MongoDB 进程的数据库的唯一标识符。

此端点接受以下查询参数来筛选返回的测量值:

名称
类型
说明
granularity
Required
字符串

ISO 的持续时间 指定测量数据点之间间隔的符号。8601

测量粒度可以使用以下符号表示为天、小时、分钟、秒和毫秒:

P (针对period ),然后是:

  • D 几天(如果需要)

  • T 用于时间days之后)

  • H 数小时

  • M 分钟

  • S

例如:

符号
duration
PT30S
30 秒
P1T12H
1 天 12 小时
PT0.5S
500 毫秒
period
字符串

ISO 的持续时间8601 表示法,指定检索过去多久的测量值。

例如,要请求最近36小时的数据,请包含以下查询参数: period=P1DT12H

开始
字符串
ISO8601 格式的时间戳 以 UTC 为单位的日期和时间格式,表示要检索测量值的时间段的开始时间。如果指定start ,则还必须指定end
end
字符串
ISO8601 格式的时间戳 以 UTC 格式表示要检索测量值的时间段结束的日期和时间格式。如果指定end ,则还必须指定start
m
字符串

要返回的测量值。 如果未指定m ,则返回所有测量值。

要为m指定多个值,您必须重复输入m参数。

例如:

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

您必须指定对主机有效的测量值。如果任何指定的测量无效,Ops Manager 将返回错误。有关可用的测量,请参阅测量类型。

注意

每个测量请求必须包含period查询参数或同时包含startend查询参数。

此端点还接受返回单个响应的所有端点通用的查询参数:

名称
类型
说明
默认
pageNum
整型
页码(从 1 开始)。
1
itemsPerPage
整型
每页要返回的项目数,最多 500 个。
100
pretty
布尔
指示显示正文是否应采用 prettyprint 格式。
false
envelope
布尔

指示是否要将响应封装在信封中。

某些API客户端无法访问HTTP响应标头或状态代码。 要修复此问题,请在查询中设置"envelope" : true

对于返回一个结果的终结点,响应体包括:

状态
HTTP 响应代码
envelope
预期响应正文

对于返回结果列表的端点, results对象是一个信封。 Ops Manager 将status字段添加到响应正文。

此端点不使用 HTTP 请求正文参数。

名称
类型
说明
数据库名称
字符串

应用测量的数据库。

仅为获取数据库测量值填充。

end
字符串
ISO8601 格式的时间戳 UTC 格式的日期和时间,表示返回的测量值涵盖的时间段的结束时间。
粒度
字符串

ISO8601 的持续时间 符号,指定每个数据点覆盖的区间大小。

例如, PT5M指定5分钟粒度。

groupId
字符串
拥有主机的项目的唯一标识符。
hostId
字符串
测量相关主机的唯一标识符。
测量
对象数组
该数组中的每个对象代表一个测量值以及该测量值的数据点。
measurements.dataPoints
对象数组
每个对象代表一个数据点。 如果在特定时间点没有可用的数据点,则此value将设置为null
measurements.dataPoints.timestamp
字符串
ISO8601 格式的时间戳 此数据点表示的时间间隔的开始日期和时间格式(以 UTC 为单位)。
measurements.dataPoints.value
float
此数据点的值。
measurements.name
字符串
测量的名称。 “测量类型”页面中给出了接受的值。
measurements.units
字符串

如何量化此测量值。 接受的单位是:

  • PERCENT

  • MILLISECONDS

  • BYTES

  • GIGABYTES

  • BYTES_PER_SECOND

  • MEGABYTES_PER_SECOND

  • GIGABYTES_PER_HOUR

  • SCALAR_PER_SECOND

  • SCALAR

partitionName
字符串

存储 MongoDB 进程数据库的磁盘分区的名称。

仅为获取磁盘分区测量值填充。

processId
字符串
MongoDB 进程的FQDN和端口。
开始
字符串
ISO8601 格式的时间戳 返回的测量值涵盖的时间段的开始日期和时间格式(以 UTC 为单位)。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--include \
--request GET "https://<ops-manager-host>/api/public/v1.0/groups/{PROJECT-ID}/hosts/fd5b59188dc13ad142493/databases/markets/measurements?granularity={TIME-INCREMENT}&period={PERIOD}"
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}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
{
"databaseName": "markets",
"end": "2016-08-11T21:08:40Z",
"granularity": "{TIME-INCREMENT}",
"groupId": "{PROJECT-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"
}

后退

获取磁盘分区测量值