获取数据库测量值
数据库测量提供有关数据库性能和存储的统计数据。 监控通过 dbStats命令收集数据库测量值。
注意
为了计算某些指标系列,Ops Manager 会获取每两个相邻点之间的速率。 对于这些指标系列,第一个数据点具有 null 值,因为 Ops Manager 无法计算给定查询时间范围的第一个数据点的速率。
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
GET /groups/{PROJECT-ID}/hosts/{HOST-ID}/databases/{DATABASE-NAME}/measurements
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
PROJECT-ID | 字符串 | 拥有主机的项目的唯一标识符。 |
HOST-ID | 字符串 | 为 MongoDB 进程提供服务的主机的唯一标识符。 |
DATABASE-NAME | 字符串 | 存储 MongoDB 进程的数据库的唯一标识符。 |
请求查询参数
唯一查询参数
此端点接受以下查询参数来筛选返回的测量值:
名称 | 类型 | 说明 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
granularity Required | 字符串 | 以 ISO 的持续时间 指定测量数据点之间间隔的符号。8601 测量粒度可以使用以下符号表示为天、小时、分钟、秒和毫秒:
例如:
| ||||||||
period | 字符串 | 以 ISO 的持续时间8601 表示法,指定检索过去多久的测量值。 示例,要请求最近36小时的数据,请包含以下查询参数: | ||||||||
开始 | 字符串 | |||||||||
end | 字符串 | |||||||||
m | 字符串 | 要返回的测量值。 如果未指定 要为 例如:
您必须指定对托管有效的测量值。 如果任何指定的测量无效, MongoDB Ops Manager将返回错误。有关可用的测量,请参阅 测量类型。 |
注意
每个测量请求必须包含period
查询参数或同时包含start
和end
查询参数。
通用查询参数
此端点还接受返回单个响应的所有端点通用的查询参数:
名称 | 类型 | 说明 | 默认 | ||||
---|---|---|---|---|---|---|---|
pageNum | 整型 | 页码(从 1 开始)。 | 1 | ||||
itemsPerPage | 整型 | 每页要返回的项目数,最多 500 个。 | 100 | ||||
pretty | 布尔 | 指示显示正文是否应采用 prettyprint 格式。 | false | ||||
envelope | 布尔 | 指示是否要将响应封装在信封中。 某些API客户端无法访问HTTP响应标头或状态代码。 要修复此问题,请在查询中设置 对于返回一个结果的终结点,响应体包括:
对于返回结果列表的端点, | 无 |
请求正文参数
此端点不使用 HTTP 请求正文参数。
响应
名称 | 类型 | 说明 |
---|---|---|
数据库名称 | 字符串 | 应用测量的数据库。 仅为获取数据库测量值填充。 |
end | 字符串 | ISO8601 格式的时间戳 UTC 格式的日期和时间,表示返回的测量值涵盖的时间段的结束时间。 |
粒度 | 字符串 | 以 ISO8601 的持续时间 符号,指定每个数据点覆盖的区间大小。 示例, |
groupId | 字符串 | 拥有主机的项目的唯一标识符。 |
hostId | 字符串 | 测量相关主机的唯一标识符。 |
测量 | 对象数组 | 该数组中的每个对象代表一个测量值以及该测量值的数据点。 |
measurements.dataPoints | 对象数组 | 每个对象代表一个数据点。 如果在特定时间点没有可用的数据点,则此 value 将设置为null 。 |
measurements.dataPoints.timestamp | 字符串 | ISO8601 格式的时间戳 此数据点表示的时间间隔的开始日期和时间格式(以 UTC 为单位)。 |
measurements.dataPoints.value | float | 此数据点的值。 |
measurements.name | 字符串 | 测量的名称。 “测量类型”页面中给出了接受的值。 |
measurements.units | 字符串 | 如何量化此测量值。 接受的单位是:
|
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}"
响应示例
响应标头
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
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" }