获取主机、进程、系统测量值
主机测量提供有关 MongoDB 进程状态的数据。 监控通过 MongoDB serverStatus和dbStats命令收集主机测量值。
系统和进程测量提供有关运行MongoDB的主机的 CPU 使用率的数据。 自动化收集这些测量值。 系统和进程测量需要MongoDB Ops Manager自动化。
此端点返回这些测量类型。
注意
为了计算某些指标系列,Ops Manager 会获取每两个相邻点之间的速率。 对于这些指标系列,第一个数据点具有 null 值,因为 Ops Manager 无法计算给定查询时间范围的第一个数据点的速率。
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
GET /groups/{PROJECT-ID}/hosts/{HOST-ID}/measurements?granularity={ISO-8601-PERIOD}&period={ISO-8601-PERIOD}
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
PROJECT-ID | 字符串 | 拥有主机的项目的唯一标识符。 |
HOST-ID | 字符串 | 为 MongoDB 进程提供服务的主机的唯一标识符。 |
请求查询参数
唯一查询参数
此端点接受以下查询参数来筛选返回的测量值:
名称 | 类型 | 说明 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
granularity Required | 字符串 | 以 ISO 的持续时间 指定测量数据点之间间隔的符号。8601 测量粒度可以使用以下符号表示为天、小时、分钟、秒和毫秒:
例如:
| ||||||||
period | 字符串 | 以 ISO 的持续时间8601 表示法,指定检索过去多久的测量值。 示例,要请求最近36小时的数据,请包含以下查询参数: | ||||||||
开始 | 字符串 | |||||||||
end | 字符串 | |||||||||
m | 字符串 | 要返回的测量值。 如果未指定 要为 例如:
您必须指定对主机有效的测量值。 如果任何指定的测量无效,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://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}/measurements?granularity={TIME-INCREMENT}&period={PERIOD}}&pretty=true"
响应示例
响应标头
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}
响应体
{ "end": "2022-05-12T18:28:19Z", "granularity": "{TIME-INCREMENT}", "groupId": "{PROJECT-ID}", "hostId": "{HOST-ID}", "links": [ ], "measurements": [{ "dataPoints": [{ "timestamp" : "2022-05-12T18:28:10Z", "value": 5.0 }], "name": "CONNECTIONS", "units": "SCALAR" }, { "dataPoints": [{ "timestamp": "2022-05-12T18:28:10Z", "value": 15.699934824278714 }], "name": "NETWORK_BYTES_IN", "units": "BYTES_PER_SECOND" }, . . . , { "dataPoints": [], "name": "SYSTEM_NORMALIZED_CPU_SOFTIRQ", "units": "PERCENT" }, { "dataPoints": [], "name": "SYSTEM_NORMALIZED_CPU_GUEST", "units": "PERCENT" }, { "dataPoints": [], "name": "SYSTEM_NORMALIZED_CPU_STEAL", "units": "PERCENT" }], "processId": "{MONGODB-PROCESS-FQDN}:{PORT}", "start": "2022-05-12T18:28:10Z" }