这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

sla.getsli

###描述

object sla.getsli(object parameters)

此方法允许计算服务水平指标 (SLI) 数据。

此方法适用于任何类型的用户。权限 调用方法可以在用户角色设置中撤销。请参阅 用户 角色 了解更多信息。

参数

(object) 包含 SLA ID、报告期和可选的参数 服务的 ID - 计算 SLI。

参数 类型 描述
slaid
(必填)
字符串 要为其返回可用性信息的服务 ID。
period_from 整型 报告 SLI 的开始日期(包含)。

可能的值:时间戳。
period_to 整型 报告 SLI 的结束日期(不包括)。

可能的值:时间戳。
periods 数组 报告的首选期间数。

可能的值:1-100
serviceids 字符串/数组 要为其返回 SLI 的服务的 ID。

时段划分

下面演示基于参数组合的返回周期切片的排列。

参数 描述
period_from period_to periods
- - - 根据 SLA 的生效日期,最后 20 个周期(包括当前周期)但未超过第一个可用周期。
- - 指定的 periods 参数指定的最后一个周期。
- 指定的 - 前20 个周期(包括当前周期)但不超过当前周期。
- 指定的 指定的 periods 参数指定的第一个周期,从specified date开始。
指定的 - - 前 20 个周期(包括当前周期)但不超过当前周期。
指定的 - 指定的 periods 参数指定的第一个周期,从specified date开始。
指定的 指定的 - 指定日期范围内的期间,但不超过 100 并且不超过基于 SLA 生效日期的第一个可用期间。
指定的 指定的 指定的 指定日期范围内的期间,但不超过指定的期间数,并且不超过基于 SLA 生效日期的第一个可用期间。

返回值

(object) 返回计算的结果

属性 类型 描述
periods 数组 报告期间的列表。

每个报告期间都表示为一个对象,包括:
- period_from - 报告期间的开始日期(时间戳)。
- period_to - 结束报告期间的日期(时间戳)。

期间按 period_from 字段升序排序。
serviceids 数组 报告期间的服务 ID 列表。

未定义列表的排序顺序。即使 serviceids 参数被传递给 sla.getsli 方法。
sli 数组 每个报告的期间和服务的 SLI 数据(作为二维数组)。

periods 属性的索引用作sli第一个 维度

serviceids 属性的索引用作sli 属性的second维度。

SLI 数据

每个报告期间和服务返回的 SLI 数据包括:

属性 类型 描述
uptime 整型 在计划的正常运行时间内服务处于 OK 状态的时间量,减去排除的停机时间。
downtime 整型 在计划的正常运行时间内服务处于_not OK_状态的时间量,减去排除的停机时间。
sli 浮点数 SLI(占总正常运行时间的百分比),基于正常运行时间和停机时间。
error_budget 整型 基于 SLI 和 SLO 的错误预算(以秒为单位)。
excluded_downtimes 数组 此报告期间排除的停机时间数组。

每个对象将包含以下参数:
- name - 排除的停机时间的名称。
- period_from - 开始日期和时间(含)排除的停机时间。
- period_to - 排除的停机时间的结束日期和时间(不包括)。

排除的停机时间按 period_from 字段升序排序。

示例

计算SLI

从 2021 年 11 月 1 日开始,在 ID 为“50、60 和 70”的服务上检索与 ID 为“5”的 SLA 相关联的 SLI,为期 3 个时段。

请求:

{
           "jsonrpc": "2.0",
           "method": "service.getsla",
           "params": {
               "slaid": "5",
               "serviceids": [
                   50,
                   60,
                   70
               ],
               "periods": 3,
               "period_from": "1635724800"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": {
               "periods": [
                   {
                       "period_from": 1635724800,
                       "period_to": 1638316800
                   },
                   {
                       "period_from": 1638316800,
                       "period_to": 1640995200
                   },
                   {
                       "period_from": 1640995200,
                       "period_to": 1643673600
                   }
               ],
               "serviceids": [
                   50,
                   60,
                   70
               ],
               "sli": [
                   [
                       {
                           "uptime": 1186212,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": [
                               {
                                   "name": "Excluded Downtime - 1",
                                   "period_from": 1637836212,
                                   "period_to": 1638316800
                               }
                           ]
                       },
                       {
                           "uptime": 1186212,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": [
                               {
                                   "name": "Excluded Downtime - 1",
                                   "period_from": 1637836212,
                                   "period_to": 1638316800
                               }
                           ]
                       },
                       {
                           "uptime": 1186212,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": [
                               {
                                   "name": "Excluded Downtime - 1",
                                   "period_from": 1637836212,
                                   "period_to": 1638316800
                               }
                           ]
                       }
                   ],
                   [
                       {
                           "uptime": 1147548,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": [
                               {
                                   "name": "Excluded Downtime - 1",
                                   "period_from": 1638439200,
                                   "period_to": 1639109652
                               }
                           ]
                       },
                       {
                           "uptime": 1147548,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": [
                               {
                                   "name": "Excluded Downtime - 1",
                                   "period_from": 1638439200,
                                   "period_to": 1639109652
                               }
                           ]
                       },
                       {
                           "uptime": 1147548,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": [
                               {
                                   "name": "Excluded Downtime - 1",
                                   "period_from": 1638439200,
                                   "period_to": 1639109652
                               }
                           ]
                       }
                   ],
                   [
                       {
                           "uptime": 1674000,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": []
                       },
                       {
                           "uptime": 1674000,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": []
                       },
                       {
                           "uptime": 1674000,
                           "downtime": 0,
                           "sli": 100,
                           "error_budget": 0,
                           "excluded_downtimes": []
                       }
                   ]
               ]
           },
           "id": 1
       }

来源

ui/include/classes/api/services/CSla.php 中的 CSla::getSli()