SLO SLA 状态及 24 小时趋势¶
POST /api/v1/slo/runtime/list
概述¶
批量获取当前 API Key 所属工作空间内 SLO 的当前 SLA 状态,以及截至指定时间的 24 小时状态趋势。支持监控器型和指标型 SLO。
Body 请求参数¶
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| sloUUIDs | array | Y | SLO UUID 列表,传入 1~100 项;所有 SLO 必须属于当前工作空间且未被删除。 |
| asOf | integer | 查询截止时间,Unix 秒时间戳;必须为正整数且不晚于当前时间,省略时使用服务器当前时间。 |
参数补充说明¶
- 需要工作空间的 SLO 管理权限,使用
DF-API-KEY请求头认证。 runtime24h.points返回 24 个小时趋势点。每个点的状态根据该点结束时刻对应的 SLO 统计周期计算,统计周期由 SLO 的checkRange决定(7 天或 30 天),并非仅计算这一小时内的可用率。- 当前状态
current.status为normal、degraded、incident或unknown:可用率达到goal为normal,达到minGoal但低于goal为degraded,低于minGoal为incident,缺少可用结果为unknown。 - SLO 已禁用、存在
groupBy分组或取数失败时,该 SLO 的状态返回unknown,dataState返回unavailable。请同时检查状态和数据完整性,不能仅根据 HTTP 成功判定服务正常。 - SLO 不存在、已删除或不属于当前工作空间时,整个请求失败。
请求例子¶
curl 'https://openapi.guance.com/api/v1/slo/runtime/list' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"sloUUIDs":["monitor_xxx"]}'
响应¶
响应使用公共响应结构,content 包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| asOf | integer | 本次查询使用的截止时间,单位为秒。 |
| data | array | 各 SLO 的结果;请通过 sloUUID 关联请求项,不依赖返回顺序。 |
| data[*].sloUUID | string | SLO UUID。 |
| data[*].current | object | 当前 SLA 状态,包含 status、dataState 和 updatedAt。 |
| data[*].runtime24h | object | 趋势对象,包含 startTime、endTime、dataState 和 points。起止时间为 asOf - 86400 和 asOf。 |
| data[*].runtime24h.points | array | 24 个趋势点,按时间升序排列。 |
| data[].runtime24h.points[].startTime | integer | 当前小时区间开始时间,单位为秒。 |
| data[].runtime24h.points[].endTime | integer | 当前小时区间结束时间,也是该趋势点的状态采样时刻,单位为秒。 |
| data[].runtime24h.points[].status | string | 该时刻的 SLA 状态,与 current.status 使用相同枚举。 |
| data[].runtime24h.points[].dataState | string | 该点的数据状态:complete、no_data 或 unavailable。 |
| data[].runtime24h.points[].availability | object | 统计周期的可用率信息,包含 value、dataState、updatedAt、startTime、endTime 和 dayRange;value 无可用结果时为 null。 |
availability.startTime/endTime 表示实际可用率统计周期,dayRange 为 7d 或 30d;它们与趋势点的一小时展示区间不同。updatedAt 为数据更新时间,缺少有效结果时可能为 null。